Wednesday, March 27, 2024

Hidden APIs

www.synonyms.com from Wordnet

curl 'https://www.synonyms.com/gw.php' --compressed -X POST -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'Accept-Language: en-US,en;q=0.7,ro;q=0.3' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/x-www-form-urlencoded' -H 'X-Requested-With: XMLHttpRequest' -H 'Origin: https://www.synonyms.com' -H 'DNT: 1' -H 'Sec-GPC: 1' -H 'Connection: keep-alive' -H 'Referer: https://www.synonyms.com/synonym/download' -H 'Sec-Fetch-Mode: cors' -H 'Sec-Fetch-Site: same-origin' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache' -H 'TE: trailers' --data-raw 'action=get_vis_syn&term=downtown'

Response: {"id":"_root_","name":"downtown","children":[{"id":159594131,"name":"","children":[{"id":295258892,"name":"business district","children":[],"data":{"$type":"circle","$dim":15,"is_synset_node":false,"$color":"#BCE099"}}],"data":{"definition":"the central area or commercial center of a town or city","synonymno":46309,"is_synset_node":true,"$color":"#BCE099"}}],"data":{"$type":"triangle","$color":"#CCC","$dim":15,"is_synset_node":true}}

vocabulary.com / random corpus examples

https://corpus.vocabulary.com/api/1.0/examples/random.json?maxResults=64&query=downtown&startOffset=0

https://termic.me - https://termic.me/?q=cancel out&sl=en_us&tl=ro_ro&o=unexact_match&rc_gl=25&rc_tm=25&cs=0&p=2020+

curl 'https://termic.me/' -X POST -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0' -H 'Accept: application/json' -H 'Accept-Language: en-US,en;q=0.7,ro;q=0.3' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'X-Requested-With: XMLHttpRequest' -H 'Origin: https://termic.me' -H 'DNT: 1' -H 'Sec-GPC: 1' -H 'Connection: keep-alive' -H 'Referer: https://termic.me/?q=cancel+out&sl=en_us&tl=ro_ro&o=unexact_match&rc_gl=25&rc_tm=25&cs=0&p=2020%2B' -H 'Sec-Fetch-Dest: empty' -H 'Sec-Fetch-Mode: cors' -H 'Sec-Fetch-Site: same-origin' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache' --data-raw '{"term":"cancel out","source_lang":"en_us","target_lang":"ro_ro","result_count_gl":"25","result_count_tm":"25","search_option":"unexact_match","case_sensitive":"0","modes":["glossary","tm"],"data_period":"2020+"}'

Leo.org

https://dict.leo.org/dictQuery/m-query/conf/ende/query.conf/strlist.json?q=Katze&shortQuery&noDescription&sideInfo=on&where=both&term=Katze

https://dict.leo.org/dictQuery/m-vocab/ende/query.xml?search=Katze

https://dict.leo.org/dictQuery/m-vocab/ende/query.xml?lp=ende&lang=en&side=both&order=basic&partial=show&sectLenMax=16&n=1&filtered=-1&trigger=1&search=Katze

Monday, March 25, 2024

Extract source file embedded in sdlxliff with Python

import base64
import sys
import xml.etree.ElementTree as ET
import re

def convert(doc_text, file_out):
    with open(file_out, 'wb') as o:
        for line in doc_text.split('\r\n'):
            str = base64.b64decode(line)
            o.write(bytes(str))

def extract(file_in):
    tree = ET.parse(file_in)
    root = tree.getroot()
    re_result = re.search('{(.+)}', root.tag)
    ns = re_result.group(1)
    counter = 0
    for doc in root.findall('.//{' + ns + '}internal-file'):
        file_out = file_in + '_' + str(counter) + '.zip'
        convert(doc.text, file_out)
        counter += 1
            
for arg in sys.argv[1:]:
    extract(arg)

 https://github.com/TomasoAlbinoni/sdlxliff_extractor

Tuesday, March 5, 2024

Barebone Quart API from Sqlite DB

import asyncio
import sqlite3
from quart import Quart

app = Quart(__name__)

async def connect_db():
    conn = sqlite3.connect("your_database.db")
    conn.row_factory = sqlite3.Row
    return conn

async def fetch_data(column1):
    async with connect_db() as conn:
        cursor = conn.cursor()
        cursor.execute("SELECT ?, column2 FROM your_table", (column1,))
        data = cursor.fetchall()
    return [dict(row) for row in data]

