[Python] icalendar & python

2008-01-17 Thread Alessandro Dentella
ritrasmetto da un altro smtp perhé non vedo in lista

Ciao a tutti,

  ho necessità di tuffarmi nel mondo di iCalendar a me completamente
  sconosciuto fino a pochi giorni fa... vedo con piacere che è molto
  affollato da applicazioni e moduli in python ma chiedo lumi a chi ha
  esperienza di questi per districarmi un po'... racconto il mio piano
  dell'opera per eventuali suggerimenti

  Dopo una lettura sommaria del formato icalenadar ho provato ad installare
  il Darwin Calendar Server della Apple (twisted + vobject +...) ed ho
  tentato di conneterci un client sunbird (fratello standalone di
  lightning/mozilla). Io non riesco a recuperare i dati ma un client ical
  riesce, immagino di dovere semplicemente capire qualcosa in più sull'uso
  del client. 

  Alla fine non potrò accontentarmi di usare un client già fatto, dovrò
  avere eventi più ricchi per collegare altre interfacce che ho in gtk,
  quindi penso di usare GooCalendar, una libreria basata su goocanvas che mi
  pare facilmente adattabile allo scopo.

  Dove sono assolutamente "scoperto" e dove non ho trovato documentazione è
  invece sulla parte di interrogazione di un server ical (da un client
  python in particolare). 

  Quali tipi interrogazioni posso fare ad un server? Sono abituato a pensare
  in termini di database relazionali e fatico a capire come chiedere "gli
  appuntamenti di tizio ha nel mese di maggio...",  "gli eventi relativi a
  questo progetto" soprattutto avendo visto che DarwinCalendarServer
  mantiene (mi pare proprio) in un file .ics gli eventi che gli
  arrivano. Come fa ad essere efficente in una ricerca? che indici usa?
  Chi gestiche gli eevnti ricorrrenti? il server o il client?

  Ringrazio anticipatamente chi vorrà suggerirmi documentazione o darmi
  dritte sia su moduli da usare che su strade da percorrere.

  sandro
  *:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] icalendar & python

2008-01-17 Thread Alessandro Dentella
ritrasmetto da un altro smtp perhé non vedo in lista

Ciao a tutti,

  ho necessità di tuffarmi nel mondo di iCalendar a me completamente
  sconosciuto fino a pochi giorni fa... vedo con piacere che è molto
  affollato da applicazioni e moduli in python ma chiedo lumi a chi ha
  esperienza di questi per districarmi un po'... racconto il mio piano
  dell'opera per eventuali suggerimenti

  Dopo una lettura sommaria del formato icalenadar ho provato ad installare
  il Darwin Calendar Server della Apple (twisted + vobject +...) ed ho
  tentato di conneterci un client sunbird (fratello standalone di
  lightning/mozilla). Io non riesco a recuperare i dati ma un client ical
  riesce, immagino di dovere semplicemente capire qualcosa in più sull'uso
  del client. 

  Alla fine non potrò accontentarmi di usare un client già fatto, dovrò
  avere eventi più ricchi per collegare altre interfacce che ho in gtk,
  quindi penso di usare GooCalendar, una libreria basata su goocanvas che mi
  pare facilmente adattabile allo scopo.

  Dove sono assolutamente "scoperto" e dove non ho trovato documentazione è
  invece sulla parte di interrogazione di un server ical (da un client
  python in particolare). 

  Quali tipi interrogazioni posso fare ad un server? Sono abituato a pensare
  in termini di database relazionali e fatico a capire come chiedere "gli
  appuntamenti di tizio ha nel mese di maggio...",  "gli eventi relativi a
  questo progetto" soprattutto avendo visto che DarwinCalendarServer
  mantiene (mi pare proprio) in un file .ics gli eventi che gli
  arrivano. Come fa ad essere efficente in una ricerca? che indici usa?
  Chi gestiche gli eevnti ricorrrenti? il server o il client?

  Ringrazio anticipatamente chi vorrà suggerirmi documentazione o darmi
  dritte sia su moduli da usare che su strade da percorrere.

  sandro
  *:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] icalendar & python

2008-01-17 Thread Alessandro Dentella
Ciao a tutti,

  ho necessità di tuffarmi nel mondo di iCalendar a me completamente
  sconosciuto fino a pochi giorni fa... vedo con piacere che è molto
  affollato da applicazioni e moduli in python ma chiedo lumi a chi ha
  esperienza di questi per districarmi un po'... racconto il mio piano
  dell'opera per eventuali suggerimenti

  Dopo una lettura sommaria del formato icalenadar ho provato ad installare
  il Darwin Calendar Server della Apple (twisted + vobject +...) ed ho
  tentato di conneterci un client sunbird (fratello standalone di
  lightning/mozilla). Io non riesco a recuperare i dati ma un client ical
  riesce, immagino di dovere semplicemente capire qualcosa in più sull'uso
  del client. 

  Alla fine non potrò accontentarmi di usare un client già fatto, dovrò
  avere eventi più ricchi per collegare altre interfacce che ho in gtk,
  quindi penso di usare GooCalendar, una libreria basata su goocanvas che mi
  pare facilmente adattabile allo scopo.

  Dove sono assolutamente "scoperto" e dove non ho trovato documentazione è
  invece sulla parte di interrogazione di un server ical (da un client
  python in particolare). 

  Quali tipi interrogazioni posso fare ad un server? Sono abituato a pensare
  in termini di database relazionali e fatico a capire come chiedere "gli
  appuntamenti di tizio ha nel mese di maggio...",  "gli eventi relativi a
  questo progetto" soprattutto avendo visto che DarwinCalendarServer
  mantiene (mi pare proprio) in un file .ics gli eventi che gli
  arrivano. Come fa ad essere efficente in una ricerca? che indici usa?
  Chi gestiche gli eevnti ricorrrenti? il server o il client?

  Ringrazio anticipatamente chi vorrà suggerirmi documentazione o darmi
  dritte sia su moduli da usare che su strade da percorrere.

  sandro
  *:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] icalendar & python

2008-01-17 Thread Alessandro Dentella
On Thu, Jan 17, 2008 at 10:21:30PM +0100, Carlo C8E Miron wrote:
> On Jan 16, 2008 10:50 PM, Alessandro Dentella <[EMAIL PROTECTED]> wrote:
> > Ciao a tutti,
> > ritrasmetto da un altro smtp perhé non vedo in lista
> [snip]
> 
> Ciao Sandro.
> Scusaci il disservizio, ci sono stati alcuni problemi in fase di
> migrazione del server, adesso dovrebbe essere tutto ok.

non è un problema per me, di fatto ho inondato di mail alla fine  e mi
spiace ma nelle settimane passate avevo risposto un paio di volte e le mail
non arrivavano neanche con ritardo, per quello ho immaginato che fossero
perse...

Ora vediamo se con tutte le e-mail c'è qualcun che ha indicazioni da darmi...

*;-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Quale versione di Django?

2008-01-29 Thread Alessandro Dentella
On Tue, Jan 29, 2008 at 11:34:41AM +0100, Andrea Spadaccini wrote:
> Ciao a tutti,
> vorrei iniziare ad utilizzare django, e vorrei un consiglio: quale versione
> utilizzo?
> 
> Ho visto che il tutorial si riferisce alla versione SVN, è consigliabile
> utilizzare la 0.96 oppure hanno davvero stravolto tutto?


hanno devvero fatto molte modifiche e molte ne hanno in caldo.
Fra le modifiche importanti è stata l'adozione di unicode per uscire
dall'incubo dei caratteri accentati.

Ne saresti colpito ben presto e già solo questo è motivo sufficiente. un
secondo motivo è il supporto per le newforms che nella 0.96 è solo iniziato
ma con gravi mancanze.

Inoltre altre grandi modifiche sono in caldo ed essere avanti ti può solo
facilitare.

sandro
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] diversi __init__ ??

2008-01-29 Thread Alessandro Dentella
> > Ma quindi se A eredita da B, non può fare l'overloading dei metodi  
> > di B?
> 
> Il concetto di 'overloading' non ha senso in python. L'overload è un  

??!!??

ops ho l'impressone di avere sbagliato tutto... ma questa proprio non la
capisco/condivido. O sono incappato in un problema terminologico o quello
che dici mi pare proprio sbagliato.

Mi pare che sia normalissimo fare overloading come questo

class A(object):
  def __init__(self):
  pass

class B(A):
  def __init__(self):
  print 'OK'

Stai dicendo che non è abitudine fare questo in python? Avrei parecchi
controesempi... 

> obiettivo o un mezzo?
> L'overload è un *mezzo*. Quale è il problema che risolve? Quello di  
> avere più metodi con lo stesso nome che accettano parametri diversi  
> per numero e per tipo.
> 
> Come risolve lo stesso problema Python? Il tipo è ininfluente, fare  
> funzioni che accettano un numero variabile di argomenti è banale,  
> comodo da gestire e piuttosto gradevole da leggere (again, named  
> parameters).

vorresti con questo dire che sia più elegante pensare *a priori* in quali
modi la gente vorrà ereditare la nostra classe? (ed infilare 100 parametri
nella funzione). 

Forse però non ho capito la tua obiezione...

*%-)

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] esecuzione subprocess, scrittura stdin e lettura stdout

2008-02-21 Thread Alessandro Dentella
On Thu, Feb 21, 2008 at 10:15:15AM +0100, Shatzu wrote:
> 
>Salve,
>sono nuovo di qui!
>stavo cercando di scrivere uno script python che, lanciando un subprocess
>che effettua una connessione ssh ad un server, mi permetta poi di eseguire
>comandi e leggere gli output.
>Riesco ad effettuare la connessione e anche a far eseguire comandi 
> scrivendo
>sull'stdin, ma ho problemi a leggere l'output, nel senso che non sempre è
>completo e a volte con le funzioni read o readline mi si blocca lo script.
>Come posso fare a leggere tutto l'output dei comandi che lancio?

come lo usi? leggi l'output man mano o vorresti leggerlo alla fine del
comando? Io lo uso normalmente così:

  p =  subprocess.Popen(cmd, stdin=stdin, stdout=stdout, stderr=stderr, **kw)
  (stdout, stderr) = p.communicate(input=subproc_input)

dove in, out err vengono inizializzate da codice non mostrato normalmente a
subprocess.PIPE 

Questo codice però va bene se aspetti che il comando termini l'esecuzione.

sandro
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] icalendar, vobject, zanshin, twisted?...

2008-02-21 Thread Alessandro Dentella
Ciao a tutti

  ho necessità di interfacciare una applicazione con alcuni calendari
  esterni sia per la lettura di calendari che per la creazione di
  eventi. Già un mesetto fa [1] ho scritto su questa lista ma senza alcuna
  risposta. Nel frattempo ho visto che esiste una libreria 'zansin' [2]:
  che dovrebbe fara al caso mio per la interrogazione/upload di calendari,
  mentre esiste il modulo 'vobject' per la creazione di file .ics.

  Qualcuno ha esempi funzionanti?

  Purtroppo non riesco a trovare tempo per mettere insieme il tutto ed ho
  i tempi sretti.

  Se qualcuno fosse disponibile ed interessato ad occuparsene (a pagamento,
  ovviamente), vi prego di contattarmi direttamente.

  sandro
  *:-)

  
[1] http://lists.python.it/pipermail/python/2008-January/005148.html
[2] http://chandlerproject.org/Projects/ZanshinProject

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] icalendar, vobject, zanshin, twisted?...

2008-02-21 Thread Alessandro Dentella
On Thu, Feb 21, 2008 at 08:26:03PM +0100, Manlio Perillo wrote:
> Alessandro Dentella ha scritto:
> > Ciao a tutti
> > 
> >   ho necessità di interfacciare una applicazione con alcuni calendari
> >   esterni sia per la lettura di calendari che per la creazione di
> >   eventi. 
> 
> Quali calendari, per la precisione?
> Non esiste una standard/metodo unico per accedere ad un calendario 
> (almeno l'ultima volta che mi ero documentato, anche se abbastanza 
> recentemente CalDav è stato accettato come RFC 4791).

Premesso che non ho una conoscenza approfondita, mi ero orientato su CalDav
e come server su Darwin che Apple ha reso pubblico ed è basato su twisted.
Zanshin dovrebbe permettermi di interrogare il server e caricare eventi. 

A quali altri metodi fai riferimento?

> Per creare un oggetto ical io conosco questo:
> http://codespeak.net/icalendar/

lo avevo visto ma avevo anche visto che il server Darwin usa vObject.

sandro
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] script per linux: .flv to .avi con ffmpeg

2008-03-23 Thread Alessandro Dentella
On Fri, Mar 21, 2008 at 07:38:55PM +0100, ugaciaka wrote:
> Ho fatto così sotto consiglio:
> 
> Popen(["ffmpeg", "-i" , file_vecchio, file_nuovo])
> 
> ora vorrei sapere, se volessi fare in modo di ottenere il codice di
> uscita come si fa? Dalla documentazione ufficiale le cose non mi sono
> chiare:

come ti ha già suggerito Enrico, dai un occhio a subprocess. io nlo uso
circa così:

p =  subprocess.Popen(cmd, stdin=stdin, stdout=stdout, stderr=stderr, **kw)
stdout, stderr = p.communicate(input=subproc_input)

quando lo uso in modo sincrono...

sandro
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] soap & python

2008-04-01 Thread Alessandro Dentella
Ciao,


  Devo interfacciarmi ad un server saop per alcune funzioni piuttosto
  semplici ma di cui al momento ho due specifiche contradditorie (!) e sono
  in attesa di chiarimenti dal fornitore.

  Ho dato una occhiata al modulo SOAPpy, che probabilmente è idoneo allo
  scopo ma mi pare che anche twisted implementi il protocollo SOAP, e
  siccome è da un po' che ci giro attorno con l'idea di provarlo (twisted)
  mi chiedevo se è sensato farlo in questa occasione...

  Pareri? esempi semplici di twisted+soap?

  sandro
  *:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] soap & python

2008-04-10 Thread Alessandro Dentella
Ho finalmente chiarito come è il protocollo. Ho quattro metodi che accettano
un solo parametro scringa che a sua volta è un xml. (sotto CRED).

Ora mi fermo un po' più in la...

On Tue, Apr 01, 2008 at 03:21:02PM +0200, Giorgio Zoppi wrote:
> ZSI è l'ideale.
> http://www.programmazione.it/index.php?entity=eitem&idItem=37378

il tuo articolo parla del lato server a me serviva il lato client.
Ho come l'impressione che tutti lo considerino la parte banale e quindi non
spieghino nulla...

Ho poi trovato questo articolo:

http://www.kb.ucla.edu/articles/how-to-create-a-python-class-from-a-soap-wsdl

che mi ha guidato nella comprensione di come passare i parametri dei metodi
esposti, cosa che non mi era affatto chiara. 

Vorrei capire come attivre il debug del codice xml scambiato, ciò che con
SOAPpy era:

server.soapproxy.config.dumpSOAPOut = 1
server.soapproxy.config.dumpSOAPIn = 1

ma con zsi non lo capisco.




Attalmente quindi faccio così:

CRED = """

  
 myuser
 mypass
  

"""

from ws_ricarica_sistemi_esterni_services import *

locator = ws_ricarica_sistemi_esterniLocator()
myport = locator.getws_ricarica_sistemi_esterniSoap()


myrequest = SaldoSoapIn()
myrequest.xml_saldo = CRED
myresponse = myport.Saldo(myrequest)


Ottengo però un "Evento imprevisto, impossibile autenticare" per cui vorrei
abilitare il debug come ho mostrato prima che avrei fatto con SOAPpy. 

Qualche suggerimento?

grazie in anticipo
sandro
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Programmazione web

2008-04-27 Thread Alessandro Dentella
> A questo aggiungi la recente aggiunta del declarative layer:
> http://www.sqlalchemy.org/docs/04/plugins.html#plugins_declarative

Leggo con molto piacere di questo layer che mi era sfuggito. Mi pare che
introduca un livello di semplificazione e leggibilità


Credo che a Django faccia bene essere un team, ragionano molto sulla
sintassi che in genere risulta semplice e facile da apprendere. Sqlalchemy
per contro è sicuramente più completa e potente (per questo l'ho scelta per
un mio editor di db) ma è anche piuttosto difficile da apprendere.

Magari la natura dichiarativa dell'ORM di Django ha positivamente
influenzato sa?

sandro
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] getopt

2008-05-22 Thread Alessandro Dentella
On Thu, May 22, 2008 at 09:48:39PM +0200, Paolo wrote:
> Ciao a tutti,
> ho qualche domanda da fare sulla funzione getopt:
> 
> Da riga di comando l'utente può inserire comandi del tipo:
> prova -p arg1 arg2 arg3 arg4
> prova -c arg1 arg2
> 
> come posso utilizzare la funzione getopt in modo da ottenere come opzioni -p
> oppure -c e come argomenti gli argomenti relativi al tipo di opzione ?
> Mi spiego meglio con un esempio:
> 
> prova -p 0 /home/paolo/file.txt read
> mi servirebbe avere: opt = -p
>  args = 0 /home/paolo/file.txt read
> args mi serve come array:
> args[0] = 0
> args[1] = /home/paolo/file.txt
> args[3] = read

io mi trovo molto bene con questa ricetta di michele Simionato che usa la
docsctring stessa, opportunamente (ed intuitivamente) formattata sia per
l'help che per la definizione delle opzioni. Così ti trovi sempre
obbligatoriamente l'help corretto

  http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/278844

Credo che l'esempio sia molto chiaro e quello che tu vuoi è facile.

