Re: [Python] Scelta GUI

2017-03-30 Per discussione Sandro Dentella
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)

2017-03-30 Per discussione Sandro Dentella
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

2014-02-02 Per discussione Sandro Dentella
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

2007-11-18 Per discussione Sandro Dentella
 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

2007-11-16 Per discussione Sandro Dentella
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

2007-11-02 Per discussione Sandro Dentella
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

2007-10-08 Per discussione Sandro Dentella
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

2007-09-27 Per discussione Sandro Dentella
 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?

2007-09-13 Per discussione Sandro Dentella
 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?

2007-09-13 Per discussione Sandro Dentella

 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

2007-06-03 Per discussione Sandro Dentella
 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

2007-06-03 Per discussione Sandro Dentella
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

2007-05-05 Per discussione Sandro Dentella
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

2007-05-04 Per discussione Sandro Dentella
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

2007-05-04 Per discussione Sandro Dentella
 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

2007-05-04 Per discussione Sandro Dentella
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

2007-05-04 Per discussione Sandro Dentella
 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

2007-03-28 Per discussione Sandro Dentella
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

2007-03-27 Per discussione Sandro Dentella
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

2007-03-25 Per discussione Sandro Dentella
 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

2007-03-09 Per discussione Sandro Dentella
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

2007-03-08 Per discussione Sandro Dentella
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...

2007-02-23 Per discussione Sandro Dentella
 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

2007-02-03 Per discussione Sandro Dentella
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

2007-01-29 Per discussione Sandro Dentella
 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

2007-01-28 Per discussione Sandro Dentella
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?

2007-01-10 Per discussione Sandro Dentella
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

2006-12-01 Per discussione Sandro Dentella
 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

2006-11-19 Per discussione Sandro Dentella
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

2006-11-13 Per discussione Sandro Dentella
  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!

2006-11-13 Per discussione Sandro Dentella
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

2006-11-13 Per discussione Sandro Dentella
  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