@app.route("/api/data/<column_name>")
async def get_data(column_name):
    data = await fetch_data(column_name)
    return data  # Return the list of dictionaries directly

if __name__ == "__main__":
    app.run(debug=True)

Here, the get_data function directly returns the list of dictionaries obtained from the database, and Quart automatically handles the serialization to JSON format before sending the response.

However, using jsonify offers some advantages:

  • Consistency: It provides a consistent way to handle different data structures, ensuring they are all converted to JSON format correctly.
  • Customization: It allows for additional options like specifying status codes, setting custom headers, or customizing the JSON serialization if needed.

Therefore, while jsonify isn't strictly required in this case, it can improve code clarity and maintainability, especially for larger projects or when dealing with diverse data structures.

or with jsonify (not necessary)

import asyncio
import sqlite3
from quart import Quart, jsonify

app = Quart(__name__)

async def connect_db():
    conn = sqlite3.connect("your_database.db")
    conn.row_factory = sqlite3.Row
    return conn

async def fetch_data(column1):
    async with connect_db() as conn:
        cursor = conn.cursor()
        cursor.execute("SELECT ?, column2 FROM your_table", (column1,))  # Dynamic query
        data = cursor.fetchall()
    return [dict(row) for row in data]

@app.route("/api/data/<column_name>")
async def get_data(column_name):
    data = await fetch_data(column_name)
    return jsonify(data)

if __name__ == "__main__":
    app.run(debug=True)

How to Use:

Now, you would access the API by providing the first column name as part of the URL. For example:

  • /api/data/name (assuming the first column is named "name")
  • /api/data/age (assuming the first column is named "age")

Informații E-Factura

Ministerul Finanţelor anunţă lansarea versiunii simplificate a aplicaţiei e-Factura. Ministrul de resort, Marcel Boloş, spune că aceasta este în primul rând utilă celor aproximativ 670.000 contribuabili mici care au nevoie de un format gratuit şi uşor de folosit.

”În continuarea eforturilor de digitalizare şi simplificare a procedurilor fiscale, Ministerul Finanţelor anunţă lansarea versiunii simplificate a aplicaţiei e-Factura”, anunţă ministerul, potrivit News.ro

Versiunea îmbunătăţită vine cu o interfaţă intuitivă şi funcţionalităţi mai uşor de utilizat, astfel încât fiecare utilizator să poată emite facturi în conformitate cu cerinţele fiscale într-un mod rapid şi eficient.

„Aşa cum am mai spus, fiecare îmbunătăţire adoptată a ţinut cont de nevoile semnalate de contribuabili. Am tot avut întâlniri cu reprezentaţii mediului de afaceri şi una dintre solicitările lor a fost aceasta. Versiunea simplificată a aplicaţiei e-Factura vine cu o serie de avantaje şi funcţionalităţi care vor face gestionarea facturilor mai uşoară şi mai accesibilă pentru toţi utilizatorii. Ne-am gândit în primul rând la cei aproximativ 670.000 contribuabili mici care trebuie să utilizeze sistemul şi au nevoie de o aplicaţie gratuită, intuitivă şi uşor de folosit. De asemenea, aplicaţia extinsă este acum disponibilă şi în limba engleză, urmând ca în perioada următoare să fie tradusă şi cea simplificată”, a explicat ministrul Marcel Boloş.

Aplicaţia web de completare a facturii într-un format simplificat răspunde solicitărilor venite din partea micorintreprinderilor, ce nu utilizează în mod curent elemente operaţionale complexe.

A fost redesenată pentru a include automat ghidaje (i.e. codul tipului facturii este prestabilit la 380, codul monedei este exclusiv RON) şi bife pentru a afişa elementele de identificare obligatorii în funcţie de categoria de plătitor de TVA.

Au fost restrânse nomenclatoarele de TVA la cele utilizate frecvent pentru tranzacţii domestice şi incluse procentele de taxă sub format selectabil.

De asemenea, o nouă facilitate importantă adăugată sistemului este aplicaţia extinsă în limba engleză pentru contribuabilii nerezidenţi înregistraţi în scopuri de TVA ce au obligaţia de raportare a facturilor emise pentru livrări/prestări pe teritoriul României.

În situaţia în care sistemul naţional privind factura electronică RO e-Factura nu este funcţional timp de minimum 24 de ore, obligaţia de transmitere prevăzută la art.10 alin.(1) din Ordonanţa de urgenţă a Guvernului nr.120/2021 se suspendă până la repunerea în funcţiune a sistemului.