"""An example script invoking optionparse, my wrapper around optparse.

  usage: %prog [options] args
  -p, --positional: print positional arguments
  -1, --option1=OPTION1: print option1
  -2, --option2=OPTION2: print option2
"""

import optionparse
opt, args = optionparse.parse(__doc__)

in args come ovvio trovi gli argomenti, opt è una istanza i cui attributi
sono le opzioni possibili: None se non è definita, OPTION1, OPTION2 etc se
impostata.

sandro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Funzioni come moduli

2008-06-29 Thread Alessandro Dentella
> Quindi mi sarebbe d'aiuto un buon metodo per importare moduli a seconda
> di una variabile, o altri modo per definire ed utilizzare funzioni in
> files esterni al "cuore" del programma.
> Grazie per le eventuali risposte :)


Se ho capito bene stai cercando la funzione __import__:

   http://docs.python.org/lib/built-in-funcs.html

*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Funzioni come moduli

2008-06-30 Thread Alessandro Dentella
On Mon, Jun 30, 2008 at 03:41:39PM +0200, Leonardo wrote:
> Alla fine ho risolto con execfile, è incredibile: esegue un file come se
> fosse all'interno del file chiamante, passandogli tutte le variabile, le
> funzioni, e le classi esistenti.
> L'unica cosa è che adesso un modulo è così ad esempio:
> 
> file rejoin.py:
> 
> #! /usr/bin/python
> # -*- coding: UTF-8 -*-
> user, mode, chan, request = self.get_params(server_response)
> if self.Bot.nick in server_response:
>   print "Sono stato kikkato!"
>   self.Bot.join(chan)
>   self.send(self.response, chan)
> 
> E fa un po' senso vederlo così, con praticamente tutte le variabili e
> funzioni non dichiarate nè passate come argomento eppure funzionanti.
> Ovvio che se lo lancio direttamente solleva decine di errori x


c'è un altro aspetto che non mi piace di execfile. Proprio il mese scorso
sono passato da execfile a __import__ in un set di test il cui principio è
uguale a quello dei plugin.

il "problema" è negli import. Supponi di avere un plugin così::

import sys

class A(object):
def test(self):
print sys.path


e di volerlo usare così

LOCS = {}
execfile('plugin_A.py', {}, LOCS)

a = LOCS['A']()
a.test()


ti verrà sollevato l'errore che perchè 'a' non vede __più__ il modulo sys.
E non mi pare una soluzione dire che assieme ad A importo tutto nel mio
programma principale. 

Ovviamente funzionerebbe se facessi l'import direttamente nel metodo, ma io
lo consideravo troppo particolare e esposto ad errori.

sandro
*:-)

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Funzioni come moduli

2008-06-30 Thread Alessandro Dentella
> > e di volerlo usare così
> > 
> > LOCS = {}
> > execfile('plugin_A.py', {}, LOCS)
> > 
> > a = LOCS['A']()
> > a.test()
> > 
> > 
> > ti verrà sollevato l'errore che perchè 'a' non vede __più__ il modulo
> > sys.
> 
> Il problema e' che usi un dizionario per ambiente globale che pero' poi
> butti via.
> 
> Il codice seguente funziona come ci si aspetta:
> 
> In [1]: ENV = {}
> In [3]: execfile('plugin_A.py', ENV)
> In [5]: a = ENV['A']()
> In [6]: a.test()


certo ma a quel punto ogni variabile viene importata nel namespace del
chiamante e -proprio per dei plugin che possono essre fatti da terze parti-
non so quanto sia opportuno. Chi mi assicura che non ridefinisca nomi di
variabili che ho in uso?

*:-)

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Funzioni come moduli

2008-06-30 Thread Alessandro Dentella
> A me non sembra che il global namespace del chiamante venga inquinato:
> 
> In [1]: ENV = {}
> 
> In [2]: execfile('plugin_A.py', ENV)
> 
> In [3]: a = ENV['A']()
> 
> In [4]: a.test()
> [ ...roba... ]
> 
> In [5]: sys
>
> ---
>  Traceback (most recent call
> last)
> 
> /home/piro/py/ in ()
> 
> : name 'sys' is not defined


mi arrendo... il che mostra che non ho compreso bene il significato di
questo dizionario e tantomeno comprendo cosa succeda in realtà  se uso due
dizionari (globals, locals) e se ne uso uno soltanto...

Questo utilizzo è quindi completamente equivalente ad un import?

sandro
*:-)

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] aituo per programmino: creazione password ed md5sum

2008-09-19 Thread Alessandro Dentella
On Fri, Sep 19, 2008 at 02:39:54PM +0200, Valerio Pachera wrote:
> Ciao a tutti, è un po' che non metto mano a python e sono comunque un 
> novellino.
> Ho una necessità pratica da usare come esercizio per imparare qualcosa
> di più di python:
> 
> volgio fare un piccolo script per generare delle password ed il relativo md5.
> Come input deve prendere i paramteri "numero di password da creare",
> "il nome del file" dove salvarle ed il "separatore" usato per separare
> le password e l'md5 nel file che verrà scritto.
> 
> Ho creato lo script ma NON SO COME SCRIVERE SU UN FILE IL RISULTATO.
> ecco lo script:
> 
> --
> # coding=utf-8
> import md5
> import random
> 
> def genpasswd (lenght=8):
> passwd=""
> for num in random.sample(range(0,10), lenght):
> passwd += str(num)
> return passwd
> 
> def genlist (records, separator):
> c = 0
> passwd = ""
> md5sum = ""
> record = []
> passwd_list = []
> while c < records:
> new_passwd = genpasswd()
> new_md5 = md5.new (new_passwd).hexdigest() + separator
> new_passwd += separator
> record = [new_passwd, new_md5]
> passwd_list.append (record)
> c += 1
> return passwd_list
> 
> def genfile (filename, records=1, separator=';'):
> passwd_list = genlist(records, separator)
> print "devo scrivere i seguenti record sul file ", filename
> for record in passwd_list:
> #scrivi i record su un file di testo
> print record

una roba così? oltre ad 'open' che dovresti vedere documentata da tante
parti, nota l'uso di join, operatore di una stringa

def genlist (records, separator):
c = 0
passwd = ""
md5sum = ""
record = []
passwd_list = []
while c < records:
new_passwd = genpasswd()
new_md5 = md5.new (new_passwd).hexdigest()
passwd_list.append(separator.join([new_passwd, new_md5]))
c += 1
return passwd_list

def genfile (filename, records=10, separator=';'):
passwd_list = genlist(records, separator)
f = open(filename, 'w')
#scrivi i record su un file di testo
f.write("\n".join(passwd_list))
f.write('\n')
f.close()
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] "terminale alternativo"

2008-09-20 Thread Alessandro Dentella
On Sat, Sep 20, 2008 at 03:30:42PM +0200, luciano fornari wrote:
> Ciao a tutti,
> ho scritto un programmino (di dubbia utilit ) che funziona come console.
> 
> Ecco il semplicissimo codice:
> 
> import os
> 
> while 1:
> command = raw_input("she11: ")
> os.system(command)
> 
> L'ho provato (su linux) eseguendo alcuni comandi come 'pwd' e 'date' e fin qui
> tutto ok. Poi ho provato a cambiare cartella digitando 'cd /' per andare alla
> root directory e niente, 'pwd', sono nella stessa cartella di prima, 'cd 
> /home/


 il cambio di cartella c'è stato... ma nella shell che è stata generata
 apposta da os.system e prontamente distrutta all'uscita da detto comando...


*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] ipython: eseguire una sola funziona con pdb

2008-09-23 Thread Alessandro Dentella
Ciao,

  avete idea di come si possa dall'interno di ipython, eseguire una funzione
  con pdb, in modo da poterla far procedere passo-passo?

  Vorrei per intenderci usare il comando 's' che all'interno di pdb esegue la
  riga successiva un passo alla volta.

  Mentre scrivo mi accorgo che vorrei potere fare questo anche in pdb, senza
  ipython mentre sono capace di farlo solo sulla riga "successiva" non su uno
  statement generico. 

grazie
sandro
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Operazioni con i numeri

2008-10-07 Thread Alessandro Dentella
On Tue, Oct 07, 2008 at 05:58:24PM +0200, Daniele Varrazzo wrote:
> 
> 
> On Tue, 7 Oct 2008 14:59:30 +0200, "Lawrence Oluyede" <[EMAIL PROTECTED]>
> wrote:
> > 2008/10/7 Zanon Samuele <[EMAIL PROTECTED]>:
> >> ciao a tutti... volevo sapere come posso fare per convertire una stringa
> > in
> >> un numero per poter eseguire operazioni (ad esempio da 20,90 a 20.90)
> > 
> > float("20.90")
> > 
> > (la stringa che rappresenta un decimale con la virgola non e`
> > supportata che io sappia).
> 
> No, non lo è. Io di solito aggiro la cosa con:
> 
> In [1]: s = "20,90"
> 
> In [2]: print float(s.replace(",", "."))
> 20.9


Dovrei occuparmi di questa faccenda nei prossimi giorni per una
applicazione in gtk.  Speravo che ci fosse qualche aiuto nei menadri della
localizzazione ma mi pare che mi togli le illusioni.

Devo quindi prepararmi a mettere e togliere virgole e punti a manetta o
esiste qualcosa almeno per la rappresentazione di un numero? Stessa cosa per
i separatori di migliaia?

*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] NameError: global name 'SMTPSenderRefused' is not defined

2008-10-15 Thread Alessandro Dentella
>   try:
>   mail_sended += 1
>   server.sendmail(me, you[1], msg.as_string())
> 
>   #mittente rifiutato
>   except SMTPSenderRefused:
>   mail_sended -= 1
>   Send_Report(2)


>   File "./Mailman_Killer.py", line 213, in sendMails
> except SMTPSenderRefused:
> NameError: global name 'SMTPSenderRefused' is not defined

Non è che hai semplicemete dimenticato di importarlo?

*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Domande varie

2008-10-20 Thread Alessandro Dentella
On Mon, Oct 20, 2008 at 03:53:07PM +0200, Valerio Pachera wrote:
> Ciao ragazzi, sto leggendo del codice di alcuni programmi e vi sono
> delle cose che non mi sono chiare.
> 
> def __init__(self, **kw):
>   super(Document, self).__init__(**kw)
> 
> Correggetemi se sbaglio:
> Qua viene definito il costruttore che richiama il costruttore della
> classe genitore per estenderlo.
> 
> Cosa sono gli asterischi
> kv ha un significato particolare?


kw come keywords, spesso trovi anche kwargs, puoi usare il nome che più ti
aggrada.

**kw nella definizione di funzione indica che ogni keyword argument non
  precedentemente definito verrà messo in un dizionario kw.


In [1]: def abc(**kw):
   ...:print kw
   ...: 

In [2]: abc(uno=1, due=2)
{'due': 2, 'uno': 1}


quindi kw a questo punto è un dizionario, se vuoi chiamare il costruttore di
Document devi però passargli uno=1, due=2... '**' fa esattamente questo.

Esiste anche l'omologo per gli argomenti ed è l'asterisco semplice: '*'.

In [3]: def abc(*args):
   print args
   ...:

In [5]: abc(1,2,'mno')
(1, 2, 'mno')


*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Calcolo tra date

2008-10-27 Thread Alessandro Dentella
On Mon, Oct 27, 2008 at 11:56:56AM +0100, Zanon Samuele wrote:
> Ciao a tutti...
> volevo chiedere se e con quale modulo di python posso fare calcoli tra date e
> ore...


dateutils è utile, che ti serve in particolare?


sandro

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] [Announce] sqlkit - first public release

2008-11-09 Thread Alessandro Dentella
ANNOUNCE: sqlkit 0.8.3 

  November, 10  2008


I'm happy to announce release 0.8.3 of sqlkit package for python -  the first
public release.

  http://docs.argolinux.org/sqlkit

Sqlkit PyGtk package that provides Mask and Table widgets to edit database
data. It's meant as a base for database desktop application.

It has a very rich demo. Any comment is really appreciated.


Main features of sqlkit:


  * editor of databases in 2 modes: table & mask
  * based on sqlalchemy: can cope with many different databases
  * very powerfull filtering capabilities:
- each field can be used to filter records
- filter may span relationship
- date filtering possible also on relative basis (good for saved 
  queries)
  * completion on all text field and foreign keys
  * very easy way to draw a layout for mask views
  * completely effortless editing of relationships
  * very easy way to set defaults
  * possibility to display totals of numeric fields
  * any possible sql constraint can be attached to a Mask or a 
Table. It can be expressed as a normal sqlalchemy query or with 
django-like syntax
  * sqledit: python script to edit db
  

Sqlkit is based on:
---
  * python (>= 2.4) 
  * PyGtk   
  * Sqlalchemy (>= 0.5)
  * glade
  * dateutils


Dowload & more:
---

  * http://docs.argolinux.org/sqlkit/sqlkit/download.html
  * hg clone http://hg.argolinux.org/py/sqlkit
  * google group: http://groups.google.it/group/sqlkit/
  * License: GNU GPL
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] L'uovo e la gallina

2008-11-10 Thread Alessandro Dentella
Ciao,

  avevo due pacchetti differenti "debug" e "sqlkit". Sqlkit ha una classe
  che ha una metaclasse in debug, per soli scopi di sviluppo.

  La metaclasse che sfrutta la ricetta 198078 di ASPN aggiunge una parte di
  log ai metodi, lo fa solo se una variabile nel modulo di debug è True.
  Ovviamente lo deve fare quando il modulo viene importato...
  
  Ho unito i pacchetti, ora se un modulo chiama

 from sqlkit import debug


  per potere impostare a True la variabile, innesca l'import del modulo
  sqlkit, quando la variabile non è ancora impostata, e quindi niente
  debug...   (in quanto sqlkit/__init__.py importa il modulo con la metaclasse)


  Come si esce da questa situazione?  Ho anche provato a fare reload del
  modulo ma non succede nulla (non pare che lo rilegga)


sandro
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] notificazioni publisher - subscriber: quali standard?

2008-11-22 Thread Alessandro Dentella
On Sat, Nov 22, 2008 at 01:41:00PM +0100, Lawrence Oluyede wrote:
> On Sat, Nov 22, 2008 at 12:32 PM, max <[EMAIL PROTECTED]> wrote:
> > Salve,
> > volevo chiedere se ci siano degli standard, ed eventualmente dove
> > guardare, per la gestione di meccanismi di notificazione tipo publisher
> > subscriber, quelli che si usano nei modelli MVC per fare in modo che il
> > modello possa "comuncare ad altri" eventuali cambi di stato, senza
> > doversi appoggiare a librerie esterne a Python.
> > Ho visto che alcuni framework (es: wxWidgets, GTK...) hanno delle loro
> > implementazioni (o progetti relativi), ma mi piacerebbe capire se questa
> > cosa è fattibile in pure python senza doversi appoggiare ad altri
> > frameworks.
> 
> Ti riferisci a qualcosa come PyDispatcher? 
> http://pydispatcher.sourceforge.net/
> Viene usato per l'implementazione dei segnali in Django (per una sorta
> di pattern publisher-subscriber)

pygtk usa gobject che di fatto è ora completamente separato da GTK
(sbaglio?). 

Quali vantaggi/svantaggi ci sono fra i due per la gestione dei segnali?

sandro
*:-)

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] errore in applicazione django

2008-12-07 Thread Alessandro Dentella
> variable %s is undefined." % ENVIRONMENT_VARIABLE)
> ImportError: Settings cannot be imported, because environment variable
> DJANGO_SETTINGS_MODULE is undefined.
> 
> non riesco a capire dove sta l'errore.
> Grazie


Mi pare che l'errore sia molto chiaro: non è definita la variabile
d'ambiente DJANGO_SETTINGS_MODULE che deve puntare al file settings.py. Es.:

  export DJANGO_SETTINGS_MODULE=myproject.settings

che implica che sia possibile scrivere:

  python -c "import myproject"


sandro
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Programmare applicazioni grafiche

2008-12-22 Thread Alessandro Dentella
On Sun, Dec 21, 2008 at 03:21:16PM +0100, Zanon Samuele wrote:
> ciao a tutti... avete una guida, italiano o inglese, per creare applicazioni
> grafiche? vorrei iniziare un progetto per un corso che sto seguendo, ma non
> voglio un'interfaccia grafica... inoltre dovrei basarmi su un piccolo
> database.. mi consigliate mysql o basta sqlite? praticamente deve
> immagazzinarmi delle note riguardanti alcune persone... nulla di
> stratosferico... qualche consiglio? ciao e grazie mille


Se non ti fa schifo risolvere i problemi con meno di 10 righe di codice
(oltre alla scrittura delle tabelle) puoi provare con sqlkit [1]. E` ancora
molto in divenire ma assolutamente già utilizzabile. Non ti lega ad un db
perché usa sqlalchemy (oltre a PyGtk).

La demo dovrebbe chiariti cosa intendo quando dico meno di 10 righe, quindi
chiarire cosa ti offre e cosa non ti offre, in gran sintesi ti fornisce dei
widget con cui editi un db, segui le fkey, editi le relazioni m2m, m2o in
modo molto immediato.


sandro
*;-)


[1] http://sqlkit.argolinux.org



PS: Wind ha smesso di fare relay per questa lista... vediamo se arriva
inviando direttamente...

-- 
Sandro Dentella  *:-)
e-mail: san...@e-den.it 
http://sqlkit.argolinux.orgSQLkit home page - PyGTK/python/sqlalchemy
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Chi ben incomincia...

