Re: [Python] Gestionale fatto in casa
Cmq, anche se non centra molto con python ma ormai la discussione si è spostata su "gestionali"... ho visto in libreria un cofanetto a 59.90€ con "Gestionale 2.0" e StarOffice nel prezzo. Varrebbe la pena provarlo... IHMO. Il giorno 15 aprile 2009 22.48, Enrico Franchi ha scritto: > > On Apr 15, 2009, at 10:11 PM, Alessandro wrote: > > > Ora, imho, a pelle preferisco la shell (il "buco nero"..) anche se il > > web è più "portabile" ma entrambi, dal punto di vista dell'utonto, > > sono > > qualche ordine di grandezza meno fruibili e intuitivi rispetto a una > > gui > > fatta bene. > > Ma assolutamente no. > ___ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python > -- Vittorio Zuccalà ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Webapp per database in CGI
Il giorno mer, 15/04/2009 alle 17.54 +0200, Manlio Perillo ha scritto: > Pietro Battiston ha scritto: > > Salve a tutti, > > devo sviluppare un'applicazione web che consista "semplicemente" nella > > visualizzazione di dati da un database, nel suo aggiornamento e nella > > produzione di report pdf. > > > > So che se chiedessi un consiglio su che framework usare scatenerei un > > flame, ma "per fortuna" ho un vincolo che restringe sensibilmente le > > possiblità: l'applicazione deve essere ospitata su Aruba, per cui deve > > lavorare in modalità CGI. > > > > Django può essere fatto girare su CGI. > > > Ora: so che questo non è il modo standard né raccomandato di fare web > > app in python, > > Dove lo hai letto? ehm... per esempio nella risposta di Marco (tra le righe)! ma anche in qualche paginetta qua e là (ad esempio molte, come te, consigliavano almeno WSGI) > > quindi la mia soluzione di fallback è che semplicemente > > mi scrivo tutto da zero; ho già fatto qualche esperimentino e sarebbe un > > lavoro lunghetto ma assolutamente fattibile. > > > > Ti consiglio almeno un framework WSGI minimale. Mi sembrava di avere capito che il WSGI avesse bisogno comunque di processi che girano continuamente, e che in genere gli hosting non te lo permettono... (ho fatto anche qualche prova con esito negativo, ma data la mia inesperienza questo vuol dire poco) Comunque l'ultimissimo dei miei problemi è l'efficienza (il database potrà essere anche grossino, ma sicuramente l'applicazione non sarà utilizzata intensivamente). > > > Se però avete qualche libreria da consigliarmi (fondamentalmente un > > layer comodo per lavorare su mask via html e/o http), sono tutt'occhi. > > > > Che intendi con "lavorare su mask"? Beh, ammetto che se le parole sono vaghe è perché lo sono ancora un po' le idee nella mia mente. Però ad esempio, se il lavoro lo dovrò fare da zero, dato il mio database, per rappresentare gli elementi di una tabella in html mi farò una libreria in cui l'oggetto fondamentale è il "campo", di cui ogni istanza è associata ad una particolare colonna di una particolare tabella, ad una sua rappresentazione in html e ad una modalità di aggiornamento via POST... e per la rappresentazione in html, a sua volta, prevederò diverse possibilità (una stringa può essere ad inserimento libero, oppure con un menu...). A quel punto una pagina in html sarebbe semplicemente la composizione di una serie di campi. Un minimo di astrazione del genere la dovrei fare comunque perché scrivere un po' di html non mi scoccia, ma vorrei invece che il giorno in cui aggiungessi una nuova colonna ad una tabella del database l'aggiungerla anche all'interfaccia fosse automatico o quasi. Per questo chiedevo se una libreria del genere esiste. (il database sarà sqlite e forse - mi piace, ma non ho ancora deciso se ne vale la pena in questo caso - via sqlalchemy) Pietro ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Webapp per database in CGI
Pietro Battiston wrote: >>> Ora: so che questo non è il modo standard né raccomandato di fare web >>> app in python, >>> >> Dove lo hai letto? >> > > ehm... per esempio nella risposta di Marco (tra le righe)! > Beh, a parte i problemi di prestazioni e di latenza, se hai pochi utenti e il framework lo supporta, si puo' fare. > Un minimo di astrazione del genere la dovrei fare comunque perché > scrivere un po' di html non mi scoccia, ma vorrei invece che il giorno > in cui aggiungessi una nuova colonna ad una tabella del database > l'aggiungerla anche all'interfaccia fosse automatico o quasi. > Si', ma attento a non esagerare con le automagie. Altrimenti il programma si complica rapidamente. > (il database sarà sqlite e forse - mi piace, ma non ho ancora deciso se > ne vale la pena in questo caso - via sqlalchemy) > Ne vale sempre la pena :) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Webapp per database in CGI
On Wed, 2009-04-15 at 14:50 +0200, Marco Mariani wrote: > Pietro Battiston wrote: > > > So che se chiedessi un consiglio su che framework usare scatenerei un > > flame, ma "per fortuna" ho un vincolo che restringe sensibilmente le > > possiblità: l'applicazione deve essere ospitata su Aruba, per cui deve > > lavorare in modalità CGI. > > > > Allora, PHP. > ...che su Aruba (cosi' come buona parte degli hoster, noi compresi) gira come CGI + suexec. A livello di protocollo quindi sono la stessa cosa, quindi tanto vale che scelga quello che gli piace di piu'. L'unico consiglio che posso darti e' di usare il modulo python cgitb (al posto del cgi ) altrimenti potresti avere difficolta' a debuggare gli errori. A livello di sviluppo non c'e' molta differenza con gli altri motori/framework/protocolli (tolti i vari sistemi di routing e templating) che bene o male utilizzano tutti il paradigma CGI (o meglio le sue variabili) -- Roberto De Ioris http://unbit.it JID: robe...@jabber.unbit.it ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Webapp per database in CGI
Pietro Battiston ha scritto: > [...] > ma anche in qualche paginetta qua e là (ad esempio molte, come te, > consigliavano almeno WSGI) > WSGI, come CGI, è un protocollo tra il server HTTP e l'applicazione Python. >>> quindi la mia soluzione di fallback è che semplicemente >>> mi scrivo tutto da zero; ho già fatto qualche esperimentino e sarebbe un >>> lavoro lunghetto ma assolutamente fattibile. >>> >> Ti consiglio almeno un framework WSGI minimale. > > Mi sembrava di avere capito che il WSGI avesse bisogno comunque di > processi che girano continuamente, e che in genere gli hosting non te lo > permettono... > No. WSGI è molto più flessibile di CGI, e ci sono modi diversi di impiegarlo: 1) esiste un semplice wrapper per fornire l'API di WSGI sopra CGI. In questo modo ogni request WSGI è servita da un processo. 2) è possibile implementare WSGI direttamente nel server HTTP, e l'implementazione può scegliere di eseguire ciascuna request in un processo. Google App Engine fa qualcosa di simile a questo; ma non so darti maggiori dettagli, se viene al Pycon c'è un talk di Guido van Rossum a riguardo: http://www.pycon.it/conference/talks/google-app-engine-2 3) è possibile implementare WSGI direttamente nel server HTTP, in modo che l'applicazione Python venga eseguita all'interno del server stesso. Apache mod_wsgi e Nginx mod_wsgi fanno questo. 4) è possibile implementare WSGI in modo che lo scambio dati avvenga tramite un protocollo client server su TCP/IP. WSGI non definisce nessun protocollo di rete, ma puoi usare SCGI, FastCGI o altro (Unbit, ad esempio, ha sviluppato un suo protocollo). In questo caso l'applicazione Python viene eseguita da un "server WSGI", scritto in Python stesso. Come poi il server gestisca le richieste è un altro discorso. > (ho fatto anche qualche prova con esito negativo, ma data la mia > inesperienza questo vuol dire poco) > > Comunque l'ultimissimo dei miei problemi è l'efficienza (il database > potrà essere anche grossino, ma sicuramente l'applicazione non sarà > utilizzata intensivamente). > Ok, allora usa pure il wrapper WSGI sopra CGI. Lo trovi nel modulo wsgiref.handlers, nella libreria standard; oppure integrato nei vari framework WSGI, ad esempio http://werkzeug.pocoo.org/documentation/deploying >>> Se però avete qualche libreria da consigliarmi (fondamentalmente un >>> layer comodo per lavorare su mask via html e/o http), sono tutt'occhi. >>> >> Che intendi con "lavorare su mask"? > > Beh, ammetto che se le parole sono vaghe è perché lo sono ancora un po' > le idee nella mia mente. Però ad esempio, se il lavoro lo dovrò fare da > zero, dato il mio database, per rappresentare gli elementi di una > tabella in html mi farò una libreria in cui l'oggetto fondamentale è il > "campo", di cui ogni istanza è associata ad una particolare colonna di > una particolare tabella, ad una sua rappresentazione in html e ad una > modalità di aggiornamento via POST... e per la rappresentazione in html, > a sua volta, prevederò diverse possibilità (una stringa può essere ad > inserimento libero, oppure con un menu...). A quel punto una pagina in > html sarebbe semplicemente la composizione di una serie di campi. > > Un minimo di astrazione del genere la dovrei fare comunque perché > scrivere un po' di html non mi scoccia, ma vorrei invece che il giorno > in cui aggiungessi una nuova colonna ad una tabella del database > l'aggiungerla anche all'interfaccia fosse automatico o quasi. > Ci sono delle applicazioni WSGI che forniscono un API restful per accedere ad un database. Io ne ho una (ma sperimentale, ed incompleta): http://hg.mperillo.ath.cx/wsgix/file/tip/wsgix/contrib/sqltables/ Django fornisce una interfaccia web automatica ad un database; e mi sembra ci sia un altra applicazione che lo faccia e ora non mi viene in mente. > Per questo chiedevo se una libreria del genere esiste. > > (il database sarà sqlite e forse - mi piace, ma non ho ancora deciso se > ne vale la pena in questo caso - via sqlalchemy) > Ti consiglio sqlalchemy, è quello che ho usato io. Ciao Manlio ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Webapp per database in CGI
Il 16 aprile 2009 10.07, Pietro Battiston ha scritto: > Il giorno mer, 15/04/2009 alle 17.54 +0200, Manlio Perillo ha scritto: >> Pietro Battiston ha scritto: >> > Salve a tutti, >> > devo sviluppare un'applicazione web che consista "semplicemente" nella >> > visualizzazione di dati da un database, nel suo aggiornamento e nella >> > produzione di report pdf. Ciao, ma non e' che usare un semplice cgi, con i cheetaah template stile http://www.cheetahtemplate.org/ ti possa aiutare? Chiedo. -- Quiero ser el rayo de sol que cada día te despierta para hacerte respirar y vivir en me. "Favola -Moda". ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] Python e ms access
Ciao a tutti, devo leggere e creare una tabella in un db esistente di ms access. Per leggere i dati: s = odbc.odbc('dbodbc')# mi collego al DSN cur = s.cursor() cur.execute("select STORICO.COD_ANAG,STORICO.DAT_STOR,STORICO.COD_CAU1,\ STORICO.THM_ORA_1,STORICO.COD_CAU2,\ STORICO.THM_ORA_2,ANAG.DES_ANAG\ from STORICO inner join ANAG on STORICO.COD_ANAG=ANAG.COD_ANAG\ where STORICO.DAT_STOR >= ? and STORICO.DAT_STOR <= ?\ order by STORICO.COD_ANAG,STORICO.DAT_STOR",\ (self.dtx_reg_ini,self.dtx_reg_fin,)) rec = cur.fetchall() recuperati i dati devo creare e popolare una tabella, sempre in ms access: #se esiste distrugge la tabella try: cur.execute("DROP TABLE stm") except: print "La tabella stm non esiste!" #crea tabelle stm cur.execute("CREATE TABLE stm (\ id int(2) NOT NULL auto_increment,\ cod char(10) value '',\ dattim char(8) value '',\ causa char(4) value '',\ ore char(4) value ' ',\ causaex char(4) value '',\ oreex char(4) value '',\ nome char(30) value '',\ PRIMARY KEY (id),\ )") quì cominciano i problemi: 1- non distrugge la tabella stm, infatti esegue l'istruzione except 2-lo script si arresta con il seguente errore: Traceback (most recent call last): File "C:\Python24\Lib\site-packages\WCronos.py", line 171, in OnOkButton cur.execute("CREATE TABLE stm (\ dbi.program-error: [Microsoft][Driver ODBC Microsoft Access] Errore di sintassi nell'istruzione CREATE TABLE. in EXEC Qualcuno conosce la sintassi giusta per i comandi DROP e CREATE per i driver ODBC per msaccess? Grazie. giorgio ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Python e ms access
Il 16/04/09, giorgio ha scritto: > Ciao a tutti, > > > devo leggere e creare una tabella in un db esistente di ms access. > > Per leggere i dati: > > s = odbc.odbc('dbodbc')# mi collego al DSN > cur = s.cursor() > > cur.execute("select STORICO.COD_ANAG,STORICO.DAT_STOR,STORICO.COD_CAU1,\ > STORICO.THM_ORA_1,STORICO.COD_CAU2,\ > STORICO.THM_ORA_2,ANAG.DES_ANAG\ > from STORICO inner join ANAG on > STORICO.COD_ANAG=ANAG.COD_ANAG\ > where STORICO.DAT_STOR >= ? and STORICO.DAT_STOR <= ?\ > order by STORICO.COD_ANAG,STORICO.DAT_STOR",\ > (self.dtx_reg_ini,self.dtx_reg_fin,)) > rec = cur.fetchall() > > > recuperati i dati devo creare e popolare una tabella, sempre in ms access: > > > > #se esiste distrugge la tabella > try: > cur.execute("DROP TABLE stm") > except: > print "La tabella stm non esiste!" > #crea tabelle stm > cur.execute("CREATE TABLE stm (\ > id int(2) NOT NULL auto_increment,\ > cod char(10) value '',\ > dattim char(8) value '',\ > causa char(4) value '',\ > ore char(4) value ' ',\ > causaex char(4) value '',\ > oreex char(4) value '',\ > nome char(30) value '',\ > PRIMARY KEY (id),\ > )") > > > quì cominciano i problemi: > > 1- non distrugge la tabella stm, infatti esegue l'istruzione except > 2-lo script si arresta con il seguente errore: > Traceback (most recent call last): > File "C:\Python24\Lib\site-packages\WCronos.py", line 171, in OnOkButton >cur.execute("CREATE TABLE stm (\ > dbi.program-error: [Microsoft][Driver ODBC Microsoft Access] Errore di > sintassi nell'istruzione > CREATE TABLE. in EXEC > > > Qualcuno conosce la sintassi giusta per i comandi DROP e CREATE per i driver > ODBC per msaccess? La sintassi è la stessa. Qui il problema sta in come è impostata la stringa in Python, visto che la \ non la devi mettere (infatti l'errore sta in quello, se guardi bene). Prova a rompere le righe così: cur.execute("CREATE TABLE stm ( " "id int(2) NOT NULL auto_increment, " "cod char(10) value '', " "dattim char(8) value '', " "causa char(4) value '', " "ore char(4) value ' ', " "causaex char(4) value '', " "oreex char(4) value '', " "nome char(30) value '', " "PRIMARY KEY (id), " ")") Oppure con i triplici ": cur.execute("""CREATE TABLE stm ( id int(2) NOT NULL auto_increment, cod char(10) value '', dattim char(8) value '', causa char(4) value '', ore char(4) value ' ', causaex char(4) value '', oreex char(4) value '', nome char(30) value '', PRIMARY KEY (id), )""") HTH, Simone ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Python e ms access
On Thu, 16 Apr 2009 15:18:40 +0200, giorgio wrote: >cur.execute("CREATE TABLE stm (\ >id int(2) NOT NULL auto_increment,\ >cod char(10) value '',\ cosa sono questi value '' ? Non mi sembrano validi. forse DEFAULT? Non sono neanche sicuro che in access una stringa vuota possa essere usata in un campo, a meno che non la ammetta esplicitamente... ma non tocco access da almeno 5 anni. In generale mi sembra una cattiva idea e userei dei NULL. >dattim char(8) value '',\ >causa char(4) value '',\ >ore char(4) value ' ',\ >causaex char(4) value '',\ >oreex char(4) value '',\ >nome char(30) value '',\ >PRIMARY KEY (id),\ qui c'è una virgola di troppo. ^^^ >)") Poi non so se ci sono altri problemi. -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Python e ms access
On Thu, 16 Apr 2009 15:55:25 +0200, simozack wrote: > La sintassi è la stessa. Qui il problema sta in come è impostata la > stringa in Python, visto che la \ non la devi mettere (infatti > l'errore sta in quello, se guardi bene). Non credo: in questo caso gli darebbe un errore Python, non ODBC. Simone ha usato una sintassi lecita: escape dell'end-of-line In [1]: print "ciao, \ ...: mondo" ciao, mondo Non è molto amata perchè è facile sbagliare: se c'è uno spazio dopo il backslash si ottiene un errore: qui c'è uno spazio v In [2]: print "ciao, \ mondo" File "", line 1 print "ciao, \ ^ : EOL while scanning single-quoted string Ma appunto è un erroer Python, non ODBC. -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Python e ms access
Il 16/04/09, Daniele Varrazzo ha scritto: > Non credo: in questo caso gli darebbe un errore Python, non ODBC. Traceback (most recent call last): File "C:\Python24\Lib\site-packages\WCronos.py", line 171, in OnOkButton cur.execute("CREATE TABLE stm (\ dbi.program-error: [Microsoft][Driver ODBC Microsoft Access] Errore di sintassi nell'istruzione Dalla terza riga dell'errore (copincollato qui sopra per comodità), sembra che l'errore risieda nel fatto che venga passato come comando anche il \, che invece non ne deve fare parte. Ciao, Simone ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Python e ms access
On Thu, 16 Apr 2009 16:23:56 +0200, simozack wrote: > Il 16/04/09, Daniele Varrazzo ha scritto: > >> Non credo: in questo caso gli darebbe un errore Python, non ODBC. > > Traceback (most recent call last): > File "C:\Python24\Lib\site-packages\WCronos.py", line 171, in OnOkButton >cur.execute("CREATE TABLE stm (\ > dbi.program-error: [Microsoft][Driver ODBC Microsoft Access] Errore > di sintassi nell'istruzione > > Dalla terza riga dell'errore (copincollato qui sopra per comodità), > sembra che l'errore risieda nel fatto che venga passato come comando > anche il \, che invece non ne deve fare parte. Questo è il traceback python generato perché l'eccezione sollevata dal driver odbc non viene intercettata, ma non è detto sia la causa dell'errore in sé: è solo la riga di codice che l'ha generata. Puoi provare ad eseguire un print dell'espressione nella query: noterai che gli a-capo vengono eliminati ma nessun backslash viene passato al print nè all'odbc. -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Python e ms access
Hello Daniele, Thursday, April 16, 2009, 4:30:38 PM, you wrote: DV> On Thu, 16 Apr 2009 16:23:56 +0200, simozack wrote: >> Il 16/04/09, Daniele Varrazzo ha scritto: >>> Non credo: in questo caso gli darebbe un errore Python, non ODBC. >> Traceback (most recent call last): >> File "C:\Python24\Lib\site-packages\WCronos.py", line 171, in DV> OnOkButton >>cur.execute("CREATE TABLE stm (\ >> dbi.program-error: [Microsoft][Driver ODBC Microsoft Access] Errore >> di sintassi nell'istruzione >> Dalla terza riga dell'errore (copincollato qui sopra per comodità), >> sembra che l'errore risieda nel fatto che venga passato come comando >> anche il \, che invece non ne deve fare parte. DV> Questo è il traceback python generato perché l'eccezione sollevata dal DV> driver odbc non viene intercettata, ma non è detto sia la causa DV> dell'errore in sé: è solo la riga di codice che l'ha generata. DV> Puoi provare ad eseguire un print dell'espressione nella query: noterai che DV> gli a-capo vengono eliminati ma nessun backslash viene passato al print nè DV> all'odbc. Infatti è la sintassi che uso normalmente con MySql... -- Best regards, giorgiomailto:g.cl...@tiscali.it ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python