Termenul-limită pentru transmiterea facturilor emise, pentru livrările de bunuri şi prestările de servicii care au locul livrării sau prestării în România, în sistemul naţional privind factura electronică RO e-Factura este de 5 zile lucrătoare (n.r. de la 1 iulie sunt 5 zile calendaristice) de la data emiterii facturii, dar nu mai târziu de 5 zile lucrătoare de la data-limită prevăzută pentru emiterea facturii la art.319 alin.(16) din Codul fiscal.

În perioada 1 ianuarie - 31 martie 2024, nerespectarea termenului limită pentru transmiterea facturilor în sistemul naţional privind factura electronică RO e-Factura nu se sancţionează.

e-Factura va fi mai ușor de folosit, spune ANAF, care face o aplicație care se adresează afacerilor mici, cu puține facturi pe lună. Aplicația poate fi accesată de marți dimineață, 5 martie 2024.

„Cuprinde doar elementele informaționale de bază, face în mod automat și selecția tipului de factură. Pentru că se agresează atât categoriei, cât și celor neplătitori de TVA. Se aplică o bifă, practic este intuitiv aici, nu mai este lăsat la libera alegere”.

Aplicația simplificată e-Factura a fost creată pentru cele peste 400.000 de afaceri mici, care emit puține facturi pe lună și nu au nevoie de informații suplimentare, cum ar fi referințe de lot sau de comandă pentru produse. Doar elementele obligatorii. Astfel că nu va fi nevoie de un soft diferit de facturare, iar procesul va dura foarte puțin, spun reprezentanții ANAF.

Aplicația va fi disponibilă pe site-ul Ministerul de Finanțe și va avea un buton separat, dar rămâne și aplicația obișnuită e-Factura.

„Numărul lor este destul de consistent, mai ales al celor care încă nu înțeleg că trebuie să utilizeze e-Factura și din calculele noastre undeva între 150.000 și 200.000. Aceștia sunt primii care vor primit aceste note de conformare. În caz contrar, riscă amenzi”. Până pe 31 martie, cei care nu transmit facturi în noul sistem nu vor fi sancționați. Ministerul analizează acum posibilitatea ca acest termen de grație să se amâne până pe 1 iulie, însă nu a fost luată o decizie până acum.

-----

De la 1 ianuarie 2024 în relaţia business-to-business (B2B), până în prezent, aproximativ 40 milioane de facturi au fost înregistrate cu succes în sistemul e-Factura, în valoare totală de 397 miliarde de lei.

Un aspect important pe care l-au semnalat contribuabilii a fost imposibilitatea accesării sistemului în situaţiile în care au loc lucrări de mentenanţă la nivelul Spaţiului Privat Virtual (SPV). În acest sens, utilizarea e-Factura se poate face acum direct de pe site-ul ANAF. Trebuie însă ca utilizatorul să aibă cont în SPV, unde s-a înregistrat în baza certificatului digital.

Potrivit comunicatului de pe site-ul ministerului, în situaţia în care sistemul naţional privind factura electronică RO e-Factura nu este funcțional timp de minimum 24 de ore, obligația de transmitere prevăzută la art.10 alin.(1) din Ordonanţa de urgenţă a Guvernului nr.120/2021 se suspendă până la repunerea în funcţiune a sistemului.

Termenul-limită pentru transmiterea facturilor emise, pentru livrările de bunuri și prestările de servicii care au locul livrării sau prestării în România, în sistemul național privind factura electronică RO e-Factura este de 5 zile lucrătoare (n.r. de la 1 iulie sunt 5 zile calendaristice) de la data emiterii facturii, dar nu mai târziu de 5 zile lucrătoare de la data-limită prevăzută pentru emiterea facturii la art.319 alin.(16) din Codul fiscal.

În perioada 1 ianuarie - 31 martie 2024, nerespectarea termenului limită pentru transmiterea facturilor în sistemul național privind factura electronică RO e-Factura nu se sancționează.

-----

Ultima noutate în ce privește e-Factura este că în sfârșit se poate face automat conversia din XML în PDF, printr-o simplă apăsare de buton. Ministrul a insistat mult pentru asta. Până acum conversia se făcea manual, iar Finanțele au raportat și un milion de facturi pe zi. Sursele noastre din Ministerul Finanțelor spun că îmbunătățirile pentru această schimbare majoră de sistem de raportare a facturilor, care a luat pe toată lumea prin surprindere, se realizează constant.