2009-01-01 Thread Alessandro Dentella
Ciao,

 sto diventando pazzo... non riesco assolutamente a capire dove stia
 l'inghippo nel codice qui sotto riportato. Stavo cercando di debuggare una
 mia classe (poi sistemata), entro via ipython in una funzione con pdb
 attivo::

   ipdb> l
   576 query = query.order_by(self.order_by)
   577 
   578 query = self.filter_panel.add_filter_conditions(query)
   579 
   580 if self.limit:
   --> 581 query = query.limit(self.limit)
   582 
   583 if self.is_mask():
   584 self.current = None
   585 self.clear(check=False)
   586 self.records = query.all()

   ipdb> self
   
   ipdb> self.query
   
   ipdb> query is None
   True
   ipdb> qq = self.query
   ipdb> qq
   
   ipdb> query = self.query
   ipdb> query
   ipdb> query is None
   True
   ipdb> self.query is None
   False

 Non riesco ad assegnare a query il valore self.query, in ogni modo query
 resta None, se invece che 'query' scelgo un nome di variabile qualunque
 es. : 'qq', tutto funziona regolarmente...

 Il problema per il quale avevo cominciato a debuggare dipendeva dal fatto
 che self.filter_panel.add_filter_conditions(query) non ritornava nulla
 Questo spiega il problema originario ma non il comportamento sopra
 riportato...

 Avete idee? mi sfugge qualcosa di come funziona ipython/pdb?

 buon anno
 sandro
 *:-)


La funziona all'interno della quale sta questo codice è qui:

  http://pastebin.com/m5374c919

-- 
Sandro Dentella  *:-)
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] Chi ben incomincia...

2009-01-01 Thread Alessandro Dentella
>  Il problema per il quale avevo cominciato a debuggare dipendeva dal fatto
>  che self.filter_panel.add_filter_conditions(query) non ritornava nulla
>  Questo spiega il problema originario ma non il comportamento sopra
>  riportato...

il problema può essere visto in questo codice minimale:

  def test():
  query = None
  zz

  test()

eseguendo questo codice in ipython::

   $ ipython /tmp/aa.py
   ---
Traceback (most recent call last)

   /tmp/aa.py in ()
 5 
 6 
   > 7 test()
 8 
 9 

   /tmp/aa.py in test()
 2 
 3 query = None
   > 4 zz
 5 
 6 

   : global name 'zz' is not defined
   WARNING: Failure executing file: 

   In [1]: debug
   > /tmp/aa.py(4)test()
 3 query = None
   > 4 zz
 5 

   ipdb> query = 1
   ipdb> query
   ipdb> query is None
   True



???
*:-)

-- 
Sandro Dentella  *:-)
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] Chi ben incomincia...

2009-01-01 Thread Alessandro Dentella
On Thu, Jan 01, 2009 at 08:54:28PM +0100, Daniele Varrazzo wrote:
> On Thu, 1 Jan 2009 11:34:44 +0100, Alessandro Dentella 
> wrote:
> 
> >  Non riesco ad assegnare a query il valore self.query, in ogni modo query
> >  resta None, se invece che 'query' scelgo un nome di variabile qualunque
> 
> Hai notato questo thread?
> 
> http://mail.python.org/pipermail/python-list/2004-September/282611.html
> 
> è abbastanza "citato", ma non ho verificato se è esattamente il tuo
> problema.


Grazie, ad occhio mi pare di si, ma è tardi e domani lo capirò meglio!

sandro
*:-)


-- 
Sandro Dentella  *:-)
http://sqlkit.argolinux.orgSQLkit home page - PyGTK/python/sqlalchemy
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] class-based gettext

2009-01-08 Thread Alessandro Dentella
Ciao,

  sto guardando per la prima volta gettext. Leggendo la documentazione del
  modulo ho seguito il suggerimento di usare la versione class-based ("It is
  the recommended way of localizing your Python applications and modules"),
  princialmente perché contempla un fallback (altra mail...).

  Ho aggiunto la localizzazione senza grandi problemi al mio modulo... tutto
  bene finché ho cambiato la variabile LANG. Quindi sono tornato all'esempio...

  Il codice della documentazione che riporto nel mio esempio è::

 san...@bluff:/tmp$ cat test.py 
 import gettext
 t = gettext.translation('example', 'locale')
 _ = t.lgettext

 print _('Hello World')

  eseguo (senza cartella locale e senza file .po/.mo)::

 san...@bluff:/tmp$ LANG='it_IT' python test.py
 Hello World

 san...@bluff:/tmp$ LANG='fr_FR' python test.py
 Traceback (most recent call last):
   File "test.py", line 2, in 
 t = gettext.translation('example', 'locale')
   File "/usr/lib/python2.5/gettext.py", line 484, in translation
 raise IOError(ENOENT, 'No translation file found for domain', domain)
 IOError: [Errno 2] No translation file found for domain: 'example'


  La versione con 'bindtextdomain' invece funziona anche cambiando LANG.

  Cosa sbaglio?
  La traduzione non c'è neanche per it_IT...  

  suggerimenti?

  sandro
  *:-)


  
-- 
Sandro Dentella  *:-)
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] class-based gettext

2009-01-09 Thread Alessandro Dentella
On Fri, Jan 09, 2009 at 12:24:02AM +0100, Pietro Battiston wrote:
> Il giorno gio, 08/01/2009 alle 23.38 +0100, Alessandro Dentella ha
> scritto:
> >   eseguo (senza cartella locale e senza file .po/.mo)::
> > 
> >  san...@bluff:/tmp$ LANG='it_IT' python test.py
> >  Hello World
> > 
> >  san...@bluff:/tmp$ LANG='fr_FR' python test.py
> >  Traceback (most recent call last):
> >File "test.py", line 2, in 
> >  t = gettext.translation('example', 'locale')
> >File "/usr/lib/python2.5/gettext.py", line 484, in translation
> >  raise IOError(ENOENT, 'No translation file found for domain', domain)
> >  IOError: [Errno 2] No translation file found for domain: 'example'
> > 
> > 
> >   La versione con 'bindtextdomain' invece funziona anche cambiando LANG.
> > 
> >   Cosa sbaglio?
> >   La traduzione non c'è neanche per it_IT...  
> > 
> >   suggerimenti?
> > 
> 
> Se la traduzione non c'è, le stringhe vengono mostrate in inglese, ma se

in realtà viene mostrato il msgid, che non è necessariamente in inglese né
un fallback

> la locale non è proprio configurata la libreria locale di python si
> arrabbia (penso che questo succederà con qualsiasi programma python,
> mentre un programma C userebbe "the fallback 'C' locale.").

Non è così. Se uso l'esempio con bindtextdomain:

   import gettext
   gettext.bindtextdomain('myapplication', 'locale')
   gettext.textdomain('myapplication')
   _ = gettext.gettext
   # ...
   print _('This is a translatable string.')

tutto funziona (mi ritorna il msgid) anche se manca il locale. La prima
versione, quella con class-based gettext non mi funziona ad esempio in un XP
fresco di instalazione tutto in italiano: lì non è impostata la variabile
LANG.

> "locale -a" ti dà la lista delle locale configurate nel sistema, ovvero
> che puoi utilizzare (a prescindere dall'avere o meno le stringhe di un
> dato programma); per installarne altre i pacchetti debian sono della
> forma language-pack-xy-base, es. language-pack-fr-base

ma io sto scrivendo un modulo che può essere usato nei più diversi sistemi,
non posso adottare una soluzione che appena uno ha un locale sballato mi da
errore... 

doctest
---
Possibile che la soluzione *preferita* dalla documentazione sia di fatto la
più delicata? in particolare usando i doctest ottengo sempre l'errore sopra
riportato se uso la versione class-based, anche se impongo un LANG
supportato dal mio sistema (>>> os.environ['LANG'] = 'en_US.utf8')

babel
--

L'ultimo capitolo di questa battaglia per la localizzazione è babel. Lo uso
per la localizzazione di numeri e date e va egregiamente ma nuovamente vuole
assolutamente che sia impostato un locale e non passa ad un default
'c'. Anzi usando LANG=C da errore dicendo che non è riconosciuto.

Potrei bypassare il problema testando la variabile prima ed impostandola
ad un default ragionevole (en_US) ma mi accorgo che i sistemi windows (almeno
il mio XP virtuale) non usa queste variabili... come faccio a capire che
localizzazione è in uso?


sandro
*:-)



PS: la mailing list di babel sembra una stanza anaecoica...





-- 
Sandro Dentella  *:-)
http://sqlkit.argolinux.orgSQLkit home page - PyGTK/python/sqlalchemy
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] intercettare gli errori di una aplicazione

2009-01-29 Thread Alessandro Dentella
Ciao,

  credo di fare una domanda semplice, ma in questo momento non mi viene in
  mente la soluzione...

  Voglio intercettare qualunque errore generato dalla applicazione che sto
  facendo per poi inviarmi per mail la stack trace (e non chiedere al mio
  cliente di inviarmela).

  L'applicazione è in PyGtk, credevo ingenuamente che bastasse fare girare
  gtk.main() in un try/except come segue ma non serve a nulla. Che devo
  fare? Immagino sia una necessità abbastanza comune ed immagino ci siano
  soluzioni ma non ho saputo farle venire fuori da google...

  sandro
  *:-)


#!/usr/bin/python

import gtk

class Test(object):

def __init__(self):
w = gtk.Window()
b = gtk.Button("Press for an error")
w.add(b)
w.show_all()

b.connect('clicked', self.on_clicked_error)

def on_clicked_error(self, widget):
print a


t = Test()


try:
gtk.main()
except Exception, e:
print "ERROR", e


-- 
Sandro Dentella  *:-)
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] intercettare gli errori di una aplicazione

2009-01-29 Thread Alessandro Dentella
On Thu, Jan 29, 2009 at 11:09:59AM +0100, Lawrence Oluyede wrote:
> On Thu, Jan 29, 2009 at 10:45 AM, Alessandro Dentella  wrote:
> >  Voglio intercettare qualunque errore generato dalla applicazione che sto
> >  facendo per poi inviarmi per mail la stack trace (e non chiedere al mio
> >  cliente di inviarmela).
> 
> Potresti sovrascrivere sys.excepthoook:
> http://www.python.org/doc/2.5.4/lib/module-sys.html


perfetto!

grazie
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] urllib timeout - prima che ci perda la testa

2009-02-23 Thread Alessandro Dentella
Ciao,

  ho una macchina (w2003) su cui non mi funziona urllib, va in timeout.
  La stessa funziona di test va benissimo su altre macchine e anche sulla
  stessa macchina con il python di cygwin:

 import urllib
 url = 'http://192.168.1.2/rel.txt'

 def get_url_content(url):
 fu = urllib.urlopen(url)
 url_content = fu.read()
 fu.close()
 return url_content

  con il python di cygwin 2.5.2 funziona egregiamente con quello del sito
  ufficiale (pure 2.5.2) no.

  Non so veramente dove cercare. Avete indizi? suggerimenti?

  sandro
  *:-)



-- 
Sandro Dentella  *:-)
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] urllib timeout - prima che ci perda la testa

2009-02-23 Thread Alessandro Dentella
On Mon, Feb 23, 2009 at 07:00:43PM +0100, Alessandro Dentella wrote:
> Ciao,
> 
>   ho una macchina (w2003) su cui non mi funziona urllib, va in timeout.
>   La stessa funziona di test va benissimo su altre macchine e anche sulla
>   stessa macchina con il python di cygwin:
> 
>  import urllib
>  url = 'http://192.168.1.2/rel.txt'
> 
>  def get_url_content(url):
>fu = urllib.urlopen(url)
>url_content = fu.read()
>fu.close()
>return url_content
> 
>   con il python di cygwin 2.5.2 funziona egregiamente con quello del sito
>   ufficiale (pure 2.5.2) no.
> 
>   Non so veramente dove cercare. Avete indizi? suggerimenti?
 
usando httplib direttamente evito il timeout:

   def get_url(host, file):
   conn = httplib.HTTPConnection(host)
   conn.request("GET", file)
   r = conn.getresponse()
   data = r.read()
   conn.close()
   return  data

commenti?

sandro
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] urllib timeout - prima che ci perda la testa

2009-02-23 Thread Alessandro Dentella
On Mon, Feb 23, 2009 at 07:26:59PM +0100, Raffaele Salmaso wrote:
> Alessandro Dentella wrote:
> > Ciao,
> > 
> >   ho una macchina (w2003) su cui non mi funziona urllib, va in timeout.
> 1) motivi particolari per usare urllib invece di urllib2?
> 2) urllib usa http 1.0, urllib2 usa http 1.1: può cambiare qualcosa?

provato anche urllib2 e non funziona.

> 3) fortunatamente non uso win indi non mi viene niente altro in mente ;)

Se anche io *usassi* windows avrei qualche idea, ed in aggiunta
-probabilmente- sarei molto più nervoso...

Ovviamente il probelma ora è solo di curiosità, il problme è risolto con
httplib... 

sandro
*:-)

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] errori in gobject su proprieta e try/except

2009-03-13 Thread Alessandro Dentella
Ciao,

  quest mattina sono incappato in una cosa che non riesco a capire. Un
  errore sollevato da un metodo che imposta una proprietà di gobject non
  viene "preso" (intrappolato, come dirlo?) da un try:/except:

  Come mai?

  grato a chi sappia illuminarmi...

  sandro
  *:-)


import gobject

class MyError(Exception): pass

class Test(gobject.GObject):
__gproperties__ = {
'date' : (gobject.TYPE_PYOBJECT,   # type
'Date',# nick name
'The date currently selected', # description
gobject.PARAM_READWRITE),  # flags
}

def get_date(self):
raise MyError("Gulp!")

def do_get_property(self, property):
if property.name == 'date':
return self.get_date()



t = Test()
try:
t.get_property('date')  # questo solleva MyError
except: # ma questo non lo vede e passa l'eccezione!!!
pass

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] *args vs. [1,2,3]

2009-03-16 Thread Alessandro Dentella
Ciao,

  ogni tanto scoprio mio malgrado cose elementari che non capisco... 

  ero convinto che nel passare argomenti ad una funzione, usare *list fosse
  equivalente a passare i singoli componenti (ed analogamente per i
  dizionari) ma vedo che non è così.

 def test(*args, **kw):
 pass

 a = [1,2,3]
 test(1,2,3, junk=True )# funziona
 test(*a, junk=True )   # solleva syntax error

  Quale dovrebbe essere la corretta sintassi della seconda versione?
  Devo necessariamente usare qualcosa come:

 test(*a, **{'junk' :True} )   # funziona

  Avevo sempre interpretato **kw come: raccogli tutti i keyword args nel
  dizionario kw, ma se fosse così avrebbe dovuto funzionare anche nella riga
  sopra (junk=True)

  chiedo lumi...   
  grazie
  sandro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] *args vs. [1,2,3]

2009-03-16 Thread Alessandro Dentella
On Mon, Mar 16, 2009 at 03:46:47PM +0100, Manlio Perillo wrote:
...
> >   dizionari) ma vedo che non è così.
> > 
> >  def test(*args, **kw):
> >  pass
> > 
> >  a = [1,2,3]
> >  test(1,2,3, junk=True )# funziona
> >  test(*a, junk=True )   # solleva syntax error
> > 
> 
> Stai facendo confusione su cosa faccia f(*a).

non mi pare proprio...

> E' chiamato scompattamento della lista di argomenti:
> http://docs.python.org/tutorial/controlflow.html#tut-unpacking-arguments
> 
> def f(a, b, c):
>  print a, b, c
> 
> a = [1, 2, 3]
> f(*a)

ed è ben così che l'ho usata anche nell'esempio


On Mon, Mar 16, 2009 at 04:05:51PM +0100, Daniele Varrazzo wrote:
> test(junk=True, *a) funziona come ti aspetti

questo lo avevo notato, ma il mio cervello lo ha filtrato, avendo presente che

> è vero che gli argomenti posizionali vanno dopo quelli nominali (quindi
> "test(foo=10, 1)" è un errore), 

già..

> ma gli argomenti * e ** vanno comunque alla fine.

ecco la parte che mi mancava! 

Leggendo la documentazione che mi hai indicato::

  consequence of this is that although the *expression syntax may appear
  after some keyword arguments, it is processed before the keyword arguments

dice solo *may appear*, non *must appear*, bisogna leggere con attenzione la
grammatica per cogliere quello mi era sfuggito!


grazie
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Announce: sqlkit 0.8.6-rc2

2009-03-26 Thread Alessandro Dentella


  ANNOUNCE: sqlkit 0.8.6-rc2

March, 25 - 2009


I'm happy to announce release 0.8.6-rc21 of sqlkit package for python.

  http://sqlkit.argolinux.org/

This release


Many things have been added: signals, hooks for validation, improved filters
for related tables, many new demo snippets and many bug fixes are among the
most important ones.

Refer to http://sqlkit.argolinux.org/download/Changelog for details

The package
---
SQLkit PyGtk package provides Mask and Table widgets to edit database
data. It's meant as a base for database desktop applications.

The application
---
It also provides 'sqledit' a PyGTK application based on sqlkit that can be
used from command line to browse and edit data.

The package has 2 very rich demo suites for sql widgets (the main one in
sqlkit/demo/sql/demo.py) and for layout creation
  
Main features of sqlkit:


  * editor of databases in 2 modes: table & mask
  * based on sqlalchemy: can cope with many different databases
  * very powerfull filtering capabilities:
- each field can be used to filter records
- filter may span relationship
- date filtering possible also on relative basis (good for saved 
  queries)
  * completion on all text field and foreign keys
  * very easy way to draw a layout for mask views
  * completely effortless editing of relationships
  * very easy way to set defaults
  * possibility to display totals of numeric fields
  * any possible sql constraint can be attached to a Mask or a 
