SviluppoPagamento protettoDettagli
- Le revisioni previste dal pacchetto sono gratuite.
- Se non risponde entro 3 giorni dalla consegna, il lavoro viene accettato automaticamente.
Il denaro viene riservato al momento del pagamento e sbloccato solo quando accetta il lavoro.

Esempio di risultato
Unire i file mensili delle vendite di 9 negozi in un unico report Excel
Come si esegue
python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO Cartella: sales/2026-10, 9 file trovati
2026-11-02 09:14:03 INFO shop-01.csv: 1.284 righe
2026-11-02 09:14:04 INFO shop-02.xlsx: 967 righe
2026-11-02 09:14:04 WARN shop-07.csv: saltate 3 righe senza prezzo (righe 88, 412, 913)
2026-11-02 09:14:05 INFO Fatto: 10.412 righe -> report-2026-10.xlsx (fogli "Vendite" e "Totali")
Impostazioni, non codice
I nomi delle colonne di ogni negozio si trovano in settings.ini, quindi un nuovo negozio o una colonna rinominata è una riga lì:
[columns]
date = Data, Data vendita, Giorno
product = Prodotto, Articolo, Descrizione
quantity = Q.tà, Quantità, Pz
price = Prezzo, Prezzo unitario
Una parte del codice
def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
"""Legge il file di un negozio e gli dà i nomi di colonna del report."""
table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
renamed = {}
for name, variants in columns.items():
found = next((c for c in table.columns if c.strip() in variants), None)
if found is None:
raise ReportError(f"{path.name}: nessuna colonna per '{name}' (cercate: {', '.join(variants)})")
renamed[found] = name
table = table.rename(columns=renamed)[list(columns)]
table["shop"] = path.stem
return table
File: un archivio ZIP con merge_sales.py (310 righe), settings.ini, requirements.txt e un README su come installare Python, eseguire lo script e cosa significa ogni messaggio del registro. Il cliente lo esegue sul proprio computer.
Cliente: una piccola catena di 9 cartolerie; ogni negozio invia le vendite del mese in un file CSV o Excel, con nomi di colonna leggermente diversi. Compito: un unico script che legge tutti i file di una cartella, porta le colonne a una stessa forma e scrive un solo report Excel con tutte le vendite e un foglio di totali per negozio.
Il cliente e tutti i dati sono inventati.
Informazioni sul servizio
Se il suo negozio o sito di prenotazioni va giù di notte, potrebbe scoprirlo solo la mattina da un cliente. Questo script Python apre ogni pochi minuti le pagine che elenca e le invia un'email quando una smette di rispondere, restituisce un errore o, dallo Standard, si carica senza una parola che deve esserci, come il pulsante Aggiungi al carrello. Riprova prima di dare l'allarme, così una singola risposta lenta non la sveglia, e le riscrive quando il sito torna online. Le email partono dal suo account di posta; la password di invio la inserisce lei nelle impostazioni. Lo esegua su un computer o server sempre acceso e diverso da quello che ospita il sito, altrimenti si spegne insieme al sito. Le segnala un problema; non lo risolve.
Cosa è incluso
- Cosa riceveUn archivio ZIP con lo script Python, un README con le istruzioni passo passo e, dallo Standard, un file di impostazioni con indirizzi e parametri della posta; il codice è visibile anche nella pagina dell'ordine.
- Giù e di nuovo suUn'email quando si guasta, una quando torna
- Niente falsi allarmiRiprova prima di scriverle
- Controllo del contenuto della paginaDallo Standard, una parola che deve essere sulla pagina
- Dalla sua casellaIl suo account di posta, password fuori dal codice
- Codice leggibileCon commenti, facile aggiungere una pagina in seguito
Come funziona
- 1CompitoLei elenca le pagine da tenere d'occhio e dove inviare gli avvisi
- 2CodiceScriviamo lo script e la guida per eseguirlo
- 3Lo proviLo esegue con una pagina inesistente per vedere arrivare un avviso
- 4ModificheChiede modifiche nei limiti del pacchetto e invia eventuali messaggi di errore
Cosa ci serve da lei
Gli indirizzi da controllare (homepage, carrello, pagina di prenotazione), ogni quanto controllarli e, dallo Standard, una parola o frase che ogni pagina deve mostrare. Dove devono arrivare gli avvisi e quale account di posta li invia (ci basta il nome del suo provider per descriverne le impostazioni di invio; la password la inserisce lei). Dove girerà lo script: un computer sempre acceso o un server, con il suo sistema (Windows, macOS o Linux).
Le chiederemo:
- Quali pagine deve controllare?
- Ogni quanto, e cosa significa giù?
- Dove devono arrivare gli avvisi?
- Dove verrà eseguito?
Confronto dei pacchetti
| Pacchetti | BaseUn sito, un avviso15 € | StandardControlli con impostazioni30 € | PremiumStrumento di uptime60 € |
|---|---|---|---|
| Tempi di consegna | 1 giorno | 2 giorni | 3 giorni |
| Revisioni | 1 | 2 | 3 |
| Codice | fino a 150 righe | fino a 400 righe | fino a 1.000 righe |
| File di codice | 1 | fino a 3 | fino a 8 |
| File di impostazioni | No | Sì | Sì |
| Messaggi di errore chiari e un log | No | Sì | Sì |
| Opzioni di avvio e una guida per eseguirlo a orari programmati | No | No | Sì |
| Guida all'installazione e all'avvio (README) | Sì | Sì | Sì |
| Linguaggio | Python | Python | Python |
| Ordina Base | Ordina Standard | Ordina Premium |
Pagamento protetto
Paga al momento dell'ordine, ma il denaro viene sbloccato solo per un lavoro accettato.
- Prezzo fissoIl prezzo del pacchetto non cambia dopo il pagamento.
- Il denaro viene riservatoAl pagamento, l'importo viene solo riservato. Passa a Dleex quando accetta il lavoro.
- Verificato prima della consegnaOgni risultato passa un controllo di qualità prima di arrivare a lei, e lo vede nella pagina dell'ordine prima di accettarlo.
- Revisioni gratuiteRichieda revisioni nell'ambito del suo brief tante volte quante ne prevede il pacchetto.
- Accettazione dopo 3 giorniSe entro 3 giorni dalla consegna non accetta il lavoro né richiede una revisione, il lavoro viene accettato automaticamente. Se scrive nella chat dell'ordine dopo la consegna, l'ordine resta in attesa; dopo la nostra risposta potremmo far ripartire i 3 giorni e glielo indicheremo nella chat.
- Rifacimento o rimborso totaleSe il risultato non corrisponde al suo brief e le revisioni non hanno risolto il problema, oppure il lavoro richiede più del doppio dei tempi di consegna previsti, scriva nella chat dell'ordine: rifaremo il lavoro o le rimborseremo l'intero pagamento.
Domande e risposte
Dove devo eseguirlo?
Su una macchina sempre accesa e separata dal sito, come un computer dell'ufficio, un mini server di casa o un piccolo server in affitto. Se gira sullo stesso server del sito, va giù con lui e non può avvisarla.
Può inviare un SMS invece di un'email?
Questa offerta invia email. Molti smartphone possono mostrare un'email come notifica; un messaggio verso un servizio con API pubblica può essere aggiunto nei limiti del pacchetto, con la sua chiave nelle impostazioni.
Controllerà la velocità o la sicurezza del mio sito?
Misura quanto tempo impiega ogni pagina a rispondere e, nel Premium, avvisa oltre il limite che imposta. Non testa la sicurezza, non cerca virus e non accede alle pagine di amministrazione.
Quante email può inviare?
Scrive solo quando qualcosa cambia: una volta quando una pagina non risponde e una volta quando torna, quindi resta ben entro i limiti di invio del suo servizio di posta.
Non hai trovato la risposta?


