Re: [Python] Scelta GUI
On Wed, Mar 29, 2017 at 10:16:25PM +0200, Gollum1 wrote: > Il 29 marzo 2017 21:28:19 CEST, Carlos Catucci <carlos.catu...@gmail.com> ha > scritto: > >2017-03-29 18:04 GMT+02:00 Gollum1 <gollum1.smeag...@gmail.com>: > >> Certamente, virtualenv ha l'indubbio vantaggio di poter costruire > >ambienti totalmente separati, quindi ha un suo perché anche pip. > > > >Poi si sarebbe (condizionale, non ancora lo provo) Docker > > > >> Quello che mi chiedo, è se in un ambiente di produzione sia meglio > >virtualenv o una installazione in /opt con pacchetti aggiunti > >installati con il suo sistema di packaging, che permetterebbe il > >mantenimento degli aggiornamenti in modo trasparente (aggiornare i > >pacchetti in pip non è sempre il massimo) > > > >Beh se la macchina e' dedicata ed e' mono istanza (produzione e basta) > >puo' starci il pacchetto, ma se la macchina fa piu' cose meglio un > >virtualizzatore a mio avviso. Non rischi mai di ropere cose sane di > >altri applicativi. > > > >Carlos > >-- > >EZLN ... Para Todos Todo ... Nada para nosotros > >___ > >Python mailing list > >Python@lists.python.it > >http://lists.python.it/mailman/listinfo/python > > Vero... Non pensavo ai server con più servizi attivi... Ultimamente > penso ad un server virtuale per ogni servizio... ;P oramai vanno via > come il pane... personalmente mi pare demenziale pensare di distribuire i servizi su molti server anche se economici. Molto meglio pochi server usati bene, virtualenv (o simili) per non fare interferire i servizi fra di loro. normalmente non gestisco servizi che siano molto visitati, ma ne gestisco un centinaio (per THUX, ex Thunder Systems) e di sicuro non sarebbe efficace né per l'uso della cpu/ram né per la gestione sistemistica (aggiornamenti & Co). Io personalmente uso virtualenv solo per creare una base condivisa *vuota* poi uso buildout [1] che trovo più flessibile. Buildout di fatto crea un interprete con un sys.path personalizzato. Buildout poi permette tramire delle "ricette" apposite di configurare in modo estremamente efficace l'uso di codice sorgente da mercurial/git e di codice scaricato da pypi (o altri, noi abbiamo in aggiunta pypi.thundersystems.it). sandro [1] http://docs.buildout.org -- Sandro Dentella *:-) http://trepalchi.itIl portale degli artisti ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Dove pubblicare un sito in python (mantenendo anche il supporto a PHP)
On Wed, Mar 29, 2017 at 10:57:04PM +, Enrico Bianchi wrote: > On Monday, March 20, 2017 6:06:41 PM CEST Gollum1 wrote: > > > Altre opzioni? > > Io mi trovo bene con Seflow/Domflow, praticamente con meno di 5€ al mese ho > una macchina Linux con 1 core, 512Mb di RAM, 50Gb di disco (40Gb li ho > aggiunti io, cosa che ha fatto alzare il prezzo) e traffico illimitato a > 100Mbps (c'è anche una protezione verso i DDoS, se non ricordo male, ma non mi > interessa) > Ho già raccontato in altre circostanze che suggerisco Contabo, che con 9€/mese offre VPS 4 core Xeon 2.4GHz, 12 GB RAM, 300 GB sdd e traffico illimitato a 100 Mbps. Una macchina così ospita tranquillamente molti siti senza sentirne il peso. sandro ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] email receiver in python
On Fri, Jan 31, 2014 at 07:35:52PM +0100, Balan Victor wrote: Senza dubbio un componente come postfix decentemente configurato sarebbe meglio però ripeto, non ho bisogno di tutta questa complessità. Installare e configurare un sever postfix solo per eseguire uno script per ogni mail(in media 100 al giorno) che ricevo mi sembra come comperare una bici da corsa che costa 15000euro per andare a fare il giro la domenica in cittadella. Come han già detto in tanti, considerare complessità un server di posta è l'errore di base. un sistema ti parla inviato mail. io installo postifx anche solo per essere notificato di eventi che possono capitare 1/2 volte al mese. Tutto sto chiacchierare sull'evitare postfix forse deriva dal fatto che non hai idea di quanto semplice sia. L'operazione si fa in 2 step: 1. Configuri un 'transport' per il tuo dominio in /etc/postfix/main.conf: transport_maps = hash:/etc/postfix/transport dove c'è scritto ad esempio: pratiche.e-den.it gest: seguito da postmap /etc/posfix/transport; 2. crei il transport in master.cf:: gest unix - n n - - pipe flags=FR user=mail:mail argv=/path/per/la/tua/script ${user} Puoi dirmi dov'è la complessità sandro *:-) -- Sandro Dentella *:-) http://www.reteisi.org Soluzioni libere per le scuole http://sqlkit.argolinux.orgSQLkit home page - PyGTK/python/sqlalchemy ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] lavorare con p iù classi
abituato a programmare con Java. Ho sempre il pensiero di dover mettere ogni classe in un file separato. Mi chiedevo se in python fosse necessario farlo o se è comunque una buona pratica, nonostante non sia necessaria. No! se leggi un po' di codice in giro puoi verificare che non è certo pratica diffusa. Una classe può anche essere molto piccola, ed alla fine potresti avere una miriade di file minuscoli... non sapevo che java imponesse questa regola, del resto non ho mai avvicinato java... A parte questo, nelle varie prove che sto facendo incontro qualche problema nell'accedere alle classe e ai metodi. Ad esempio, ho messo due classi in un unico file e avrei bisogno di utilizzare un metodo della seconda classe all'interno di un metodo della prima. Ad esempio: class ClasseA: def metodoA(self, messaggio) b = ClasseB() b.stampa(messaggio) class ClasseB: def stampa(self, messaggio) print messaggio A parte che hai dimenticato il : nella definizione a me questo codice funziona... a=ClasseA() a.metodoA('ciao') ciao sandro *:-) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Re: Digest di Python, Volume 19, Numero 11
Ciao Pietro! credo che la risposta di Daniele Varrazzo sia già completa, ma aggiungo una cosa in attesa di sapere meglio cosa devi fare con quelle finestre class finestra(Tkinter.Toplevel): def __init__(self): self=Tkinter.Tk()#Il mio oggetto instanziato lo voglio identico ad una finestra toplevel classica... se hai ereditato da Tkinter.Toplevel la tua classe è già una Toplevel classica. Forse con questa frase (a parloe) ed il codice sopr, volevi dire questo: class finestra(Tkinter.Toplevel): def __init__(self, mioattr=None, **kw): super(finestra, self).__init__(**kw) self.mio_attr = mioattr o alternativamente: class finestra(Tkinter.Toplevel): def __init__(self, mioattr=None, **kw): Tkinter.Toplevel.__init__(self, **kw) self.mio_attr = mioattr dove vedi che puoi scegliere di avere gli stessi argomenti, ma puoi anche estendere gli argomenti nel costruttore (puoi usare anche *args). Questa è una tecnica molto usata per estendere una classe. Resta vero il suggerimento di Daniele che in situazioni simili una funzione 'factory' può fare al caso ma ci sono anche altre possibilità. In gtk mi sono spesso trovato ad usare classi che come attributo avevano un widget GTK invece che classi che fossero estensioni di un widget GTK. Non so quanto sia pratico seguire le slide senza avere seguito il talk ma Alex Martelli ha parlato dei Design Pattern al Pycon: credo che soprattuto le prime slides potrebbero interessarti: http://www.pycon.it/static/talks/it_pydp.pdf ciao sandro *:-) PS: io non ho idea di cosa faccia Tkinter.Tk() ma se ricordo corretto apre una finestra 'root' mentre toplevel è solo... una toplevel. Di 'root'ce ne è una sola, di Toplevel ce ne possono essere tante. Perchè erediti da una classe per poi sostituirla con una classe diversa, invece che ereditare direttamente da Tk? ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] script
On Fri, Nov 02, 2007 at 05:46:56PM +0100, salvatore monaco wrote: Il 02/11/07, Sandro Dentella [EMAIL PROTECTED] ha scritto: Concordo pienamente capisco...ma non hai risposto alla mia domanda . ;-) Vedi cara, è difficile spiegare, è difficile capire se non hai capito già. In ogni caso, io ti prego *in piedi* di non usare html quanto posti in un mailing list... non mi chiedere perché in piedi ahaha sei un grande hai vinto Non ci posso credere, questa discussione è a lieto fine! Il Bene ha prevalso, i 'cattivi' sono diventati *buoni*, l'html è sparito e così il top posting! Voglio tarallucci e vino!!! *:-) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] Come usare .egg
Ciao, ho bisogno di fare funzionare su Debian Sarge python2.4 con il modulo ldap. Sarge di default ha il modulo ldap per python2.3, non ha easy_install né per 2.3 né per 2.4. ho trovato dal sito ufficiale di ldap (http://svn.kmrc.de/download/distribution/) i .egg ma non capisco come installarli. Ero convinto bastasse metterli nel path quindi ho messo il .egg nella cartella /usr/lib/python2.4/site-packages ma python2.4 continua a non vederlo. Il nome del pacchetto è 'ldap' il nome del .egg è: python_ldap-2.3.1-py2.4-linux-i686.egg come fa python a capire che deve installare quello? Ho anche provato, muovendomi alla cieca a eliminare python_ ma non è successo nulla. sandro *:-) -- Sandro Dentella *:-) e-mail: [EMAIL PROTECTED] http://www.tksql.orgTkSQL Home page - My GPL work ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] debug
Salve, nella barra della Pythons shell c'è la voce debug. Vorrei sapere come fare a fare il debus di un pezzo di codeci. Non ho acluna idea di cosa sia la barra della 'Pythons shell' ma posso dirti come avviare il debug... posiziona le seguenti righe in qualunque parte del codice: import pdb pdb.set_trace() la funzione set_trace() apre una console interattiva dove puoi leggere le variabili definite, ispezionare gli oggetti, procedere nella esecuzione del programma passao passo... esiste un help ma esiste soprattuto la descrizioe completa nel modulo pdb. Puoi anche lanciare il debug su un intero programma da ipyton con il comando %run -d nome_programma sandro *:-) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Re: Webware o Django?
Per la _mia_ esperienza con django (poca), e` messo un pochino meglio forse, ma dico davvero forse perche` il mio ultimo tentativo con le form non e` andato benissimo. Django ha rifatto il meccanismo delle forms all'inizio anno ma non è ancora ultimato, esistono ancora riferimenti alle vecchie forms. Tu quale hai provato? A me pare che il meccanismo delle forms sia pulito ed efficace, ma non ho esperienze di altri framework, potrei ignorare mondi migliori... E' facile implementare controlli/validazioni. Sarebbe auspicabile un maggior supporto per widget differenti ma non è un campo che ho veramente esplorato. Quali sono le critiche a questo sistema e quali le cose che vorresti? sandro *:-) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Re: Webware o Django?
Il sistema che mi piace esiste gia` inutile dire che piace a me e che comunque ha i suoi difetti ma quel sistema e` formal. Piu` o meno dovrebbero copiare tutti da lui perche` e` francamente quello con l'architettura e il design migliore. Le critiche agli altri sistemi sono che fondamentalmente non fanno nulla. L'automazione e` totalmente sacrificata senza una se hai un link ad un tutorial o a degli esempi li guardo volentieri principalmente per capire cosa intendi perchè onestamente non capisco dove c'è spazione per una distanza così plateale. Ma tu parli di form nel senso django o nel senso html (che per django è solo una rappresentazione della form). Ovvero in quale campo formal è particolarmente efficace, nella generazione dell'html o in quello della manipolazione/validazione dei dati? sandro *:-) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Re: Info editor Python
eclipse + pydev se vuoi lavorare seriamente :-) ciao Loris E` curioso, io credo di lavorare seriamente anche con emacs/ipython/pdb... Forse sarebbe più produttivo se invece che alimentare questi thread ricorrenti come lista ci impegnassimo a creare una documentazione efficace. Io non ho alcuna pretesa che quello che uso io (emacs etc) sia il migliore, semplicemente mi ci trovo molto bene e sicuramente per come mi ci trovo io è anche produttivo. Ma anche qui sono sicuro che altri abbiano configurato alcune cose meglio di me. Ed in aggiunta nulla ha la potenza di uno screencast per capire come gli altri lavorano. Sarebbe quindi bello che mettessimo su un wiki: * per raccogliere screencast sui vari ide, già esistenti o da fare * per raccogliere suggerimenti spicci di configurazione * per raccogliere le entusiastiche pubblicità degli utilizzatori per il loroidecheeilmiglioredituttiglialtrielunicoserio * per comparare le cose in modo più serio ed utile Mi pare di ricordare che a tal proposito qualche mese fa si fosse parlato di una tale possibilità per emacs in particolare. che ne dite? sandro *:-) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Info di esercizio
On Mon, Jun 04, 2007 at 12:55:50AM +0200, Manuele Pesenti wrote: On Sun, 3 Jun 2007 23:46:25 +0200 paolo [EMAIL PROTECTED] wrote: Esercizio: scrivi una funzione che prende una stringa come argomento e la stampa un carattere per riga partendo dall'ultimo carattere. def gambero(parola): for i in range(1, len(parola)+1): print(parola[-i]) return risultato: ... a l o r a p In [1]: print \n.join(reversed('parola')) a l o r a p *:-) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] django error
On Fri, May 04, 2007 at 10:26:09PM +0200, Daniele Zambelli wrote: Alle venerdì 4 maggio 2007, Lawrence Oluyede ha scritto: return Database.Cursor.execute(self, query, params) OperationalError: no such table: polls_poll Hai eseguito python manage.py syncdb ? Sembra che non riesca trovare il db, infatti non so come si chiami il db creato da django ne dove si trovi... Beh questo dipende dai tuoi settings nel file settings.py Il problema era questo, infatti non avevo indicato il nome del db. Mi sarei però aspettato di ottenere un errore in questa fase del lavoro, non in quella non so quale sia per te questa fase del lavoro rispetto a quella seguente. Django si lamenta che tu non abbia il db quando cerchi di accedere al db... Ci sono casi in cui puoi usare django senza db, quindi non è un errore che non sia indicato. sandro *:-) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] manuale da riga comando
Ciao, normalmente uso i manuali python da web ma avevo visto che esiste un modo per leggerli via riga di comando alla maniera di un normale 'man' (non con links o simili) ed ora mi sfugge. Qualcuno me la sa ricordare? grazie sandro *:-) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] manuale da riga comando
Dunque, penso tu ti riferisca a pydoc credo di si, anche se la ricordavo più aderente alla documentazione web. Così come è non mi serve particolarmente. Nel caso specifico stavo cercando la tabella delle direttive strftime (modulo time) e mi scocciava andare sul browser per così poco... ma con pydoc non lo trovo! grazie *:-) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Re: manuale da riga comando
On Fri, May 04, 2007 at 02:00:04PM +0200, Nicola Larosa wrote: Sandro Dentella wrote: Nel caso specifico stavo cercando la tabella delle direttive strftime (modulo time) e mi scocciava andare sul browser per così poco... ma con pydoc non lo trovo! Che hai contro il browser? :-) Immagino tu intenda andare su Internet. Io no, no! guardo la documentazione in locale. Con galeon di cui tengo aperti per vari scopi circa 40 tab in contemporanea. Ho anche gli shortcut per arrivarci velocemente: pym come url e ci sono ma la shell ha pur sempre il suo fascino... posso dire che del tcl/tk ora rimpiango solo le pagine man (oltre al canvas ;-) Il fatto è che è così difficile evitare di toccare il mouse in una pagina web... ... ora che mi ci fai pensare avevo già fatto una script 'py' che mi apre lynx su una pagina locale, cercando fra le pagine di documentazione e con completamente della bash... $ py -m time è quello che cercavo! grazie sandro *:-) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] django error
line 93, in execute return Database.Cursor.execute(self, query, params) OperationalError: no such table: polls_poll Sembra che non riesca trovare il db, infatti non so come si chiami il db creato da django ne dove si trovi... questo sta scritto in settings.py... lo decidi tu come si chiama... Dopo avere scritto il file di configurazione correttamente (e -a meno che non sia sqlite- anche creato il db) devi lanciare manage.py syncdb per creare le tabelle nel db Può essere adatto django per realizzare una semplice sito web? ci sono se il sito è dinaminco sì, se è statico mi pare inutile... problemi per trovare hosting economici che supportino django? no, controlla negli archivi della lista django-it era passato qualche nome, mi pare che suggerissero unbit.it in italia. *:-) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] email, allegati e pigrizia
On Wed, Mar 28, 2007 at 09:14:19AM +0200, Stefano wrote: Sandro Dentella ha scritto: Se no mi costa meno chiamare 'mutt -a' ;-) Ciao Sandro, ti riporto qui di seguito un breve listato che uso per inviare delle mail con allegato, non è molto commentato spero sia comunque comprensibile. Perfetta, funziona benissimo. Grazie sandro *;-) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] email, allegati e pigrizia
Scusate se chiedo in lista uno sconto alla minuziosa lettura della documentazione del modulo 'email', ma immagino che qualcuno abbia degli esempi funzionanti di spedizione di allegati pdf in python... Google mi ha aiutato poco, c'è qualcosa ma parziale e non sono arrivato in porto... Se no mi costa meno chiamare 'mutt -a' ;-) grazie *:-) -- Sandro Dentella *:-) http://www.tksql.orgTkSQL Home page - My GPL work ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Re: Parere su DejaVu
Come ORM tradizionale ho visto solo Django e, da quanto ho capito, in pratica permette solo relazioni 1:1 tra oggetti e tabelle. Puoi spiegare meglio cosa intendi? Spesso non è così, anche se si possono comunque usare le view per ridursi a questo caso (peccato SQLAlchemy non le supporti). Davvero? immagino che tu intenda che non fa introspezione della view, quanto a lavorare... l'sql non fa mica differenza fra una view e una tabella. sandro *:-) -- Sandro Dentella *:-) http://www.tksql.orgTkSQL Home page - My GPL work ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sqlite python chiamate remote
On Fri, Mar 09, 2007 at 10:31:38AM +0100, Manlio Perillo wrote: Iacopo Masi ha scritto: ok un' altra domanda a riguardo di Linux, bash e sqlite. Sapete mica s'è è possibile interrogare il DB embedded sqlite direttamente da terminale senza alcun tipo di scripting python? Certo. SQLite ha un programma sqlite3 per connettersi ad un database. Il resto lo fanno le pipe. $ echo 'CREATE TABLE foo (x INTEGER);' | sqlite3 tmp.db $ echo 'SELECT * FROM foo;' | sqlite3 tmp.db Abbastanza scomodo, però. Dove sta la scomodità? in questo è del tutto analogo ad ogni altro db che io conosca: ad es. in postgres scriveresti: $ echo 'CREATE TABLE foo (x INTEGER);' | psql tmp o alternativamente psql -c CREATE TABLE foo (x INTEGER); tmp Ovviamente anche sqlite ha una console interattiva che puoi usare da iga di comando: [EMAIL PROTECTED]:~$ sqlite3 /tmp/a.db SQLite version 3.3.8 Enter .help for instructions sqlite -- Sandro Dentella *:-) e-mail: [EMAIL PROTECTED] http://www.tksql.orgTkSQL Home page - My GPL work ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sqlite python chiamate remote
On Thu, Mar 08, 2007 at 06:58:30PM +0100, Iacopo Masi wrote: Salve a tutti, volevo togliermi una curiosità: è possibile fare delle chiamate remote tramite python (pySqlite) ad un databse sqlite su un altro host collegato nella stessa rete? Non puoi montare la risorsa remota via nfs o smb? *:-) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Mutazione di un oggetto dall'interno...
No, il problema è proprio che mi ritornano indietro i messaggi che spedisco. Ma ho usato il mio account, non uno di google... si potrà fare lostesso, io penso, no? Sembra proprio di no. Si può, si può. Io spedisco regolarmente con il mio account (non google) sia a sqlalchemy sia a django*. Purtroppo a volte si accumulano forti ritardi dovuti al fatto che ogni falso positivo viene vagliato a mano dal gestore della lista. Ultimamente a me non sta più succedendo. Può dipendere dall'antispam e quindi cambiare a seconda dell'IP della macchina che spedisce l'email. sandro *:-) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Re: doppio backslash non va
Dopo la mail di Nicola che mi pareva chiarissima (complimenti Nicola!) non pensavo di dovere aggiungere nulla... ma visto che il problema rimane provo a cimentarmi con la risposta... 1. un amico mi diceva, e ne ho fatto tesoro, che in informatica non si può avere una comprensione parziale, del tipo 'capirò meglio questa parte dopo intanto cogliamo il senso'. Mi spiego a = r'\x' non procedere se non capisci cosa sia quella piccola 'r' Analogamente per la parola 'proteggere', se non la comprendi non capirai cosa significhi che la prima \ serve per proteggere l'interpretazione della seconda, ovvero fare in modo che la seconda venga interpretata come carattere semplice e non come modificatore del modo di interpretare il carattere successivo. 2. ascii code 92 chr(92) '\\' Dalli con due caratteri! print chr(92) \ man ascii o se non hai un sistema linux a disposizione quarda qui: http://www.pluto.it/files/ildp/man/man7/ascii.7.html, vai al Decimal 92 e ci trovi: 13492 5C \ '\\' Qui python non c'entra eppure ecco tornare il fatto che il carattere '\' viene *rappresentato* così '\\' quindi a = r'\x'è equivalente ad a = '\\x' print len(a), ord(a[0]), ord(a[1]) 2 92 120 mostra senza più dubbio che a è di due caratteri il cui primo è \ ed il secondo x (la cui codifica decimale è 120), ma che per scrivere \ servono due caratteri nel modo normale o uno nel modo 'raw' (la r...), e siccome ne servono due per chiarezza quando chiedi all'interprete cosa c'è in a ti mostra quello che ci devi scrivere. Sintesi. Ti disorienta che: * per scrivere un carattere ne servan due * che dove ne servan due a volte (modo 'r') ne basti uno * che print a e a rappresentino il dato in modod differente vuoi scrivere 0f - \xof? a = '\\x%s' % '0f' print a \x0f Se hai ancora problemi, fidati che python queste cose le capisce, e semmai posta il codice che non funziona... sandro *;-) PS: t'è andata bene che non ti stai ciemntando con il tcl, c'è un caso celebre che non ricordo dove stia, in cui servono 16 o 32 '\' per ottenere quello che si desidera... ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] menu a tendina
se qualcuno ha un pò di tempo e voglia potrebbe spiegarmi come posso fare a creare un menu in una finestra e a metterci un immagine P.S io conosco la lib tkinter ma da tutte le parti trovo scritto che non esiste una traduzione è vero? ho usato molto tcl/tk fino a 3-4 anni fa, non ho mi usato tkinter, quindi ti dico solo una cosa che secondo me ti renderebbe la vita molto più semplice: non usare place! usa pack o grid. La loro logica è facilissima. Un amico ha speso molto tempo su documentazione poco accurata fatta per tkinter e gli ho risolto i problemi leggendo direttamente quella originale fatta per tk, certo... in inglese! (era un problema sull'uso della opzione postscript del canvas) Per i menu non sono molto fresco ma so che sono molto facili. Molto più facili di quelli in GTK che conosco per frequentazione molto più recente. *:-) -- Sandro Dentella *:-) http://www.tksql.orgTkSQL Home page - My GPL work ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Muovere cartelle
Ciao Pietro! mi pare che il problema che poni è facile o difficle a seconda di alcune informazioni cui in parte hai accennato: * atomicità della operazione. Non lo dico (solo) per un problema di eleganza, ma anche per un problema di consistenza (per un tot di tempo la cartella, che contiene un albero piuttosto complesso, sarà inesistente, e questo mi scoccia): so bene che né rmtree né shutil né qualsiasi altra funzione che possiate supponi che la tua cartella sia dir, qui si risolverebbe copiando in una cartella dir.new e poi rinominando dir in dir.old, e dir.new in dir. L'operazione non è atomica sel senso dei db ma è quanto più vicino si possa immaginare. Poi con calma ti cancelli dir.old Questo però non fa i conti con il contenuto della cartella: cambia durante la copia al punto da dovere ipotizzare che alla fine del processo di copia dir.new sia non aggiornata perché nel frattempo hai scritto dati nuovi in dir? questo lo sai tu solo. * semplicità/eleganza hai bisogno di portabilità? devi usarla in linux o windows? qualcuno potrebbe pensare poco eleganti soluzioni non portabili, ma se non serve la portabilità i comandi linux di sistema 'rm -Rf'e 'cp -u' possono risolvere molti problemi. In questo caso attento: cp -u è rapido perché non riscrive file che non siano cambiati ma non cancella file che non servono più (così come tar). A seconda del tipo di file/dati che hai dei file in più sono dannosi o assolutamente ininfluenti. Ancora una volta lo sai solo tu. * rsync come ti han già detto è una ottima soluzione. Risolve tutti i probelmi eccetto la atomicità, ha una opzione che cancella i file che siano presenti nella cartella di destinazione ma non in quella di partenza. E' in generale molto efficente e si usa per sincronizzare interi filesystem. Se la combini con la rinomina della cartella diventa anche quella quasi atomica, ma perdi il vantaggio rispetto a 'cp -a' ... %-( Se vuoi saperne di più, dicci qualcosa di più sulle esigenze della tua copia... ciao *;-) -- Sandro Dentella *:-) http://www.tksql.orgTkSQL Home page - My GPL work ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Python decorators Si mangiano?
On Wed, Jan 10, 2007 at 10:36:52AM +0100, Picio wrote: E' sicuramente più chiaro, ti ringrazio, anche se appena ho cliccato su link Design Pattern della gang of four, mi sono reso conto che esiste un Nuovo Mondo. Mi sa tanto che finche non avrò l'esigenza specifica di avere metodi aggiuntivi a runtime non capirò bene l'utilità dei Decorators. In effetti sono ancora all'inizio della programmazione in Python e di quella ad oggetti. Cmq Grazie. Daniele P.s.: mi sai indicare un link con un esempio pratico sui decorators? Per me il modulo 'decorator' di Michele Simionato e la relativa documentazione sono stati molto preziosi per comprendere ed apprezzare l'uso dei decoratori http://www.phyast.pitt.edu/~micheles/python/documentation.html in ogni caso, giusto per dare il sapore di un uso molto pratico e facile da comprendere, se in django hai una vista (ovvero la funzione che elabora la richiesta e gerera la risposta) e desideri fare in modod che accedano a questa funzione solo persone autenticate dal sistema fai così: @login_required def my_view(request): ... evitando di dover scrivere all'interno della funzione il codice relativo. Nota l'inizio della documentazione di Michele: Python 2.4 decorators are an interesting example of why syntactic sugar matters: in principle, their introduction changed nothing, since they do not provide any new functionality which was not already present in the language; in practice, their introduction has significantly changed the way we structure our programs in Python. *:-) -- Sandro Dentella *:-) e-mail: [EMAIL PROTECTED] http://www.tksql.orgTkSQL Home page - My GPL work ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Python su Debian: gestione path
Ho notato che su Debian quando si esegue uno script la directory corrente non viene messa nel sys.path. Come mai? sei sicuro? Direi di si, ho dovuto inserire in path corrente in sitecustomize. Uso python2.4 su Etch. Anche io uso python2.4 su Etch, ma come per Marco il mio path è impostato con la cartella corrente come primo elemento. sandro *:-) -- Sandro Dentella *:-) http://www.tksql.orgTkSQL Home page - My GPL work ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: R: [Python] comando eval non funzionante con chiamata a metodo
On Sun, Nov 19, 2006 at 05:59:33PM +0100, [EMAIL PROTECTED] wrote: Effettivamente solleva eccezioni mettiamola cos?: quando vai dal medico dici sto male o gli dici anche in che modo stai male? quanto sforzo vuoi far fare a noi e quanto vuoi farne tu? sandro *:-) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] impressioni su Django
1) Credo ci si sforzi troppo di seguire il principio DRY (Dont Repeat Yourself). Infatti nel model ci sono cose che non dovrebbero esserci. ad esempio? Nel model compare la classe Admin in cui sono presenti dei dettagli che riguardano la view. Lo stesso nella definizione dei vari elementi (come ForeignKey), in cui ci sono delle cose che riguardano la view. capisco l'obiezione ma non mi disturba. Non sono un teorico dell MVC che peraltro anche nella variante django apprezzo, ma reputo che in fatto che la classe Admin sia lì nello stesso file di definizione della classe non confonda rispetto al fatto che sopra ci sta la definizione del modello e nella clase Admin alcune cose specifiche della presentazione dei dati. 2) Django non è nato come framework general purpose, ma lo è diventato grazie ad una buona politica commerciale (IMHO) e ad una architettura buona in partenza. Questo temo se lo porterà dietro per sempre. in cosa noti che non sia nato general purpouse? Lo dicono loro stessi: è nato per servire il loro sito di notizie online (e si vede che è orientato a siti di questo tipo, con un enfasi alla cronologia degli ogetti, alla sezione media, etc). porrei la domanda al contrario, cosa ti pare che manchi per farne un general purpouse. Il fatto che nasca in un certo ambito non è un peccato originale, è una circostanza. 3) L'ORM è limitato (ma sembra che stiano lavorando per integrare SQLALchemy). io ho cercato e non mi pare che ci sia nulla più che la mail in cui Roberto Munn dice che ci avrebbe lavorato. Anche nella lista di sqlalchemy qualcuno gli ha chiesto delucidazioni sullo stato e lui non ha risposto, mi pare impegnato in altre cose. E` vero che anche a me sembra un ORM un po' limitato. Si, non mi sembra ci sia supporto per le join. Errato, c'è eccome. Non ho trovato quelle per OUTER JOIN, ma guarda come ad esempio scrivi di trovare tutti i ticket di una persona cercandolo fra tutti i progetti di tutte le organizzazioni di cui fa parte. __ fa automaticamente la join fra le tabelle, l'ultimo __username indica la WHERE condition. tikets = Ticket.objects.filter( project__organization__person__username = request.user.username) Essendo queste le parti principali delle classi class Ticket(models.Model): project = models.ForeignKey('Project') class Project(models.Model): organization = models.ForeignKey(Organization) class Organization(models.Model): person = models.ManyToManyField(User) class User(models.Model): username = models.CharField(...) Che poi questo sia più facile da leggere si una QUERY SQL è un altro discorso, ma sqlalchemy non rende la vita banale SQLAlchemy ha proprio tutto (ho cominciato a studiare anche questo ed ho subito notato come sia migliorata la documentazione dalla versione precedente). 4) Ho avuto l'impressione che Django cerchi di favorire troppo chi non è esperto di programmazione/Python (e questo, di solito è male). ??? Cosa ti da questa impressione? il fatto che fornisca molte funzioni pronte all'uso(vedi le generic-views)? mi pare solo una cosa bella anche per chi programma... Nella documentazione ci sono spesso delle note riguardo chi si avvicina a Django senza avere esperienza in Python (web designer puri). E` un limite? mi pare che non rinuncino a nulla della potenza per andargli incontro... cheetah ha il supporto per estendere i template di base? cheetah chiama quello che vuoi, basta caricarlo prima (ma non ci ho ancora giocato, ho solo visto che funzionava nelle funzioni elementari). Il probelma è che molte cose sono già pronte per il loro sistema (es: commenti) docutils e del formato reST per la documentazione. Bello anche l'uso di pydispatcher (che io non avevo ancora mai usato). Dove viene usato? http://code.djangoproject.com/wiki/Signals sandro *:-) -- Sandro Dentella *:-) http://www.tksql.orgTkSQL Home page - My GPL work ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] eseguire un programma in python... aiuto!
On Fri, Nov 10, 2006 at 06:04:24PM +0100, eugenio wrote: ecco qui un altro problema. però ora non capisco il perchè è tutto giusto! NO! ad oggni 'elif' ha uno spazio in meno di 'guess' o 'if'. ed il messagio di errore te lo dice abbastanza chiaramente... *:-) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] impressioni su Django
Per fortuna ti permette di definire le primary key come vuoi tu (ma non di default, in cui vengono usate primary key surrogate). anche sqlalchemy tende a farti usare primary key surrogate, dico questo in quanto considera la PK come non modificabile. Lavoro con sqlalchemy da febbraio ed ho dovuto rivedere un po' la struttura dei miei db per poterla adattare a sqlalchemy anche se è molto ben fatto. Davvero? Nella documentazione non vi è menzione di questa particolarità. Probabilmente è una difesa preventiva contro database come MySQL e SQLite che non supportano l'integrità referenziale (e quindi se cambi una primary key, tutte le foreign key collegate diventano prive di significato). Segnalalo come bug, credo che le primary key debbano essere modificabili per i database dove ha senso. la sua risposta è stata: you generally shouldnt store any information in a primary key. primary keys are by definition immutable so SA would likely trip up if you change them. its conceivable that a feature could be added to allow updating the primary key columns but it would add a lot of complexity to the saving mechanism, to support a pattern that generally is not really correct. http://en.wikipedia.org/wiki/Primary_key if you want an extra check for this condition step its not totally impossible, although i dont know if I want to add assertions throughout the code for things like this since it will eventually chunk down the performance. feel free to add a ticket to Trac for a check that primary key columns havent changed, raise exception feature, id have to consider how non-intrusive that is. L'utima parte si riferisce al fatto che ignora semplicemente senza sollevare errori. Ora solleva errore solo se contemporaneamente campi PK *E* fai altro: from sqlalchemy import * eng = create_engine(sqlite://, echo=False) session = create_session() users = Table('users', eng, Column('user_name', String(30), nullable = False, primary_key = True), Column('user_last_name', String(30), nullable = False)) users.create() users.insert().execute( {'user_name': 'Sam', 'user_last_name': 'Patts'}, {'user_name': 'Sid', 'user_last_name': 'Watts'}, ) class User(object): pass m = mapper(User, users) u = session.query(m).select()[1] #u = m.select()[1] eng.echo = True u.user_name = 'Sandro' u.user_last_name = 'Dentella' session.flush() A proposito: nella costruzione di una foreign key sono previste le clausole on update/on delete, (not) deferrable, initially immediate/deferred? mi pare che siano state recentemente inserite (in SA, nonso in Django) E' possibile creare indici parziali con PostgreSQL? ovvero? -- Sandro Dentella *:-) http://www.tksql.orgTkSQL Home page - My GPL work ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python