Table. It can be expressed a s a normal sqlalchemy query or with 
django-like syntax
  * sqledit: python script to edit db
  

Sqlkit is based on:
---
  * python (>= 2.4) 
  * PyGtk   
  * Sqlalchemy (>= 0.5)
  * glade
  * dateutils
  * babel (localization)


Dowload & more:
---

  * http://sqlkit.argolinux.org/sqlkit/download.html
  * hg clone http://hg.argolinux.org/py/sqlkit
  * google group: http://groups.google.it/group/sqlkit/
  * License: GNU GPL

-- 
Sandro Dentella  *:-)
http://sqlkit.argolinux.orgSQLkit home page - PyGTK/python/sqlalchemy
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] programma Pycon?

2009-03-31 Thread Alessandro Dentella
Mi pare che il programma dovesse essere pubblicato da circa una settimana,
ci sono nuove?

sandro
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Gestionale fatto in casa

2009-04-15 Thread Alessandro Dentella
On Tue, Apr 14, 2009 at 05:58:53PM +0200, Diego Barrera wrote:
> Salve a tutti,
> mi sto avventurando nella stesura di un piccolo gestionale per la mia ditta.
> L'unica sicurezza che ho è quella di scrivere il mio progetto in python.
> Il gestionale mi dovrà gestire fondamentalmente il magazzino, le 
> spedizioni, i clienti e i fornitori; dovrà generare varie stampe.. 
> niente di speciale.
> Gli articoli penso saranno al massimo circa 100.000, le spedizioni 
> annuali altrettante.

ti hanno già fatto notare che può essere un progetto impegnativo e quindi
può valere la pena di guardare cosa c'è già. Esiste una gestionale in python
chiamato promogest2  parzialmente aperto, ma io non sono riuscito a testarlo
e loro non hanno risposto alle mie richieste di chiarimenti. Peraltro è
chiaramente attivo ed in continuo sviluppo

> Il gestionale sarà utilizzato da macchine linux e win con DB server linux.
> Sono indeciso sul DBMS: mysql o postgres , quale ha la migliore 
> integrazione con python?
> Sono indeciso anche sull'interfaccia utente: ncurses o gui (pyqt, wxpython)?

escluderei nella maniera più categorica ncurses, sicuramente nel giro di
poco tempo ti renderesti conti che ti serve una interfaccia più ricca che
con nsurses ti costerebbe troppo fare.

> Poichè devo iniziare con entrambi da zero, mi interessa il piu' rapido 
> da apprendere e sviluppare.

Io per fare alcuni gestionali ho sviluppato sqlkit [1], un piccolo framework
basato su PyGTK e sqlalchemy che ti offre la possibilità di creare
interfacce per editing dei dati in modo estremamente veloce. 

Le caratteristiche principali sono: la possibilità di creare maschere per
l'inserimento di dati anche con relazioni m2m/m2o (testata fatture/righe),
il completamento automatico per le FKey, i filtri su ogni tabella, anche
sulle tabelle collegate da relazioni m2m, gli 'hooks' per la validatione dei
dati, la facilità di aggiungere constraints.

Puoi fare un giro sul sito per capire di cosa parlo e scaricare e testare la
ricca demo: oltre 50 esempi da poche righe ciascuno. Purtroppo dipende da un
certo numero di pacchetti esterni: leggi attentamente le dipendenze.

sandro
*:-)


[1] sqlkit.argolinux.org


-- 
Sandro Dentella  *:-)
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] Gestionale fatto in casa

2009-04-15 Thread Alessandro Dentella
> > Con ncurses potrei usare ssh da remoto?
> >   
> 
> Ma anche con QT e ssh -X... dopo tutto e' uno unix

penso che però le prestazioni sarebbero molto migliori facendo passare solo i
dati... ovvero, GUI in locale e db remoto, se puoi connetterti da una
macchina dove hai diritto di installare il tuo programma.


sandro
*:-)

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Modificare una email

2009-05-14 Thread Alessandro Dentella
On Thu, May 14, 2009 at 11:01:22AM +0200, Oberdan Albertoni wrote:
> Salve,
> dovrei fare un programma che legge una email ed in base al soggetto deve 
> rimandare la stessa email ad altri indirizzi.

se non devi modificare la mail (come il soggetto innvece suggerisce), non
vincolato al python e magari sei su un sistema linux, questo tipo di
problemi si risolve con procmail o simili programmi con qualche riga di
cofigurazione. Dalla manpage di procmail:

   Forward all mail from peter about compilers to william (and keep a copy of
   it here in petcompil).

  :0
  * ^From.*peter
  * ^Subject:.*compilers
  {
 :0 c
 ! will...@somewhere.edu

 :0
 petcompil
  }

sandro
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] trovare l' encoding di un file

2009-06-10 Thread Alessandro Dentella
Ciao,

  come faccio a trovare l'encoding di un file che sto eseguendo?  Il file
  comincia con::

 # coding: utf-8'

  dentro quel file è definita una stringa che devo passare come description
  a optparse.OptionParser(opt, description=...). Posso in questo caso
  usare::

unicode(..., encoding='utf-8'), ma vorrei fare una procedure lievemente 

  più generica prendendo l'encoding dal file stesso. E` possibile?

  sandro
  *:-)


PS: se importo pango, tutto funziona correttamente, anche senza forzare
l'encoding. 

-- 
Sandro Dentella  *:-)
http://sqlkit.argolinux.orgSQLkit home page - PyGTK/python/sqlalchemy
#!/usr/bin/python
# coding: utf-8

"""
Questo è un esempio di ciò che voglio
"""
#import pango
import optparse

p = optparse.OptionParser('', description=__doc__)
p.print_help()



___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] trovare l' encoding di un file

2009-06-10 Thread Alessandro Dentella
On Wed, Jun 10, 2009 at 11:50:10AM +0200, Daniele Varrazzo wrote:
> On Wed, 10 Jun 2009 11:28:53 +0200, Alessandro Dentella 
> wrote:
> > Ciao,
> > 
> >   come faccio a trovare l'encoding di un file che sto eseguendo?  Il file
> >   comincia con::
> > 
> >  # coding: utf-8'
> > 
> >   dentro quel file è definita una stringa che devo passare come
> >   description
> >   a optparse.OptionParser(opt, description=...). Posso in questo caso
> >   usare::
> > 
> > unicode(..., encoding='utf-8'), ma vorrei fare una procedure
> lievemente
> > 
> >   più generica prendendo l'encoding dal file stesso. E` possibile?
> 
> Spero di aver capito bene la faccenda, non se sono sicuro.
> 
> Io credo che l'encoding del file serva solo a definire in che encoding sono
> codificate le costanti unicode nei sorgenti. Perché usi esplicitamente il
> costruttore unicode? Secondo me basta:
> 
> desc=u"àè€"
> optparse.OptionParser(opt, description=desc)
> 

Effettivamente così funziona l'esempio, purtroppo nel caso reale mi solleva
altri problemi (che sembrano completamente scorrelati), per cui quando avevo
fatto la prova, vedendo l'errore avevo cortocircuitato il cervello. Fra
poco indago meglio cosa mi sta dicendo l'errore.

grazie
sandro
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] trovare l' encoding di un file

2009-06-10 Thread Alessandro Dentella
> Effettivamente così funziona l'esempio, purtroppo nel caso reale mi solleva
> altri problemi (che sembrano completamente scorrelati), per cui quando avevo
> fatto la prova, vedendo l'errore avevo cortocircuitato il cervello. Fra
> poco indago meglio cosa mi sta dicendo l'errore.

trovato. 
Faccio un passo indietro. Sto aggiungendo la possibilità di scrivere un
testo descrittivo alla ricetta di Simionato 'optionparse' [1]. In quella
ricetta, le opzioni da passare al parser sono nella docstring, che viene
'parsata' con una regexp.

Se la docstring è unicode anche i 'pezzetti' passati a parse.add_options,
saranno unicode (alla riga 65):

   p.add_option(short.strip(),long.strip(),
 action = action, help = help.strip())

e questo non viene digerito da optparse.

Quindi avevo pensato di fare diventare unicode solo le help string e la
description, ma in effetti posso semplicemente fare ridiventare 'ascii' le
opzioni... vedo che vanno ugualmente bene str() ed .encode('ascii').


sandro
*:-)

[1] http://code.activestate.com/recipes/278844/
ps: allego la versione finale...

-- 
Sandro Dentella  *:-)
http://sqlkit.argolinux.orgSQLkit home page - PyGTK/python/sqlalchemy
# coding: utf-8
"""\
:Author: M. Simionato
:Date: April 2004
:Title: A much simplified interface to optparse.

You should use optionparse in your scripts as follows.
First, write a module level docstring containing something like this
(this is just an example):

'''usage: %prog files [options]
   -d, --delete: delete all files
   -e, --erase = ERASE: erase the given file'''
   
Then write a main program of this kind:

# sketch of a script to delete files
if __name__=='__main__':
import optionparse
option,args=optionparse.parse(__doc__)
if not args and not option: optionparse.exit()
elif option.delete: print "Delete all files"
elif option.erase: print "Delete the given file"

Notice that ``optionparse`` parses the docstring by looking at the
characters ",", ":", "=", "\\n", so be careful in using them. If
the docstring is not correctly formatted you will get a SyntaxError
or worse, the script will not work as expected.
"""

import optparse, re, sys

USAGE = re.compile(r'\s*(?P.*)\s*\s*usage: (?P.*?)(\n[ \t]*\n|$)',
   re.DOTALL|re.UNICODE|re.LOCALE)

def nonzero(self): # will become the nonzero method of optparse.Values   
"True if options were given"
for v in self.__dict__.itervalues():
if v is not None: return True
return False

optparse.Values.__nonzero__ = nonzero # dynamically fix optparse.Values

class ParsingError(Exception): pass

optionstring=""

def exit(msg=""):
raise SystemExit(msg or optionstring.replace("%prog",sys.argv[0]))

def parse(docstring, arglist=None):
global optionstring
optionstring = docstring
match = USAGE.search(optionstring)
if not match: raise ParsingError("Cannot find the option string")
optlines = match.group('usage').splitlines()
try:
descr = match.group('descr')
p = optparse.OptionParser(optlines[0], description=descr)
for line in optlines[1:]:
opt, help=line.split(':')[:2]
short,long=opt.split(',')[:2]
if '=' in opt:
action='store'
long=long.split('=')[0]
else:
action='store_true'

p.add_option(str(short.strip()),str(long.strip()),
 action = action, help = help.strip())
except (IndexError,ValueError):
raise ParsingError("Cannot parse the option string correctly")
return p.parse_args(arglist)


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] problemi con pyinstaller

2009-06-25 Thread Alessandro Dentella

Dopo la presentazione al pycon, ho voluto are una chace a pyinstaller, con
l'obiettivo di creare un eseguibile per il pacchetto sqlkit [1].

Incontro problemi per due probelmi:

  1. localizzazione. Un semplice eseguibile come:

   from babel import numbers
   print numbers.format_decimal(123.4) 

   da errore anche sulla macchina su cui è generato, potete vedere un log
   completo nel messaggio inviato alla lista:
   
http://groups.google.it/group/PyInstaller/browse_frm/thread/81185ab5e2af5eef?hl=it
   

   che in buona sostanza si riduce a:

  babel.core.UnknownLocaleError: unknown locale 'it_IT' 

  2. Linux: Non vengono trovate alcune librerie pur presenti nella cartella
  dove sta l'eseguibile, la cosa dovrebbe essere imputata al fatto che non
  viene correttamente impostato LD_LIBRARY_PRELOAD, se capisco giusto.

  riporto di seguito il log.

  Avete idee di come risolvere questi probelemi?

  grazie
  sandro
  *:-)

[1] http://sqlkit.argolinux.org  



> PyInstaller does set LD_LIBRARY_PATH to the directory where it's running
> from (in one-dir mode). Try printing the contents of that environment
> variable at the beginning of the program, before importing GTK.

The following example shows what I mean:

san...@bluff:/misc/src/svn/pyinstaller-hg$ cat babex/ex2.py 
import os
print "\nLD_LIBRARY_PRELOAD:", os.environ.get('LD_LIBRARY_PRELOAD', None)

san...@bluff:/misc/src/svn/pyinstaller-hg$ Makespec.py babex/ex2.py
wrote /home/misc/src/svn/pyinstaller-hg/ex2/ex2.spec
now run Build.py to build the executable
san...@bluff:/misc/src/svn/pyinstaller-hg$ Build.py ex2/ex2.spec
checking Analysis
building because babex/ex2.py changed
running Analysis outAnalysis0.toc
Analyzing: ./support/_mountzlib.py
Analyzing: ./support/useUnicode.py
Analyzing: babex/ex2.py
ex2/build/pyi.linux2/ex2/outAnalysis0.toc no change!
checking PYZ
checking PKG
building because babex/ex2.py changed
building PKG outPKG3.pkg
checking EXE
rebuilding outEXE2.toc because pkg is more recent
building EXE from outEXE2.toc
Appending archive to EXE ex2/build/pyi.linux2/ex2/ex2
checking COLLECT
building outCOLLECT4.toc because ex2/build/pyi.linux2/ex2/ex2 is more recent
building COLLECT outCOLLECT4.toc
san...@bluff:/misc/src/svn/pyinstaller-hg$ ex2/dist/ex2/ex2 

LD_LIBRARY_PRELOAD: None




___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] problemi con pyinstaller

2009-06-26 Thread Alessandro Dentella
On Thu, Jun 25, 2009 at 12:47:45PM +0200, Alessandro Dentella wrote:
> 
> Dopo la presentazione al pycon, ho voluto are una chace a pyinstaller, con
> l'obiettivo di creare un eseguibile per il pacchetto sqlkit [1].
> 
> Incontro problemi per due probelmi:
> 
>   1. localizzazione. Un semplice eseguibile come:
> 
>from babel import numbers
>print numbers.format_decimal(123.4) 
> 
>da errore anche sulla macchina su cui è generato, potete vedere un log
>completo nel messaggio inviato alla lista:
>
> http://groups.google.it/group/PyInstaller/browse_frm/thread/81185ab5e2af5eef?hl=it
>
> 
>che in buona sostanza si riduce a:
> 
>   babel.core.UnknownLocaleError: unknown locale 'it_IT' 
> 
>   2. Linux: Non vengono trovate alcune librerie pur presenti nella cartella
>   dove sta l'eseguibile, la cosa dovrebbe essere imputata al fatto che non
>   viene correttamente impostato LD_LIBRARY_PRELOAD, se capisco giusto.
> 
>   riporto di seguito il log.
> 
>   Avete idee di come risolvere questi problemi?


Il fatto che questa lista - sempre molto collaborativa e reattiva- non
risponda a questi quesiti su pyinstaller è segno che pyinstaller è poco
usato o che pyintaller non è usato sotto Linux o non è usato neanche in
Windows ma con la localizzazione?

Qualcuno sa dirmi se py2exe è per caso più indicato per un eseguibile con la
localizzazione (non gettext, quello funziona anche con pyinstaller).


sandro
*:-)

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] problemi con pyinstaller

2009-06-26 Thread Alessandro Dentella
On Fri, Jun 26, 2009 at 04:32:08PM +0200, Daniele Varrazzo wrote:
> On Fri, 26 Jun 2009 16:12:51 +0200, Alessandro Dentella 
> wrote:
> 
> > Il fatto che questa lista - sempre molto collaborativa e reattiva- non
> > risponda a questi quesiti su pyinstaller è segno che pyinstaller è poco
> > usato o che pyintaller non è usato sotto Linux o non è usato neanche in
> > Windows ma con la localizzazione?
> 
> Io non l'ho mai usato con la localizzazione. Né ho mai avuto problemi di
> librerie non trovate. Quindi non ho niente da dirti se non "boh". Vuoi un
> "boh" da ogni iscritto alla ML?

certo che no, ma magari sapere che qualcuno non ha avuto problemi mi
incoraggia a tentarci, sapere che qualcuno usa  con Linux e funziona... mi
incoraggia.


> N.B.: il tuo problema con il locale non trovato lo debugghi facilmente con
> strace.

ni... il fatto è che io non voglio mettere ogni locale possibile dentro
li... questo, fatto con gettext funziona, ottengo un messaggio localizzato.

Ma io immagino che ogni persona abbia un setup con la sua localizzazione
funzionante e quindi troverei giusto che la localizzazione venga cercata
fuori dall'ambiente che uno crea con pyinstaller.


> Il tuo problema è specifico di PyInstaller: credo sia quella la ML da
> pingare per avere risposte.

vero ma in questo momento Giovanni è occupato ed ho pensato che poteva
esserci esperienza specifica anche qui. In particolare mi ha spiazzato il
fatto che ciascuno dei due test che mi danno problemi sono di due righe.

Confesso che mi sono anche chiesto se magari qualcuno mi avrebbe suggerito
soluzioni alternative funzionanti, cosa che nela mailing list non sarebbero
state... opportune.


Mi accorgo ad esempio che il codice generato per linux non imposta
LD_LIBRARY_PRELOAD, il che significa che non c'è proprio modo che funzioni
per nessuno su Linux... possibile che nessuno abbia avuto lo stesso
problema?... almeno nella versione --onedir

sandro
*:-)
 
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] problemi con pyinstaller