Trecerea la sistemul unic de raportare a facturilor în mediu electronic la ANAF a întâmpinat o serie de probleme în aplicare, de la 1 ianuarie, când e-Factura a devenit obligatorie în relațiile comerciale dintre firme.

E-Factura se aplică încă din 2022 pe relația firme - guvern. Dacă firmele mari sau cele care au business cu statul erau obișnuite cu birocrația și au găsit soluții să folosească sistemul așa cum a fost făcut inițial, trecerea la acest sistem pentru toate firmele a arătat slăbiciuni ale acestuia.

A fost introdusă autofacturarea. Apoi, conform unui comunicat transmis de Ministerul Finanțelor, începând cu 16 ianuarie 2024, sistemul e-Factura nu va mai permite introducerea facturilor duplicat. Această măsură vine să crească acuratețea și integritatea datelor înregistrate în sistem.
După încărcarea facturii fără Spațiul Privat Virtual, s-a mai introdus filtrarea pe categorii. Furnizorii de servicii de contabilitate au cerut să poată filtra facturile în baza anumitor criterii specifice. Această facilitate a fost introdusă printr-o modificare la apelul de listă facturi disponibile de la serviciile web apelabile automat prin API.

În final, a fost introdusă conversia automată din XML în PDF

e-Factura

a devenit obligatorie de la 1 ianuarie 2024. Nedepunerea ei în sistemul ANAF nu produce încă efecte, dar ar putea fi sancționată cu amendă, de la 1 aprilie.  De la 1 iulie, toate facturile dintre firme se vor transmite explusiv prin acest sistem. În jur de 120.000 de firme au depus până acum e-Factura, dintr-un total de aproximativ 700.000.
 
20.03.2024 - Până în 31 mai, ca urmare a faptului că încă sunt 74.000 de plătitori de TVA care nu folosesc e-Factura. Vor primi notificări. Cu data de 1 iulie amenda este de 15% din valoarea facturii, a spus Marcel Boloș, ministrul Finanțelor. Perioada în care nu sunt aplicate sancțiuni pentru nerespectarea obligației de a transmite facturile emise și în sistemul e-Factură  va fi extinsă până la 31 mai, a spus ministrul Finanțelor, Marcel Boloș pentru profit.ro.Marcel Boloș, ministrul Finanțelor, lua deja în calcul o potențială amânare a termenului de la care încep să fie aplicate sancțiuni pentru neraportarea și în sistemul eFactura a facturilor emise, în termenul de 5 zile stabilit.

Ministerul Finanțelor analiza situația e-Factura și lua în calcul o potențială amânare a termenului de la care încep să fie aplicate sancțiuni pentru neraportarea și în sistemul eFactura a facturilor emise. Până acum, sancțiunile erau suspendate până la 1 aprilie.

În sistemul e-Factura sunt raportate în prezent aproximativ o treime din numărul total de facturi la care estimează autoritățile că trebuie să se ajungă, dacă raportează toți cei care au obligația.

Până în 31 mai, ca urmare a faptului că încă sunt 74.000 de plătitori de TVA care nu folosesc e-Factura. Vor primi notificări. Cu data de 1 iulie amenda este de 15% din valoarea facturii, a spus Marcel Boloș, ministrul Finanțelor. Perioada în care nu sunt aplicate sancțiuni pentru nerespectarea obligației de a transmite facturile emise și în sistemul e-Factură va fi extinsă până la 31 mai, a spus ministrul Finanțelor, Marcel Boloș pentru profit.ro. Marcel Boloș, ministrul Finanțelor, lua deja în calcul o potențială amânare a termenului de la care încep să fie aplicate sancțiuni pentru neraportarea și în sistemul eFactură a facturilor emise, în termenul de 5 zile stabilit. Ministerul Finanțelor analizea situația e-Factura și lua în calcul o potențială amânare a termenului de la care încep să fie aplicate sancțiuni pentru neraportarea și în sistemul eFactură a facturilor emise. Până acum, sancțiunile erau suspendate până la 1 aprilie. În sistemul e-Factura sunt raportate în prezent aproximativ o treime din numărul total de facturi la care estimează autoritățile că trebuie să se ajungă, dacă raportează toți cei care au obligația.

Citește mai mult la: https://www.digi24.ro/digieconomic/financiar/decizie-bolos-nu-se-mai-dau-amenzi-pentru-e-factura-de-la-1-aprilie-13691

Informaţiile publicate pe site-ul Digi Economic pot fi preluate, în conformitate cu legislația aplicabilă, doar în limita a 120 de caractere.

-----