[Python] migrazione da msaccess a python

Y3s y3s a katamail.com
Gio 30 Ago 2007 15:41:15 CEST


Il giorno 30/ago/07, alle ore 15:17, Daniele Varrazzo ha scritto:

>
>
> On Thu, 30 Aug 2007 13:32:09 +0200, Y3s <y3s a katamail.com> wrote:
>>
>> Il giorno 30/ago/07, alle ore 13:03, Marco ha scritto:
>>
>>> Ciao sto anche io facendo un lavoro del genere per la mia azienda
>>> ma non è affatto facile.
>>> Per quanto access sia una schifezza, come dicono tanti,  permette
>>> personalizzazioni molto veloci a livello di query o report.
>>> Python al contrario ti permetterà sicuramente una maggiore  e una
>>> migliore gestione a livello di linguaggio e di sicurezza dei dati,
>>> indipendentemente se ti basi su mysql o altri.
>>> Se però ti chiedono una qry al volo o un report  non ci metterei
>>> senz'altro i 10 min che ci mettevi prima a crearlo dal  nulla.
>>
>> Non sono per niente d'accordo, anzi in python (avendo strutturato
>> bene il tutto) è ancora più semplice. Apri il file (file di testo,
>> che puoi aprire in situazioni di emergenza con notepad), scrivi la
>> query, la associ al pulsante, menu o quello che è ed è fatto. Per i
>> report, al momento in effetti strumenti comodi non ce ne sono ma
>> idem, se hai creato un'infrastruttura ben fatta (ad esempio dei
>> template per reportlab), non ci vorranno 10 minuti, ma in 15 hai
>> fatto...ed è un lavoro molto più pulito e stabile direi!
>
> Tu come li fai i template in reportlab?
>

Per "template" intendevo un "modello". In genere le tipologie di  
report che si usano in un'applicazione sono poche. Una volta che hai  
coperto in modo per te soddisfacente i casi che ti interessano, è  
rapido e veloce modificare la classe, la funzione, o qualunque cosa  
usi per generare l'output per adattarla al nuovo report.

> Io ho avuto successo solo usando una versione patchottata di un  
> parser RML
> "bootleg" che trovai abbandonato da qualche parte nel web (per avere
> RML2PDF devi comprare il "ReportLab Enterprise Publishing and  
> Reporting
> Server"... e il nome dice tutto su quanto te lo vogliono far  
> pagare), e
> anche allora quello che ho avuto è stato un linguaggio per fare *i
> report*, non *i template*: questi ultimi me li sono fatti con  
> Cheetah che
> genera RML che genera PDF - un altro strato di roba da imparare.  
> Alla fine
> va, ma è veramente un hack che non me la sentirei di consigliare a  
> cuor
> leggero.
>
> Hai una soluzione più pulita di questa? Sarei felice di conoscerla. Se
> no... direi che promettere a qualcuno che farà report "non in 10  
> minuti ma
> in 15 sì" mi sembra un po' grossa.
>

Al momento no, ma ci sto lavorando. Purtroppo il tempo è sempre poco.
C'è openreport (o comunuque si chiami, non ricordo, comunque quello  
che usa tinyERP) che più o meno dovrebbe fare quello che fai tu, ma  
in modo un po'più integrato.
Comunque, si parlava di "query al volo o report", quindi davo per  
scontato che il grosso del lavoro sia già stato fatto. In tal caso,  
non ci vuole molto ad adattare un report che già hai per creare  
qualcosa di nuovo che, ripeto, nel 90% dei casi sarà molto simile  
come struttura a uno che già hai. Inoltre, ho specificato che *avendo  
strutturato bene l'applicazione* e *avendo creato un'infrastruttura  
adeguata* la modifica al volo è un'operazione semplice e rapida,  
certo partendo da zero il tempo necessario è maggiore...almeno  
all'inizio, visto che molto del codice che vai a scrivere la prima  
volta, lo riutilizzerai quasi sicuramente le volte successive...

> Access è ottimale per una certa classe di applicazioni: se (e solo  
> se) si
> è ossequiosi verso il suo paradigma, consente di fare applicativi -  
> male -
> ma velocemente. In Python le cose si possono fare bene, si è liberi  
> sul
> paradigma di accesso ai dati, si possono fare anche certe cose
> velocemente... ma non le stesse che si fanno con Access altrettanto
> velocemente.
>

Se l'obiettivo è avere un'applicazione che funziona in poco tempo, se  
non si è interessati alla qualità del codice, se non ci si preoccupa  
troppo della manutenzione e dell'espandibilità, se si vuole correre  
il rischio che con la nuova versione dell'applicativo il tuo  
programma non funzioni più, allora si, Access è un ottimo strumento.  
Troppi se per i miei gusti, ma...
Io continuo a pensare che una volta che ti sei costruito un insieme  
di moduli adatti alle tue esigenze, sviluppare in python non è molto  
più lento che farlo con access o altro. Il grosso del tempo lo perdi  
solo una volta. Ovviamente è una mia opinione, eh!


--
Antonio Valente




Maggiori informazioni sulla lista Python