2009-06-26 Thread Alessandro Dentella
> > Mi accorgo ad esempio che il codice generato per linux non imposta
> > LD_LIBRARY_PRELOAD, il che significa che non c'è proprio modo che
> funzioni
> > per nessuno su Linux... possibile che nessuno abbia avuto lo stesso
> > problema?... almeno nella versione --onedir
> 
> Ha sempre e solo funzionato con LD_LIBRARY_PATH. Non so a che serva
> LD_LIBRARY_PRELOAD (che ha 235 hit in tutto su google) ma a me non è mai
> stato necessario per far funzionare né PyInstaller né Linux.

ops, questo è un typo mio, ma solo nel produrre l'esempio per la mailing
list. Nell'eseguibile prodotto da pyinstaller io trovo LD_LIBRARY_PATH
vuoto:

  san...@bluff:/misc/src/svn/pyinstaller-hg$ cat ex2/ex2.py
  import os
  print 'LD_LIBRARY_PATH', os.environ.get('LD_LIBRARY_PATH', None)

  san...@bluff:/misc/src/svn/pyinstaller-hg$ Makespec.py ex2/ex2.py 
  wrote /home/misc/src/svn/pyinstaller-hg/ex2/ex2.spec
  now run Build.py to build the executable

  san...@bluff:/misc/src/svn/pyinstaller-hg$ Build.py ex2/ex2.spec
  checking Analysis
  building because ex2/ex2.py changed
  running Analysis outAnalysis0.toc
  Analyzing: ./support/_mountzlib.py
  Analyzing: ./support/useUnicode.py
  Analyzing: ex2/ex2.py
  ex2/build/pyi.linux2/ex2/outAnalysis0.toc no change!
  checking PYZ
  checking PKG
  checking EXE
  checking COLLECT

  san...@bluff:/misc/src/svn/pyinstaller-hg$ ./ex2/dist/ex2/ex2 
  LD_LIBRARY_PATH None

Sbaglio forse a supporre che quella variabile dovrebbe essere valorizzata
almeno alla cartella da dove parte?  Tu hai un risultato differente?

sandro
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] ANNOUNCE - Sqlkit 0.8.6

2009-09-12 Thread Alessandro Dentella
  ANNOUNCE: sqlkit 0.8.6

September, 12 - 2009


I'm happy to announce release 0.8.6 of sqlkit package for python.

  http://sqlkit.argolinux.org/

This release


This is the first stable release. It features a new interface for the
standalone command (sqledit), many improvements and functions added.

We have used pyinstaller to create standalone executable for Linux and Mac,
you can download them to use the application and to run the demo.

It's now registered in pypi so you can 'easy_install' it, if you already
installed pygtk.
I'm currently looking for a debian sponsor to upload the package in sqeeze.

A new tutorial is available here:
http://sqlkit.argolinux.org/sqlkit/tutorial.html

Refer to http://sqlkit.argolinux.org/download/Changelog for details


The package
---
SQLkit PyGtk package provides Mask and Table widgets to edit database
data. It's meant as a base for database desktop applications.

The application
---
It also provides 'sqledit' a PyGTK application based on sqlkit that can be
used from command line to browse and edit data. 

The package has 2 very rich demo suites for sql widgets (the main one in
sqlkit/demo/sql/demo.py) and for layout creation
  
Translations


If you like sqlkit and want to help translating, you may find the project on:
  
  https://launchpad.net/sqlkit

Main features of sqlkit:


  * editor of databases in 2 modes: table & mask
  * based on sqlalchemy: can cope with many different databases
  * very powerfull filtering capabilities:
- each field can be used to filter records
- filter may span relationship
- date filtering possible also on relative basis (good for saved 
  queries)
  * completion on all text field and foreign keys
  * very easy way to draw a layout for mask views
  * completely effortless editing of relationships
  * very easy way to set defaults
  * possibility to display totals of numeric fields
  * any possible sql constraint can be attached to a Mask or a 
Table. It can be expressed a s a normal sqlalchemy query or with 
django-like syntax
  * sqledit: python script to edit db
  

Sqlkit is based on:
---
  * python (>= 2.4 - but developed on 2.5)  
  * PyGtk   
  * Sqlalchemy (>= 0.5)
  * glade
  * python-dateutil
  * babel (localization)
  * you db driver of choice

Dowload & more:
---

  * Download: http://sqlkit.argolinux.org/sqlkit/download.html
  easy_install sqlkit
  * Source:   hg clone http://hg.argolinux.org/py/sqlkit
  * Google Group: http://groups.google.it/group/sqlkit/
  * Translation:  https://launchpad.net/sqlkit
  * Tutorial: http://sqlkit.argolinux.org/sqlkit/tutorial.html
  * Changelog:http://sqlkit.argolinux.org/download/Changelog
  * License:  GNU GPL
  

-- 
Sandro Dentella  *:-)
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] Dov'è che Python cerca i programmi da eseguire?

2009-10-08 Thread Alessandro Dentella
On Thu, Oct 08, 2009 at 06:34:35PM +0200, Aldes Rossi wrote:
> Non riesco a capire dove python cerchi i file da eseguire.

Stai confondendo i path per "i file da eseguire" ed i path dei moduli.

Il sys.path ti dice le cartelle dove python cerca i moduli quando usi
'impoort', a seguito di::

  import pdb

python cerca il modulo nel sys.path.

Quello a cui tu invece stai pensandro è un meccanismo simile al $PATH di un
sistema unix che invece non mi pare presente in python. Nota che neanche
PYTHONPATH fa quello che cerchi, PYTHONPATH aggiunge solo dei path (sempre
per import) al sys.path.

sandro
*:-)

-- 
Sandro Dentella  *:-)
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] Documentare Python

2009-10-14 Thread Alessandro Dentella
On Wed, Oct 14, 2009 at 12:38:22PM +0200, Antonello Mangone wrote:
> Ciao a tutti, posto una richiesta che spero non sia considerata troppo
> particolare.
> Non so se   fattibile, ma vorrei documentare Python in modo da produrre dei
> documenti HTML in stile API di Java, PHP ecc ... o altrimenti in altri 
> formati,
> ma comunque qualcosa di statico che pu  essere ovviamente aggiornato in 
> maniera
> rapida, partendo dai commenti che vengono inseriti all'interno delle classi
> Python e delle funzioni o metodi.
> I commenti di cui parlo sono quelli che iniziano e finiscono con """ e """, 
> che
> vengono utilizzati da IDE evoluti per fornire documentazione di classi e
> funzioni durante il loro uso.
> Un grosso grazie a chiunque riesca a fornirmi una dritta ... anche solo
> documentazione


Ti suggerisco di guardare sphinx, il sistema concui viene prodotta la
documentazione di python stesso su www.python.oro, di django e di tanti
altri (fra cui [1] :-).

Oltre a permettere di scrivere la documentazione in formato rst aggiunge
molte direttive molto comode oltre a cose come 'automodule' che legge la
docstring del modulo, 'autoclass' che legge la docstring della classe e a
piacimento produce la documentazione per i vari metodi:

  http://sphinx.pocoo.org/

sandro
*:-)

-- 
Sandro Dentella  *:-)
[1] http://sqlkit.argolinux.org   SQLkit home page - PyGTK/python/sqlalchemy
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Documentare Python

2009-10-15 Thread Alessandro Dentella
On Wed, Oct 14, 2009 at 01:02:50PM +0200, Daniele Varrazzo wrote:
> Sfortunatamente il progetto non è più tanto attivo: mi sembra che ora il
> più attivo tra i progetti simili sia Sphinx (http://sphinx.pocoo.org/) che
> è il sistema con cui viene creata la documentazione ufficiale del Python.
> Non so che vantaggi abbia rispetto ad altri sistemi... ma se è riuscito a
> mandare in pensione il sistema di documentazione precedente basato su
> LaTeX, qualcosa di buono deve averlo! :)

non ho mai usato epidoc, quindi non faccio un confronto. I punti di forza di
sphinx per guadagnarsi me come appassioneto utente sono stati:

 * che è basato sul formato ReST che a me piace molto, trovo elegante,
   chiaro ed estremamente semplice

 * che permette con poco di ottenere una grafca accattivante

 * che aggiunge a ReSt alcune direttive che permettono di connettere pagine
   differenti con sintassi molto semplice

 * che permette di produrre documentazione pdf di ottima qualità usando
   LaTeX

Davvero scrivere documentazione è diventata una esperienza semplice e di
grande soddisfazione. 

sandro
*:-)


-- 
Sandro Dentella  *:-)
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] Salve a tutti

2009-11-02 Thread Alessandro Dentella
On Mon, Nov 02, 2009 at 09:57:45AM +0100, Federico Sanna wrote:
> >Ma perche' non usare come base OpenERP?
> >Quale e' il senso di reinventare la ruota... ;)
> 
> Perchè lo trovo molto dispersivo per i miei clienti, non si adatta 
> completamente alle loro esigenze. Ti faccio un esempio sotto windows ho 
> creato un software per gestire dei contratti, le riba, le ritenute, 
> possibilità di creare da preventivo le fatture, gestire i pagamenti, etc 
> (altre cose particolari che sono più tecniche e per motivi di tempo non sto 
> qui a spiegare). Per esperienza ho capito che preferiscono sempre le 
> soluzioni desktop che web browser. Anche io sinceramente le preferisco per 
> una serie di motivi, ma credo che sia a gusti.

Vorrei suggerirti di dare una occhiata a sqlkit [1], è nato esattamente per
questo tipo di esigenze, si basa su sqlalchemy e pygtk ed è ovviamente
multipiattaforma.

Ti suggerisco di dare una occhiata alla ricca demo che puoi anche saricarti
in un unico boundle fatto con pyinstaller, ma anche dal sito dovresti
capire che tipo di vantaggi ti da. 

Sqlkit ti offre dei macrowidget molto personalizzabili per l'editing a
tabella o a maschera (o ogni mix di questi) di ogni selectable di sqlalchemy
esprimibie con un mapper.

Offre potenti funzionaliltà come completamento, filtri, constraint,
validazione e stampa di report (non ancora nella versione rilasciata)
tramite oootemplate [2] che è un sistema di stampa che usa template generati
con openoffice.


sandro



[1] http://sqlkit.argolinux.org
[2] http://oootemplate.argolinux.org

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Compilazione .exe

2009-11-17 Thread Alessandro Dentella
On Tue, Nov 17, 2009 at 11:19:26AM +0100, Federico wrote:
> Il giorno mar, 17/11/2009 alle 10.42 +0100, Massimiliano Pippi ha
> scritto:
> > 2009/11/17 Federico :
> > > Salve a tutti, sono nuovo di questa lista e di python, non riesco a
> > > capire come posso compilare un programma in .exe per farlo girare sotto
> > > windows.
> > http://www.pyinstaller.org/
> > 
> > > E' possibile nascondere anche il codice sorgente una volta
> > > compilato??
> > >
> > E' un discorso un po' lungo, fondamentalmente dipende dalla tua
> > definizione di "nascondere".
> > In linea di massima ti risponderei: sì, un pochino...
> > 
> > 
> 
> Grazie mille, Quindi in fatto di sicurezza del codice python non offre
> tantissimo?

un codice non offuscato è meno "sicuro"?
forse intendi "in fatto di protezione della segretezza del codice"...

sandro
*:-)

-- 
Sandro Dentella  *:-)
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] Problemi un con la "è" su Eric4 Edi tor

2009-11-17 Thread Alessandro Dentella
On Tue, Nov 17, 2009 at 06:29:55PM +0100, Federico wrote:
> Salve a tutti io ho alcuni problemi con l'editor Eric4, in pratica
> quando vado a provare lo script mi restituisce un errore soltanto se c'è
> un "è" con l'accento.

E` bouna norma dire quale errore viene sollevato.
In ogni caso visto il contesto è probabile che tu abbia  omesso di dichiarare
l'encoding del file. Probabilmente utf-8. Prova ad aggiungere come prima
riga:

# coding: utf-8

anche se, se quello è l'errore, il messaggio da già il riferimento alla
soluzione:

san...@bluff:/tmp$ cat a.py
print 'è'
san...@bluff:/tmp$ python a.py
  File "a.py", line 1
SyntaxError: Non-ASCII character '\xc3' in file a.py on line 1, but no encoding 
declared; see http://www.python.org/peps/pep-0263.html for details

Se non è questo ed è invece un errore di Eric4 io non l'ho mai usato e mi
ritiro in disparte...

sandro
*:-)


-- 
Sandro Dentella  *:-)
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] Problemi un con la "è" su Eric4 Edi tor

2009-11-18 Thread Alessandro Dentella
On Wed, Nov 18, 2009 at 08:12:18AM +0100, wipedisk wrote:
> Il giorno Tue, 17 Nov 2009 22:03:19 +0100
> Marco Beri  ha scritto:
> 
> > Personalmente in tutti i miei file in cima metto sempre:
> > 
> > # -*- coding: utf-8 -*-
> > 
> > E cosi` dormo sonni (quasi) tranquilli.
> > 
> > Ciao.
> > Marco.
> 
> quindi questa soluzione sarebbe valida per qualsiasi programma scritto
> in Python? 

No. 

1. La codifica dichiarata deve corrispondere alla codifica realmente
   utilizzata

il codice::

   # coding: utf-8
   print u'è'

encodato latin1, produce questo errore:

   san...@bluff:/tmp$ python latin.py 
   UnicodeDecodeError: 'utf8' codec can't decode byte 0xe8 in position 0: 
unexpected end of data

la stessa lettera 'è' scritta in utf-8 ed in latin1  appare così::

  san...@bluff:/tmp$ od -bc e-utf8.py 
  000 303 250
  303 250
  003
  san...@bluff:/tmp$ od -bc e-latin1.py 
  000 350 
  350 
  002


2. la codifica dichiarata è limitata... al codice cui si riferisce, non a
   ciò che viene da file, template, database, getmessage.

   Poi ricorda che print u'è' e print 'è'  sono cose diverse::

  # coding: utf-8

  print len('è'), 'è'
  print len(u'è'), u'è'

  produce:

  2 è
  1 è


ciò detto il codice scritto sopra eseguito in un terminale gnome (utf-8)
produce il codice riportato mentre in emacs mi da un errore di encoding
perchè cerca di encodarlo in ascii nel buffer di uscita di emacs (che però è
utf-8...) non sono ancora riuscito a capire come configurarlo per evitare
l'errore. 

sandro
*:-)

-- 
Sandro Dentella  *:-)
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] Problemi un con la "è" su Eric4 Edi tor

2009-11-18 Thread Alessandro Dentella
On Wed, Nov 18, 2009 at 02:10:07PM +0100, Marco Beri wrote:
> 2009/11/18 Alessandro Dentella 
> 
> 
> 1. La codifica dichiarata deve corrispondere alla codifica realmente
>   utilizzata
> 
> il codice::
> 
>   # coding: utf-8
>   print u'è'
> 
> encodato latin1, produce questo errore:
> 
>   san...@bluff:/tmp$ python latin.py
>   UnicodeDecodeError: 'utf8' codec can't decode byte 0xe8 in position 0:
> unexpected end of data
> 
> 
> Quello è dovuto al fatto che, tentando di stampare a video prova a fare
> l'encoding in ascii.

non credo sia così. dice "can't decode". Guarda che quello era un esempio
sbagliato apposta. Il file era coificato latin-1 ma avevo mantenuto la
scritta coding utf-8.


> # coding: utf-8
> print u'è'.encode('ascii', 'ignore')
> print u'è'.encode('ascii', 'xmlcharrefreplace')
> print u'è'.encode('ascii', 'replace')
> 
> Questo codice dovrebbe non fallire, confermi?

non fallisce ma quello che ottengo non può avere un accento...

> ciò detto il codice scritto sopra eseguito in un terminale gnome (utf-8)
> produce il codice riportato mentre in emacs mi da un errore di encoding
> perchè cerca di encodarlo in ascii nel buffer di uscita di emacs (che però
> è
> utf-8...) non sono ancora riuscito a capire come configurarlo per evitare
> l'errore.
> 
> 
> Mi sono abituato, quando devo fare delle print a video, ad usare una di quelle
> print.

nota che a me la print a video non da problemi, solo Control-c Contro-c in
emacs lo da. La cosa mi urta perché uso molto emacs per prove di questo
tipo, anche se mai con lettere accentate.

> A parte che, da quando uso pdb di print a video (che prima ritenevo lo
> strumento principe del debug) ne faccio molte meno.

io ora non uso più pdb... uso ipdb che ti da in pdb tutto quello che ti da
ipython: completion, colori...

sandro
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Differenze di date tra un file e la data attuale

2009-11-26 Thread Alessandro Dentella
On Thu, Nov 26, 2009 at 12:00:04PM +0100, Zanon Samuele wrote:
> ciao a tutti... sto facendo un scriptino di manutenzione in python,
> solo che sono arrivato ad un punto che non riesco a risolvere: dovrei
> controllare la differenza tra la data attaule del server e la data di
> modifica del file... lo script va  messo su un server ftp e mi serve
> per eliminare i file più vecchi di 48 ore... mi potete dare una mano?
> sono riuscito a fare il ciclo che mi recupera l'intero percorso del
> file, ma non riescoa fare la differenza.

Ovviamente lo fai per esercizio... su un server reale sarebbe più semplice
mettere in cron:

0 * * * * root find /your/path -ctime +2 -exec rm {} \;

sandro
*:-)

-- 
Sandro Dentella  *:-)
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] Porting medica2 Was: [OT] Cerco posto lavoro stimolante.

2010-01-14 Thread Alessandro Dentella
On Thu, Jan 14, 2010 at 11:28:26PM +0100, Giorgio Zoppi wrote:
> Ripeto se siamo in 4 o 5 e ci organizziamo in un paio di mesi si tira
> su qualcosa di decente da presentare a colleghi di mauro,
> a costi minori. Ora se non ricordo male il clipper era il successore
> del vecchissimo db3 o qualcosa di simile, penso che non
> ci sia SQL dentro. Basterebbe una chiaccherata anche via skype in call
> conference, per sapere come gestire la roba.
> Io il mio sassolino l'ho buttato...

Posso suggerire a chi se ne vuole occupare di dare una occhiata alla
libreria sqlkit [1] potreste rendervi conto che l'80% del lavoro è già
fatto...

Sqlkit nasce esattamente per fare gestionali ed ha funzioni avanzate
per l'editing in forma scheda o tabella, ricerca, completamento, stampa.

Essendo basato su sqlalchemy la definizione del modello dei dati 
è quella di sqlalchemy.

sandro
*:-)



[1] http://sqlkit.argolinux.orgSQLkit home page - 
PyGTK/python/sqlalchemy
[2] http://oootemplate.argolinux.org   sistema di template per la stampa
   basato su openoffice


-- 
Sandro Dentella  *:-)

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Porting medica2 Was: [OT] Cerco posto lavoro stimolante.

2010-01-15 Thread Alessandro Dentella
On Fri, Jan 15, 2010 at 11:28:43AM +0100, Massimo Capanni wrote:
> sqlkit funziona bene anche su Win?

Si. Io programmo in Linux ma i miei clienti lo usano con Windows e Mac.

sandro
*:-)

-- 
Sandro Dentella  *:-)
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] Porting medica2 Was: [OT] Cerco posto lavoro stimolante.

2010-01-15 Thread Alessandro Dentella
On Fri, Jan 15, 2010 at 03:34:03PM +0100, Enrico Franchi wrote:
> 
> On Jan 15, 2010, at 12:40 PM, Alessandro Dentella wrote:
> 
> > Si. Io programmo in Linux ma i miei clienti lo usano con Windows e Mac.
> 
> Hai clienti che tollerano GTK su mac?


Si. Immagino che tu ti riferisca al fatto che i menu non sono integrati come
le altre applicazioni e per il fatto che il tema non è integrato... non ha
avuto nulla da eccepire. "Tollerare" per un software gestionale mi pare un
termine un po' esagerato...


sandro



-- 
Sandro Dentella  *:-)
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] Porting medica2 Was: [OT] Cerco posto lavoro stimolante.

2010-01-15 Thread Alessandro Dentella
On Fri, Jan 15, 2010 at 04:16:07PM +0100, Massimo Di Stefano wrote:
> gtk su mac  è per me una dannazione :-(
> 
> da utente di osx 10.6 :
> 
> uso felicemente pyqt, 
> ma gtk su mac è di difficile installazione 

mi dicono "lunga" più che difficile. Non ho curato personalmente
l'installazione. 

Beh, non che installare le GTK sotto Windows sia una passeggiata
piacevole... 

> almeno chè non si ricorre a darwinports o fink 
> ... e nemmeno in quel caso è assicurata stabilità

A me non sta dando problemi.

sandro

-- 
Sandro Dentella  *:-)
http://sqlkit.argolinux.orgSQLkit home page - PyGTK/python/sqlalchemy
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Object mapper per LDAP?

2010-01-16 Thread Alessandro Dentella
Ciao,

devo fare una piccola interfaccia web per la gestione di utenti scolastici
con sistema di autenticazione in LDAP.

Avendo acquisito un po' di esperieza in ORM per database mi chiedo quanto
sia utile usare un modello simile per LDAP. Guardando qui [1] ho visto
alcuni programmi che promettono queste funzionalità di cui ho guardato in
particolare pumpkin [2] e ldap-om [3].

Qualcuno ha suggerimenti utili o esperienze con questi o altri object mapper
per ldap?


grazie
sandro




[1] 
http://stackoverflow.com/questions/1544535/which-ldap-object-mapper-for-python-can-you-recommend
[2] http://pumpkin.prymitive.com/index.html
[3] http://launchpad.net/pyton-ldap-om

-- 
Sandro Dentella  *:-)
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] Trovare un'occorrenza in un file e sostituire un valore

2010-01-25 Thread Alessandro Dentella
On Mon, Jan 25, 2010 at 03:20:32PM +0100, Lorenzo Macchiavelli wrote:
> Salve a tutti qualcuno può aiutarmi??
> Dovrei fare un find and replace in py un pò avanzato("" Per ME!!!"")
> 
> del tipo: Quando è presente la stringa di tipo "AB" Devo Sostituire i valori
> all'intero tra i " : "  e " AB " moltiplicando per 11
> il valore all'interno e sostituire la stringa "AB" CON "RB".
> 
> Il File è formattato in questo modo:
> ...
> RTS_YAS:10293AB
> RTC_YAS:1003AB
> RTS_YAS:010003RB
>  ...
> 
> ESEMPIO: " RTS_YAS:10293AB " diventa "RTS_YAS:113223RB" 
> 
> Qualcuno può spiegarmi come fare??? quale ragionamento fareste per risolvere
> questo tipo di problema??


usa il modulo 're' ed in particolare guarda re.sub e sappi che il valore da
sostituire può essere una funzione che a sua volta riceverà in argomento il
match::

   """\
   RTS_YAS:10293AB
   RTC_YAS:1003AB
   RTS_YAS:010003RB
   """
   import re
   # a scopo didattico mostro sia gruppi con nome che non
   PATTERN = re.compile('(RTS_YAS:)(?P\d+)AB')

   def my_sub(m):
   return "%s%sRB" % (m.group(1), int(m.group('num')) * 11,)

   for line in __doc__.split():
   if PATTERN.match(line):
   print line,
   print " ==>", PATTERN.sub(my_sub, line)


sandro
*:-)


-- 
Sandro Dentella  *:-)
http://sqlkit.argolinux.orgSQLkit home page - PyGTK/python/sqlalchemy
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] 0 in (False,) // 0 == False

2010-02-04 Thread Alessandro Dentella
Ciao,

(solo) oggi mi sono imbattuto in "0 in (False,)" che ha un comportamento
francamente controintuitivo:

  In [1]: 0 in (False,)
  Out[1]: True

che a sua volta dipende dal fatto che:

  In [2]: 0 == False
  Out[2]: True

Sono quindi andato a rispulciarmi la language reference::

  The operators <, >, ==, >=, <=, and != compare the values of two
  objects. The objects need not have the same type. If both are numbers, they
  are converted to a common type. Otherwise, objects of different types always
  compare unequal, and are ordered consistently but arbitrarily. 

Objects of different type always compare unequal:

  In [3]: type(0)
  Out[3]: 

  In [4]: type(False)
  Out[4]: 


0 e False *sono* tipi differenti ... ah no!

  In [6]: isinstance(False, int)
  Out[6]: True

  In [7]: bool.__mro__
  Out[7]: (, , )

Mi viene qui di da chiedermi: ma che bisogno c'è che un booleano erediti da
un intero? piace a tutti che "0 == False" sia vero?



sandro
*:-)


-- 
Sandro Dentella  *:-)
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] 0 in (False,) // 0 == False

2010-02-04 Thread Alessandro Dentella
On Thu, Feb 04, 2010 at 11:04:59AM +0100, Enrico Franchi wrote:
> 
> On Feb 4, 2010, at 10:26 AM, Alessandro Dentella wrote:
> 
> > Mi viene qui di da chiedermi: ma che bisogno c'è che un booleano erediti da
> > un intero? piace a tutti che "0 == False" sia vero?
> 
> Non e' questione di "ereditare" in questo caso.

  ??? 
  >>> issubclass(bool, int)
  True

Non sto testando che bool deriva da int? in che senso "non è questione di 
ereditare"

> Non mi da fastidio che un booleano sia il piu' piccolo tipo numerico che porta
> informazione. 

Questa però non mi pare la risposta a "che bisogno c'è". Che non è una
domana oziosa, è che immagino che ci *sia* bisogno in un modo che io ora non
colgo. La domanda rifrasata sarebbe forse: quali sono le caratteristiche di
un booleano che derivano da un intero?

Riprendendo la tua risposta: che bisogno c'è che sia il più piccolo tipo
*numerico* che porta informazione?

sandro



-- 
Sandro Dentella  *:-)
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] 0 in (False,) // 0 == False

2010-02-04 Thread Alessandro Dentella
On Thu, Feb 04, 2010 at 01:15:37PM +0100, Daniele Varrazzo wrote:
> On Thu, 4 Feb 2010 10:26:40 +0100, Alessandro Dentella 
> wrote:
> 
> > Mi viene qui di da chiedermi: ma che bisogno c'è che un booleano erediti
> > da
> > un intero? piace a tutti che "0 == False" sia vero?
> 
> A me piace... e mi piace ancora di più che 1 == True! In questo modo un
> modo rapido per sapere quanti True hai in un insieme è sommare i valori
> logici tra loro. O fare giochini tipo:
> 
> In [1]: def leggi_lati_triangolo():
>...: return map(int, raw_input().split())
>...: 
> 
> In [2]: a, b, c = leggi_lati_triangolo()
> 3 4 4
> 
> In [3]: {0: 'scaleno', 1: 'isoscele', 3: 'equilatero'}[(a == b) + (b == c)
> + (a == c)]
> Out[3]: 'isoscele'
> 
> In calcolo numerico si usa spesso moltiplicare una matrice numerica per
> una matrice di booleani: la semplice moltiplicazione restituisce una
> matrice che contiene solo i valori numerici corrispondenti ai "vero" dei
> booleani. Perché dovrebbe essere più facile fare queste operazioni in C che
> in Python? ;)
 
Questo è avvincente come sostegno all'idea che il booleano si comporti comex
un intero. Ne deriva necessariamente che 0 == False? Ovvero: il fatto che
*si comporti come un numero* nell operazioni richiede per necessità che ==
dica che sono uguali?

Credo che la prima  parte delle parole di guido indichino di no:

  In an ideal world, bool might be better implemented as a separate
  integer type that knows how to perform mixed-mode arithmetic

sandro
*:-)


-- 
Sandro Dentella  *:-)
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] 0 in (False,) // 0 == False

2010-02-04 Thread Alessandro Dentella
On Thu, Feb 04, 2010 at 04:42:41PM +0100, Enrico Franchi wrote:
> On Feb 4, 2010, at 1:36 PM, Alessandro Dentella wrote:
> 
> > Questo è avvincente come sostegno all'idea che il booleano si comporti comex
> > un intero. Ne deriva necessariamente che 0 == False? Ovvero: il fatto che
> > *si comporti come un numero* nell operazioni richiede per necessità che ==
> > dica che sono uguali?
> 
> Pensiamo ai comportamenti... 
> 1. 0 e False sono inconfrontabili. Arriva un'eccezione, quindi. In questo caso
> quindi abbiamo che effettivamente interi e booleani non sono 
> intercambiabili.
> Sarebbero due tipi completamente distinti. Non e' quello che fa Python.
> 2. 0==False -> True
> 3. 0==False -> False
> 
> Suppongo che sia chiaro che la 3 non porta da nessuna parte.
> Avremmo degli assurdi completi, roba controintuitiva. Non sono nemmeno
> difficili da inventare.

Asserzione gratuita con promessa di dimostrazione. Dimostrazione che non
dubito esista, è infatti quella che andavo cercando...


sandro


PS: Sul resto della tua risposta non commento che mi pare border line con la
pura polemica
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] 0 in (False,) // 0 == False

2010-02-05 Thread Alessandro Dentella
On Fri, Feb 05, 2010 at 09:57:44AM +0100, Lawrence Oluyede wrote:
> 2010/2/5 Pietro Battiston :
> > A questo punto, la
> > domanda è, a parità di duck typing, cosa abbia di comodo 0 == False, e
> > l'unica risposta che sono in grado di formulare è "facilità di
> > implementazione".
> 
> Non e` quella l'unica risposta, e` molto comodo avere 0, [], {}, () e
> altri contenitori equivalenti a False.

equivalente, non '=='

quello che dici non richidede '[] == False'  che solleva TypeError

sandro
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] 0 in (False,) // 0 == False

2010-02-05 Thread Alessandro Dentella
On Fri, Feb 05, 2010 at 10:03:37AM +0100, Alessandro Dentella wrote:
> On Fri, Feb 05, 2010 at 09:57:44AM +0100, Lawrence Oluyede wrote:
> > 2010/2/5 Pietro Battiston :
> > > A questo punto, la
> > > domanda è, a parità di duck typing, cosa abbia di comodo 0 == False, e
> > > l'unica risposta che sono in grado di formulare è "facilità di
> > > implementazione".
> > 
> > Non e` quella l'unica risposta, e` molto comodo avere 0, [], {}, () e
> > altri contenitori equivalenti a False.
> 
> equivalente, non '=='
> 
> quello che dici non richidede '[] == False'  che solleva TypeError

ops, ovviamente l'osservazioen che volevo scrivere è quella che nel
frattempo ha scritto Pietro...

*:-)
 
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] 0 in (False,) // 0 == False

2010-02-05 Thread Alessandro Dentella
On Fri, Feb 05, 2010 at 05:53:01PM +0100, Daniele Varrazzo wrote:
> On Fri, 05 Feb 2010 17:39:46 +0100, Pietro Battiston 
> wrote:
> 
> > Per carità, dal punto di vista storico è chiaro, e non sto neanche
> > facendo una battaglia perché si cambi: vorrei solo che si riconoscesse
> > che non c'è nessun motivo assoluto per cui debba essere così.
> 
> Ok, non c'era nessun motivo assoluto per cui dovesse essere così. Su
> questo hai ragione.
> 
> Si sarebbe potuto fare:
> 
> bool == int è sempre falso
> bool != int è sempre vero
> bool <, >, <=, >= int spara un'eccezione
> int(True) = 1
> int(False) = 0
> bool op int = int(bool) op int per ogni op aritmetica.
> 
> Se invece i tipi funzionano con la semantica attuale è solo per
> convenzione e utilità. Se questa semantica è implementa come subclass è
> solo per comodità di implementazione.


Grazie per i chiarimenti e l'interessante discussione in particolare
a Pietro e Daniele per l'analisi e gli esempi di supporto.

Personalemnte mi pare chiaro che la prima citazione di Guido è perfettamente
in linea con quanto scritto qui sopra... in attesa che Enrico mantenga la
promessa e mostri gli "assurdi completi" che quanto scritto sopra
comporterebbe. 

sandro
*:-)

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python GUI testing

2010-02-09 Thread Alessandro Dentella
On Tue, Feb 09, 2010 at 09:45:58AM +0100, Pietro Battiston wrote:
> Il giorno lun, 08/02/2010 alle 18.29 +0100, Giorgio Zoppi ha scritto:
> > Ciao,
> > sto cercando un'applicazione che permetta di simulare il comportamento
> > di eventi di una gui (ie. gli mandi le sendkeys di X11).  Ho una
> > istanza delle gui,

Io, senza averli mai usati, mi ero appuntati anche altri due  link:

testing di gui application
  http://www.voidspace.org.uk/python/articles/testing/

dogtail
http://www.redhat.com/magazine/020jun06/features/dogtail/


sandro
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] 0 in (False,) // 0 == False

2010-02-10 Thread Alessandro Dentella
On Thu, Feb 04, 2010 at 06:38:38PM +0100, Enrico Franchi wrote:
> 
> On Feb 4, 2010, at 5:22 PM, Alessandro Dentella wrote:
> 
> > Asserzione gratuita con promessa di dimostrazione. Dimostrazione che non
> > dubito esista, è infatti quella che andavo cercando...
> 
> Guarda, è roba di algebra elementare. Se vuoi *veramente* che te la faccia, 
> te la
> faccio pure. Roba da cinque minuti. Per me e per te, basta chiedere. 

Eravamo interessati in vari già... ma visto l'epilogo, "un buon silenzio val
1000 parole" sarebbe stato miglior consiglio


> Se posso evito di tediare il gruppo con svariate righe di banalità 
> matematiche. 

Era un ottimo proposito... intendo non tediare il gruppo, invece ci hai
rifilato un polpettone di informazioni la cui faziosità era palese
dall'inizio (sarebbe offensivo pensare che invece tu non te ne renda conto),
ben condito con allusioni all'ignoranza degli interlocutori (l'attacco è la
miglior difesa) ed a supposta affinità con bdfl (Guido dice che sarebbe
meglio una cosa, tu ritieni che è indispensabile l'opposto).

A volte mi dico che sei uno psicologo e che usi il gruppo per studiare chi
reagisce, un po' come Galvani con le rane. Chissà se scrivi di noi nei gruppi
di psicologia...

cordialmente
sandro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Come fareste voi?

2010-02-19 Thread Alessandro Dentella
On Fri, Feb 19, 2010 at 03:10:29PM +0100, Stefano Dal Pra wrote:
> Grazie a tutti;
> 
> Il TDD e' interessante.
> Ho installato nose e ho provato, ma non ho cavato risultati utili
> nei 30 secondi che gli ho dedicato. Tornero' alla carica con un
> po' di pazienza.
> 
> D'altra parte mi son fatto l'idea che tenere un interprete aperto
> per testare porzioncine di codice (anche come palestra di sintassi, se 
> vogliamo)
> sia gia' una rudimentale forma di tdd
> e considerato che mi sono appassionato a python anche grazie
> a queste possibilita', credo proprio che lo provero'.

Non voglio distoglierti dalla raccomandazione che ti han dato in vari di
imparare a sviluppare codice basandosi sui test, è una pratica fruttuosa e
rapidamente si ripaga dandoti una bella serenità per ogni futura
rimanipolazione del tuo codice.

Credo però anche che questo non sia contrapposto all'uso di una shell (certo
ipython è molto più comoda di python) con cui provare frammenti di codice,
ed io ne faccio un uso frequente.

Visto che hai detto che usi emacs perché non sfrutti C-c C-c che manda in
esecuzione il codice e ti apre un buffer con il risultato?

Mentre i test li uso per testare pezzi del codice che sto scrivendo, di
come voglio che si comporti, l'uso cui hai accenato serve anche solo come
studio di come si comporta il linguaggio, un passo che può essere
strumentale a quello della scrittura del tuo codice.

sandro
*:-)

-- 
Sandro Dentella  *:-)
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] Come fareste voi?

2010-02-19 Thread Alessandro Dentella
> O nose... io ultimamente lo apprezzo molto.


In questa lista si è sponsorizzato a più riprese nose, qualcuno può dire
come si confronta con py.test?

A me piaciono anche i doctest quando penso ai test come documentazione di
API ma sia nose che py.test possono eseguire i test in formato doctest ma
danno un sommario molto povero ovvero cosiderano un file.txt con dentro i
test come un singolo test, quando il modulo doctest li considera
sigolarmente. 

Inoltre io non sono riuscito ad usare in modo utile l'opzione per cui
note/py.test aprono la shell di debug quando capita un errore, cosa che
invece funziona bene sia con nose che con py.test con test di tipo unittest.

sandro
*:-)

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] test [was: Re: Come fareste voi?]

2010-02-19 Thread Alessandro Dentella
> Perché, e qui lo dichiaro pubblicamente, i doctest sono la tecnologia di
> test più abusata e meno adatta che sia venuto in mente a chiunque abbia
> visto un prompt fatto così: >>>
> 
> I doctest sono un brillante modo di testare... la documentazione!!! da
> quando sono diventati un modo di testare il programma? Purtroppo da
> abbastanza presto, e sono uno strumento oscenamente scomodo per farlo, nel
> senso che costringono a contorsioni da kamasutra per eliminare la
> variabilità che c'è nell'output dei comandi [1] o per mettere insieme una
> test suite con setup e teardown. In tutto questo le docstring perdono il
> significato originale: essere documentazione concisa.
> 
> [1]
> http://docs.python.org/library/doctest.html#option-flags-and-directives
> 
> Ed Loper, autore di Epydoc (credo anche uno degli autori di doctest), ha
> usato solo doctest per documentare Epydoc stesso [2]. Ma tu guarda che si è
> dovuto inventare [3] per far girare una test suite un po' più complessa?!?!
> Ne è valsa la pena? A me non sembra.
> 
> [2]
> http://epydoc.svn.sourceforge.net/viewvc/epydoc/trunk/epydoc/src/epydoc/test/

A me pare che questo esempio sia un esempio dove la doctest abbia un senso e
sia anche più chiaro di quanto potrebbero essere degli unittest o test di
nose/py.test, che è probabilmntee simile a quello che dicevi prima: test
della documentazione.


> [3]
> http://epydoc.svn.sourceforge.net/viewvc/epydoc/trunk/epydoc/src/epydoc/test/util.py?revision=1502&view=markup

Questo molto meno, ma:

  1. probabilmente anche in uno unittest avrebbero dovuto esserci delle
 test/helper function fatte per rendere i test più leggibili...

  2. proprio perché ce ne è più di uno mi pare che sia corretto scegliere il
 migliore per ogni singola situazione. 

 E` corretto chiedere che si evitino contorsionismi strani, ma spesso la
 leggibilità di test fatti con doctest è decisamente elevata. 

Sono anche convinto che la flessibilità delle unittest (o simili) sia molto
maggiore in varie circostanze per cui non ci rinuncerei affatto.

sandro
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] test [was: Re: Come fareste voi?]

2010-02-20 Thread Alessandro Dentella
> > Sono anche convinto che la flessibilità delle unittest (o simili) sia
> > molto
> > maggiore in varie circostanze per cui non ci rinuncerei affatto.
> 
> Non ho intenzione di farti cambiare idea: visto che lo strumento è stato
> citato, queste sono le mie considerazioni e i motivi per cui io non le uso
> se non per testare documentazione. Secondo me la documentazione deve essere
> esplicativa mentre i test devono essere esaustivi: visto i due obiettivi
> spesso finiscono con l'essere in contraddizione preferisco tenerli
> fisicamente separati e usare lo strumento migliore per l'obiettivo.

non è che cerchi contrapposizione dove non c'è? Mi pare che le differenze
fra il mio ed il tuo punti di vista siano relativamente piccole.

La mia frase che cito era per confermare che anche io trovo una flessibilità
maggiore in *unittest* e simili (nose, py.test migliorano in vario modo ma non
stravolgono il concetto degli unittest) ed a questi non rinuncerei, ma non
rinuncerei neanche ai doctest quando voglio qualcosa che assomigli di più
alla documentazione.

[Per inciso non metto i test nelle docstring ma in file separati, proprio
 perché son convinto che una docstring troppo lunga non sia comoda.]

sandro
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] python.it e supporto per gruppi

2010-04-11 Thread Alessandro Dentella
On Sun, Apr 11, 2010 at 02:45:14PM +0200, Daniele.zambelli wrote:
> Ho da qualche mese fondato il fracapug: Python user group del liceo 
> Fracastoro 
> di Verona. 
> 
> Per vari servizi mi sono appoggiato a Google: ML, pagine web, repository di 
> file. Ora il server di Google mi sta facendo diventare matto (per dei suoi 
> bug, suppongo). Prima di creare un nuovo gruppo su Google pensavo che sarebbe 
> interessante poter appoggiarsi a python.it invece che alla grande G.

per capire chi può risolvere il problema, se una lista offerta da python.it
o altro, credo che sarebbe meglio dire quali problemi trovi con Google.

Mailman che è suggerito da Manlio ha un approccio vero a mailing list, a me
piace molto di più un gruppo di google dove io decido se ricevere come mail
o leggere/scrivere via web e  dove trovo la maggior parte dei miei gruppi
raggruppati in un unico account.

Inoltre la possibilità di ricercare con la potenza di google invece che
essere limitati ad un mese per volta come con mailman è importante per cui
-se decidi di andare per quella via- ricorda anche di sottoscrivere la lista
a www.mail-archive.com, almeno hai un motore di ricerca un po' migliore.

sandro
*:-)




-- 
Sandro Dentella  *:-)
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] soluzione gtk/sqlkit

2010-04-26 Thread Alessandro Dentella
On Mon, Apr 26, 2010 at 12:02:53PM +0200, Nicola Larosa wrote:
> > Giovanni Porcari wrote:
> >> Per quello che riguarda la richiesta di una versione offline è nelle
> >> nostre intenzioni il fatto di creare un eseguibile multipiattaforma
> >> (eventualmente da usare su chiavetta USB) che incorpori un server
> >> wsgi (noi usiamo paste) mentre per il db vorremmo usare sqlite.
> 
> Marco Giusti wrote:
> > perché non creare una micro applicazione con gtk (o tk) e sqlite? non
> > avrà lo stesso sex appeal di genropy, ma usare un web server per
> > un'applicazione così piccola mi sembra un po' sproporzionato. inoltre
> > con pyinstaller si crea facilmente un eseguibile e il gioco è fatto.
> 
> Ottima idea, facci sapere quando hai fatto, grazie. ;-)

propongo qui 2 soluzioni con sqlkit [1]. La prima richiede 3 click in più per
arrivare ad avere quello che ha proposto Giovanni, usa 'sqledit' l'eseguibile
che viene distribuito assieme a sqlkit. Da riga di comando le configurazioni
sono quindi limitate ed i filti vanno aggiunti a mano (i famosi 3
click). Potete vedere l'effetto qui: http://www.e-den.it/misc/med.mpeg

ho preparato un db di sqlite con i codici: med.sqlite reperibile qui [2]

sqledit via pyinstaller
---

Partiamo dal boundle fatto con pyinstaller::

  $ wget -q http://www.e-den.it/misc/med.sqlite
  $ wget -q http://sqlkit.argolinux.org/download/sqledit-binary-0.8.6.tar.gz
  $ tar xzf sqledit-binary-0.8.6.tar.gz
  $ ./sqledit-0.8.6/sqledit sqlite:///med.sqlite codici --load

A questo punto vi si apre una tabella con le due colonne. L'intestazione è
cliccabile, nel menu dropdown la prima voce è "aggiungi un filtro" come
mostrato qui http://sqlkit.argolinux.org/sqlkit/filters.html.

Se usate Windows potete scaricare l'installer per Windows [3], e lanciare da
riga di comando (la medesima salvo i path) o usare la gui e mettere il path
del database sqlite nella forma sqlite:///C:/Docments and 
settings/.../med.sqlite

sqlkit da python


Questa è la modalità più flessibile, ma prevede che abbiate installato
sqlkit. Il programma si riduce a::

   #!/usr/bin/python

   import gtk
   import sys
   import sqlkit
   from sqlkit import widgets as skw

   DB_FILE = '/home/sandro/med.sqlite'

   db = sqlkit.DbProxy(bind="sqlite:///%s" % DB_FILE)
   m = skw.SqlTable(table='codici', dbproxy=db)
   for tk in sys.argv[1:]:
   m.add_filter(descr__icontains=tk)

   m.add_filter(cod__ilike="")
   m.reload()

   gtk.main()


che apre già un filtro sulla descrizione per ogni argomento, supponendo
salviate il codice in med.py:

   ./med.py frat fem

Vi apre la lista di tutti i codici esattamente come proposto da Giovanni.
Se invece volete comunque aprire i filtri anche se vuoti, in modo da
risparmiare anche i click:

m.add_filter(descr__icontains='')
m.add_filter(descr__icontains='')
   



sandro
*:-)



[1] http://sqlkit.argolinux.org/index.html
[2] http://www.e-den.it/misc/med.sqlite
[3] http://sqlkit.argolinux.org/download/sqledit-setup-0.8.6.1.exe
-- 
Sandro Dentella  *:-)
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] excel to sql

2010-04-28 Thread Alessandro Dentella
On Tue, Apr 27, 2010 at 04:57:36PM +0200, Marco Giusti wrote:
> On Tue, Apr 27, 2010 at 04:35:47PM +0200, luge...@libero.it wrote:
> > ciao,ho visto in lista il tuo programma e il database sql.mi dici come hai 
> > convertito l'xls in sql?grazie.
> 
> ho convertito il file in formato .csv con calc di openoffice e da csv a
> sqlite con fill.py, compreso nei sorgenti che ho postato

dopo averlo convertito in .sqlite ed aio ho semplicemente usato i comandi
sqlite::

  sqlite> create table codici (cod varchar(10) primary key, descr varchar(300));
  sqlite> .separator \t
  sqlite> .import /tmp/med.csv codici

*:-)

-- 
Sandro Dentella  *:-)
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] Creazione modulo

2010-05-26 Thread Alessandro Dentella
On Wed, May 26, 2010 at 05:57:38PM +0200, Vittorio Zuccala' wrote:
> Buongiorno a tutti,
> sono abbastanza nuovo nella programmazione ad oggetti ma sto cercando di 
> creare
> un piccolo oggettino per agevolarmi in un programma...
> Esso deve leggere un file di configurazione, recuperare delle informazioni e,
> nella mia intenzione, restituire un dizionario con l'elenco di ci  che ha
> rilevato.
> Mi sapete dire in cosa sbaglio?
> Il messaggio che ho quando lancio lo script   il seguente:
> 
> config=cnf.conf()
> TypeError: 'dict' object not callable.

usi self.conf una volta per indicare il dizionario, ed un'altra per indicare 
il metodo!

Ricorda inoltre che la PEP8 sullo stile suggerisce di usare CapWords:

 Class Names

  Almost without exception, class names use the CapWords convention.
  Classes for internal use have a leading underscore in addition.

quindi la tua classe potrebbe essere riscritta:


  class Cnf(object):

  def __init__(self, configurazione):
  self.conf...
  ...

  def get_conf(self):
  return self.conf

sandro
*:-)


-- 
Sandro Dentella  *:-)
http://sqlkit.argolinux.orgSQLkit home page - PyGTK/python/sqlalchemy
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] weakref ... troppo deboli!...

2010-05-28 Thread Alessandro Dentella
Ciao a tutti,

sto letteralmente diventando pazzo da qualche giorno su un problema di
possibile leak di ram, per definirlo meglio sto creando esempi che mi
portano altri problemi... ora vi parlo di uno di questi...

Vi propongo il codice seguente che usa le pygtk e dei weakref. Il
programmino crea delle istanze 'g' di un classe 'G' con una finestra
(gtk.Window) 'w' con 2 bottoni:

 1. il primo crea 'n' finestre e  un weakref per ciascuna per poterle
poi uccidere
 2. il secondo bottone uccide le finestre

La stranezza è che il codice (abbastanza sempliciotto) funziona bene o molto 
male
a seconda:

  * del numero di finestre (passo il numero come unico argomento)
  * dell'interprete (2.5 o 2.6)

Con python2.5/Ubuntu 8.04 fino a 43 (quarantatré, che avrà mai?) finestre il
bottone 1 le crea ed il 2 le uccide. Già da 43 il bottone che
le dovrebbe uccidere non funziona più (ovvero i weakref non trovano
l'oggetto referenziato che in effetti esiste).

Su Ubuntu 9.04 ho sia python 2.5 che 2.6:

  2.5.2: stessi problemi
  2.6.2: nessun problema su ubuntu 9.04 (*)
  2.6.5: stessi problemi già con 3 finestre su ubuntu 10.04. 


Quando la finestra risulta incancellabile tramite il bottone kill, anche la
cancellazione tramite window-manager fallisce (AttributeError: G objectc has
no attribute 'title'). È come se la istanza 'g' sia stata resa monca nonostante
esista ancora una finestra con una callback attiva che referenzia (in senso
forte) l'istanza stessa ed il suo metodo 'delete_event_cb'. Chiamo 'monca'
questa istanza nel senso che:

  * la weakref non la vede più
  * la callback capisce che è una istanza di 'G' ma non ne vede l'attributo
di istanza 'title'::

  Traceback (most recent call last):
File "testd2_win.py", line 39, in clicked_cb
  if self.title:
  AttributeError: 'G' object has no attribute 'title'
  
Conto su un vostro input per non andare in corto...


sandro
*:-)



(*) se importo psutil [1] ho gli stessi probelmi...
[1] un modulo molto carino per avere le informazioni sui processi e la ram
che darebbe ps: http://code.google.com/p/psutil/





-- 
Sandro Dentella  *:-)
http://sqlkit.argolinux.orgSQLkit home page - PyGTK/python/sqlalchemy
import os
import gc
import sys
import weakref
import gtk


class G(object):
def __init__(self, title=''):
self.windows = []
self.title = title
self.w = gtk.Window()
self.w.set_title(title)
self.h = gtk.HBox()
self.kill_button = gtk.Button("kill")
self.crea_button = gtk.Button(title and "Finestra %s" % title or "crea %s finestre" % n)
self.w.add(self.h)
self.h.add(self.crea_button)
self.h.add(self.kill_button)
self.w.show_all()
self.w.connect('delete-event', self.delete_event_cb)
self.kill_button.connect('clicked', self.clicked_cb)
self.crea_button.connect('clicked', self.crea_molte_finestre)

def delete_event_cb(self, win, ev=None):
self.w.get_toplevel().destroy()
del self.w

def crea_molte_finestre(self, win, ev=None):
if self.title:
return
self.wins = []
for i in range(n):
#r = G(title=str(i))
r = weakref.ref(G(title=str(i)))
self.windows += [r]

def clicked_cb(self, win):
if self.title:
self.delete_event_cb(win)
else:
for g in self.windows:
if g():
g().delete_event_cb(None, None)
#if g:  # se non usi weakref
#g.delete_event_cb(None, None)
self.windows = []


if __name__ == '__main__' :

if len(sys.argv) == 2:
n = int(sys.argv[1])
else:
n = 10
G()
try:
gtk.main()
except KeyboardInterrupt:
sys.exit()
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] weakref ... troppo deboli!...

2010-05-28 Thread Alessandro Dentella
Grazie Marco per la dritta, 

On Fri, May 28, 2010 at 12:19:12PM +0200, Marco Giusti wrote:
> On Fri, May 28, 2010 at 10:25:51AM +0200, Alessandro Dentella wrote:
> > Ciao a tutti,
> [...]
> > Quando la finestra risulta incancellabile tramite il bottone kill, anche la
> > cancellazione tramite window-manager fallisce (AttributeError: G objectc has
> > no attribute 'title'). È come se la istanza 'g' sia stata resa monca 
> > nonostante
> > esista ancora una finestra con una callback attiva che referenzia (in senso
> > forte) l'istanza stessa ed il suo metodo 'delete_event_cb'. Chiamo 'monca'
> > questa istanza nel senso che:
> > 
> >   * la weakref non la vede più
> >   * la callback capisce che è una istanza di 'G' ma non ne vede l'attributo
> > di istanza 'title'::
> > 
> >   Traceback (most recent call last):
> > File "testd2_win.py", line 39, in clicked_cb
> >   if self.title:
> >   AttributeError: 'G' object has no attribute 'title'
> >   
> > Conto su un vostro input per non andare in corto...
> 
> Vediamo un po' tutti i possibili problemi che possono sorgere:
> 
> 1. il metodo `delete_event_cb` elimina il riferimento alla finestra ma
> il metodo può essere ancora chiamato dal padre e non essendoci più
> riferimenti a `self.w`...

non mi è chiaro, il padre sarebbe l'istanza stessa? Eliminata 'w', che
tramite le callback aveva riferimenti (forti, direi) a 'g', g dovrebbe
sparire per me...

Vedo che la grossa differenza fra la mia e la tua versione è nel fatto che io
ho una connect a 'delete_event' che tu non hai, entrambe però eliminiamo con
una chiamata diretta a destroy() la finestra, che quindi emette un
'delete_event'. Quindi io passo due volte dal metodo 'delete_event_cb', la
seconda volta il metodo non ha più self.w... ho capito!

Probabimente la dipendenza dal numero di finestre create è poi dovuta a
ritardi di gtk che è alle prese con il rendering delle finestre. La 10.04
era simulata in VirtualBox quindi più lenta e quindi mi dava l'errore già a
3/4 finestre.

> 2. gli unici riferimenti che hai agli oggetti `G` sono dei riferimenti
> deboli. a questo punto credo che tu debba andare a vedere come i
> riferimenti deboli siano implementati in pygtk. non sono molto preparato
> qui ma sicuramente il problema è questo. Accanto a `self.windows`
> affianca un'altra lista: `self.objects` con riferimenti forti, vedrai
> che a questo punti non hai più di questi problemi.
> 
> per quanto ne so' la gestione dei riferimenti in pygtk è pensata per, ad
> eccezione di casi particolari, potersene dimenticare. nel momento in cui
> non ci sono più riferimenti python ad un oggetto gobject, questo viene
> deallocato.

Il tutto è nato proprio perché vedo crescere a dismisura l'occupazione di
ram in una applicazione GTK e sto pensando di rimpiazzare riferimenti forti
con riferimenti deboli. Questo test era nato proprio dall'esigenza di
vedere se riuscivo a tenere la RAM sotto controllo.

promesso che apro altre discussioni per la ram...

> ps. ti allego la versione modificata.
> 
> pps. la gerarchia che crei è con soli due livelli, perché allora non usi
> due classi distinte? ti allego la versione modificata

Perché nell'esempio reale alcune istanze della classe Mask gemmano altre
istanze della classe Mask, poi nell'esempio ho cambiato il look solo perché
non fosse troppo fuorviante vedere interfacce uguali.

grazie
sandro
*:-)


-- 
Sandro Dentella  *:-)
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] weakref ... troppo deboli!...

2010-05-28 Thread Alessandro Dentella
On Fri, May 28, 2010 at 03:49:35PM +0200, Marco Giusti wrote:
> On Fri, May 28, 2010 at 01:39:43PM +0200, Alessandro Dentella wrote:
> > Grazie Marco per la dritta, 
> > 
> > On Fri, May 28, 2010 at 12:19:12PM +0200, Marco Giusti wrote:
> > > On Fri, May 28, 2010 at 10:25:51AM +0200, Alessandro Dentella wrote:
> [...]
> > > 
> > > Vediamo un po' tutti i possibili problemi che possono sorgere:
> > > 
> > > 1. il metodo `delete_event_cb` elimina il riferimento alla finestra ma
> > > il metodo può essere ancora chiamato dal padre e non essendoci più
> > > riferimenti a `self.w`...
> > 
> > non mi è chiaro, il padre sarebbe l'istanza stessa? Eliminata 'w', che
> > tramite le callback aveva riferimenti (forti, direi) a 'g', g dovrebbe
> > sparire per me...
> > 
> > Vedo che la grossa differenza fra la mia e la tua versione è nel fatto che 
> > io
> > ho una connect a 'delete_event' che tu non hai, entrambe però eliminiamo con
> > una chiamata diretta a destroy() la finestra, che quindi emette un
> > 'delete_event'. Quindi io passo due volte dal metodo 'delete_event_cb', la
> > seconda volta il metodo non ha più self.w... ho capito!
> 
> quell'esempio è solo una diversa implementazione del tuo esempio, se
> devi fare una comparazione con il tuo, controlla l'altro. nel secondo
> esempio l'unica differenza è l'attributo `self.objects` che contiene i
> riferimenti forti agli oggetti.

Mi ero reso conto che lasciando riferimenti forti non verificavo alcun
problema. Vedi le righe commentate nel primo esempio che ho postato, che lo
rendono di fatto identico al tuo ultimo.

> > Probabimente la dipendenza dal numero di finestre create è poi dovuta a
> > ritardi di gtk che è alle prese con il rendering delle finestre. La 10.04
> > era simulata in VirtualBox quindi più lenta e quindi mi dava l'errore già a
> > 3/4 finestre.
> 
> credo che questo sia un effetto aleatorio, che dipende da quando il gc
> entra in funzione, dal SO, dalla quantità di ram, ecc.
> 
> > > 2. gli unici riferimenti che hai agli oggetti `G` sono dei riferimenti
> > > deboli. a questo punto credo che tu debba andare a vedere come i
> > > riferimenti deboli siano implementati in pygtk. non sono molto preparato
> > > qui ma sicuramente il problema è questo. Accanto a `self.windows`
> > > affianca un'altra lista: `self.objects` con riferimenti forti, vedrai
> > > che a questo punti non hai più di questi problemi.
> > > 
> > > per quanto ne so' la gestione dei riferimenti in pygtk è pensata per, ad
> > > eccezione di casi particolari, potersene dimenticare. nel momento in cui
> > > non ci sono più riferimenti python ad un oggetto gobject, questo viene
> > > deallocato.
> > 
> > Il tutto è nato proprio perché vedo crescere a dismisura l'occupazione di
> > ram in una applicazione GTK e sto pensando di rimpiazzare riferimenti forti
> > con riferimenti deboli. Questo test era nato proprio dall'esigenza di
> > vedere se riuscivo a tenere la RAM sotto controllo.
> > 
> > promesso che apro altre discussioni per la ram...
> 
> secondo me non è il modo migliore per procedere, a meno che tu non sia
> certo che il memory leak dipenda proprio dalle gtk e non da un bug nel
> tuo programma.

In verità io sono ancora nella fase in cui sto cercando di capire dove sta
il bug convinto al moento che stia nel mio modo di procedere. Come hai
seggerito nell'altra mail pygtk dovrebbe non dare problemi ed io non mi son
posto problemi fino ad oggi.

Creo delle finestre di editing di dati SQL che sono delle classi che hanno
molte cose all'interno:

  class SqlMask(...):
 una stringa per il layout (xml o altro)
 la sessione sqlalchemy
 una query
 una lista di tabelle
 una lista di filtri e una di completion (filtri e completion miei che a
 loro volta hanno svariati oggetti gtk annessi)
 una lista di record
 una lista di SqlTable in relazione (es quelle che mostrano relazioni
 one2many, etc)
 ...

Molti di questi oggetti (filtri, completion in particolare) hanno
riferimenti all'oggetto SqlMask per cui vivono (o in cui vivono), il che
tiene in vita l'oggetto fino a che non vengano completamente eliminati.

Quando l'utente chiude la finestra io mi occupavo solo di distruggere la
finestra principale lasciando quindi un mondo di oggetti che si tenevano
reciprocamente in vita, per *studiare* questi ho usato le weakref,
ovvero per vedere se gli oggetti stanno sopravvivendo o meno alla chiusura
della finestra ed in caso capire chi le tiene in vita.

Non mi è chiaro, ed accetto volentieri suggerimenti su quale sia una buona
pratica per fare piazza pulita di tutti gli attributi: esiste una cosa
analoga a 'del dir[:]' per gli attributi? Altre precauzioni?

grazie ancora
sandro
*:-)


-- 
Sandro Dentella  *:-)
http://sqlkit.argolinux.orgSQLkit home page - PyGTK/python/sqlalchemy
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] gc.get_referrers

2010-05-28 Thread Alessandro Dentella
Ciao,

continuo nella mia caccia a ciò che tiene in vita gli oggetti. Questa volta
sto usando gc ed in particolare get_referrers ed in misura minore
get_referents. 

Non apisco bene come usare i risultati. Se sono classi o funzioni è
abbastanza chiaro cosa siano, se sono oggetti, un print ne mostra il
dizionario degli attributi (ma non i metodi)

A me piacerebbe usarli come se fossero dei veri oggetti, magari stampando un
repr(o) o str(o) ma questo non mi pare possibile. 

Quale è la motivazione di ciò e come andrebbero veramente usati, sempre
tenendo conto che come suggerisce lda documentazione li uso solo per debug?


grazie
sandro
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] gc.get_referrers

2010-05-28 Thread Alessandro Dentella
On Fri, May 28, 2010 at 08:31:31PM +0200, Daniele Varrazzo wrote:
> On Fri, 28 May 2010 19:49:05 +0200, Alessandro Dentella 
> wrote:
> > Ciao,
> > 
> > continuo nella mia caccia a ciò che tiene in vita gli oggetti. Questa
> > volta
> > sto usando gc ed in particolare get_referrers ed in misura minore
> > get_referents. 
> > 
> > Non apisco bene come usare i risultati. Se sono classi o funzioni è
> > abbastanza chiaro cosa siano, se sono oggetti, un print ne mostra il
> > dizionario degli attributi (ma non i metodi)
> 
> Quei dizionari sono lo stato degli oggetti in questione. Prova ad usare le
> stesse funzioni di gc per sapere chi tiene in vita quei dizionari: dovresti
> trovare gli oggetti.

Ottimo, grazie!
*:-)

-- 
Sandro Dentella  *:-)
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] Doxygen -- creare documentazione

2010-06-16 Thread Alessandro Dentella
On Wed, Jun 16, 2010 at 02:44:55PM +0200, Vittorio Zuccala' wrote:
> Caspita, questo si che   un bel consiglio!
> Lo faccio subito perch  cos  provo tutti e tre i sistemi.
> Quindi secondo te vale la pena investire del tempo per imparare sphinx...

Io appoggio in pieno l'uso di Sphinx anche se non ho esperienza in altri
sistemi. La caratteristica che ha già esposto Daniele sulla possibilità di
unire parti discorsive e parti di instrospezione è ottima.

Rest è sicuramemnte un sistema che dopo poco diventa completamente naturale
e non invasivo.

Le aggiunte a Rest di Sphinx ne fanno un sistema estremamente
versatile. Amo molto ad esempio i riferimenti incrociati che possono essere
messi nel codice e referenziali dalle parti dicorsive e viceversa nonchè i
messaggi in fase di compilazione della documentazione sul fatto che alcune
pagine possono essere state omesse dall'indice.

I siti che hanno documentazione in sphinx sono ormai moltissimi, se vuoi
vedere come si possono anche integrare immagini dai una occhiata a quello che
c'è in calce (sqlkit). Ovviamente poi per i css, l'unico limite è la tua
creatività... 


sandro
*:-)



-- 
Sandro Dentella  *:-)
http://sqlkit.argolinux.orgSQLkit home page - PyGTK/python/sqlalchemy
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] lanciare l'applicazione associata ad un file

2010-07-26 Thread Alessandro Dentella
Ciao,

avrei bisogno di lanciare l'applicazione associata ad un file
(principalmente .pdf e .odt).

Esiste un modo "canonico"? almeno per os?

Mi serve per ogni os anche se l'urgenza principale è ora in Windows, visto
che lì gli eseguibili non stanno necessarimente nel path, per cui non so
come verificare se sono installati.

Immagino ci sia qualche modo di interrogare il registro sull'associazione e
sul path, ma google non mi ha risolto il problema...

Mi pareva in passato di avere risolto il probelma usando start, ma ora non
funziona:


  srv-samba # cat test.py
  import subprocess
  p = subprocess.Process(['start', 'output.pdf'])


lanciato da Windows mi risponde un criptico:

  Adobe Reader non è in grado di aprire test.py. Che significa che è arrivato
  all'associazione ma non capisce quale file deve aprire...


grazie in anticipo per ogni suggerimento


sandro
*:-)




___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] lanciare l'applicazione associata ad un file

2010-07-27 Thread Alessandro Dentella
On Tue, Jul 27, 2010 at 08:07:06AM +0200, Nicola Lunghi wrote:
> googlando ho trovato questo
> 
> http://stackoverflow.com/questions/434597/
> open-document-with-default-application-in-python
> 
> magari ti può essere utile.

grazie. in effetti suggeriscono di fare quello che sto già facendo, a parte
os.startfile() che non conoscevo.

Il fatto è che ancora mi si comportavano ugualmente. Ho visto in seguito che
se invece che cliccare il file test.py lo invoco con 'python test.py' tutto
funziona come previsto e come in effetti ricordavo di avere già fatto.

Non mi è chiaro perché il doppio click su file non funzioni.

> Su linux c'è xdg-open

Questo non lo conoscevo e mi pare utile.

sandro
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] problemi di import del PGDialect

2010-09-16 Thread Alessandro Dentella
On Thu, Sep 16, 2010 at 09:48:55AM +0200, Pietro Zambelli wrote:
> Ciao a tutti,
> sto cercando di utilizzare questo programma [0] per visualizzare lo schema 
> del 
> mio database, solo che ottengo:
> 
> In [6]: %run sqlalchemy_schemadisplay.py
> ---
> ImportError   Traceback (most recent call last)
> 
> /home/pietro/tmp/lavoro/osmdb/sqlalchemy_schemadisplay.py in ()
>  90 return graph
>  91 
> ---> 92 from sqlalchemy.databases.postgres import PGDialect
>  93 from sqlalchemy import Table, text
>  94 
> 
> ImportError: No module named postgres
> WARNING: Failure executing file: 

che versione di sqlalchemy usi?
Quella stessa riga a me funziona con sql 0.6.3 anche se io non importo mai
direttamente il dialoetto, semplicemente passo l'URL all'engine. Cosa ti
serve in particolare il dialetto?

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] Vim e python

2010-09-22 Thread Alessandro Dentella
On Wed, Sep 22, 2010 at 02:40:41PM +0200, Carlos Catucci wrote:
> 2010/9/22 Karim Gorjux :
> > Salve a tutti, dopo varie prove di IDE e tools per lo sviluppo ho
> > deciso di usare VIM come ambiente di sviluppo python e non solo per
> > quello. L'idea è quella di usare VIM come editor di testo su ogni
> > piattaforma che uso, sia essa Mac, Linux o Win.
> 
> Io uso volentieri VIM come editor. Come dici tu lo trovi ovunque
> sempre uguale. Pero' gestire progetti complessi in python con VIM mi
> farebbe sudare freddo.

Anche a me farebbe sudare freddo... ma solo perché sono uno di quelli che
usa sempre e solo emacs.

Ma in cosa un progetto "complesso" avrebbe bisogno di un IDE più di uno
"semplice"? Io credo di avere gestito anche progetti abbastanza complessi e
non ho mai avvertito la necessità di infrastrutture igombranti da mettere
addosso a progetti già grandi... ne sono sempre stato respinto dopo qualche
tentativo, quindi -ammetto- sono poco informato dei fatti.

Ho però sentito spacciare per fantasmagoriche conquiste di alcuni IDE cose
con con emacs+ipython+(i)pdb mi sono date in modo abbastanza naturale.

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] Vim e python

2010-09-22 Thread Alessandro Dentella
On Wed, Sep 22, 2010 at 06:01:37PM +0200, Carlos Catucci wrote:
> 2010/9/22 Alessandro Dentella :
> > Ho però sentito spacciare per fantasmagoriche conquiste di alcuni IDE cose
> > con con emacs+ipython+(i)pdb mi sono date in modo abbastanza naturale.
> 
> Come ad esempio il refactoring? 

Ammetto l'ignoranza ma questo non so proprio come possa essere facilitato da
un IDE.

> Il debugger integrato (anche se lanci un applicazione web gestita da
> Apache), il testing integrato etc.?

niente che mi scaldi l'anima, mi pare che son cose che si gestiscono
facilmente anche fuori dall'ide... con django ed il server di sviluppo
intervengo in ogni punto che voglio col debugger. Certo qualche probelma in
più se c'è apache di mezzo ma mi pare in genere tardi per fare debugging...

> Senza contare la possibilita di avere la "diteggiatura" Vim o Emacs ?

Quella con emacs è già inclusa... ;-)


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] Vim e python

2010-09-22 Thread Alessandro Dentella
On Wed, Sep 22, 2010 at 08:38:19PM +0200, Enrico Franchi wrote:
> 
> On Sep 22, 2010, at 5:54 PM, Alessandro Dentella wrote:
> 
> > Anche a me farebbe sudare freddo... ma solo perché sono uno di quelli che
> > usa sempre e solo emacs.
> > 
> > Ma in cosa un progetto "complesso" avrebbe bisogno di un IDE più di uno
> > "semplice"? Io credo di avere gestito anche progetti abbastanza complessi e
> > non ho mai avvertito la necessità di infrastrutture igombranti da mettere
> > addosso a progetti già grandi... ne sono sempre stato respinto dopo qualche
> > tentativo, quindi -ammetto- sono poco informato dei fatti.
> > 
> > Ho però sentito spacciare per fantasmagoriche conquiste di alcuni IDE cose
> > con con emacs+ipython+(i)pdb mi sono date in modo abbastanza naturale.
> 
> E' sempre la solita discussione IDE vs. Editor con una variante. In che cosa 
> emacs, integrato con
> pdb e ipython *non* sarebbe un IDE, ovvero un Integrated Development 
> Environment?

ah...beh, si beh...

ma il tutto era nato proprio dalla contrapposizione "vim vs. IDE" che ha
posto Carlos. Io ho solo ipotizzato senza conoscere che vim ed emacs
potessero avere analoghe potenzialità e quindi ho risposto che emacs + pdb +
ipython sono buoni per tutti i progetti.

La tua frase quindi potrebbe essere letta come appoggio all'idea che *non*
serva nulla più di questo (a parte la comodità di avere tutto 'out of the
box')


sandro
*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


  1   2   3   >