[Python] Presentazione nuovo utente e prima domanda.

2013-05-06 Thread Gollum1
Ciao a tutta la lista,

   Prima di tutto mi presento, sono conosciuto in diversi ambienti
della rete come Gollum1, sono un utilizzatore da tempo di Linux, in
particolare di Debian Gnu/Linux. Mi interesso di programmazione, anche
se il tempo disponibile non è tantissimo, e le distrazioni sono
veramente tante.

Anni or sono mi ero sbizzarrito a studiarmi C, lisp, pascal,
qualcosina (molto poco) di prolog, e altre amenità del genere...
Ultimamente mi sono un po' perso con perl, ma dopo un primo sguardo a
python e alla sua struttura penso che sia il linguaggio che fa per
me... almeno al momento...

Mi sto studiando un po' di documentazione varia, durante i miei
esperimenti, spero di poter imparare ad usarlo al meglio, con il
vostro aiuto.

eccomi alla prima domanda:

dovendo ricevere un file dallo standard input, come posso sapere la
dimensione finale del file?

mi spiego meglio:

ricevo sullo stdin un file, lo leggo a blocchi con un loop e una read
bufferizzata con un buffer di 1MB al giro.

la soluzione più semplice sarebbe mettere un contatore, a cui aggiungo
ad ogni ciclo la dimensione del buffer, e fin qui, sembra una
banalità. il problema arriva con l'ultimo blocco, anche se io prelevo
dal file con una read da 1MB, i dati che vengono passati saranno
probabilmente meno. La domanda spontanea è: posso in qualche modo
sapere quanto di quel buffer è utilizzato ad ogni ciclo (pieno per
tutti i cicli, una parte all'ultimo)? oppure esiste una alternativa
che (per ignoranza di questo linguaggio) non ho preso in
considerazione?

Mi serve che la soluzione sia utilizzabile sulla versione 2.6.6 di python.


Tnx&Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Presentazione nuovo utente e prima domanda.

2013-05-06 Thread Gollum1
Il 06 maggio 2013 23:23, Marco Beri  ha scritto:
> Potresti postare le due righe di codice qui sopra?
> Come fai a creare un buffer di 1MB?
> E come fai a usarlo nella read?

eccole:


fi = sys.stdin
Size = 1048576
Block = fi.read(Size)
while Block:
   #Elaboro il blocco.
   pass


Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Presentazione nuovo utente e prima domanda.

2013-05-06 Thread Gollum1
Il 06 maggio 2013 23:54, Marco Beri  ha scritto:
>> eccole:
>>
>> fi = sys.stdin
>> Size = 1048576
>> Block = fi.read(Size)
>> while Block:
>>#Elaboro il blocco.
>>pass
>
>
> Quindi non è che crei un buffer di 1MB, semplicemente tenti di leggere 1MB
> di caratteri.

la cosa pare che funzioni bene anche se i "caratteri" sono in realtà i
byte di un file binario, ho provato semplicemente ad accorparli di
nuovo in un altro file e calcolare l'm5sum su entrambi, e coincidono.

> A questo punto ti basta fare len(Block) per ottenere il numero di caratteri
> letto.

quindi in realtà Blocco non ha per forza la dimensione di 1MB, ma
viene dimensionato in base a quello che legge? perfetto... faccio
qualche prova.

> Dai nomi minuscoli alle variabili :-) 

oddio... ho iniziato a scriverli con l'iniziale in maiuscolo, perché
così era consigliato nel libro "Pensare da informatico - Python"...
avrò preso un abbaglio...

in tutti gli altri linguaggi ho sempre usato le costanti maiuscole, e
la variabili in minuscolo, procederà allora con questo metodo.

Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Presentazione nuovo utente e prima domanda.

2013-05-06 Thread Gollum1
Il 06 maggio 2013 23:54, Marco Giusti  ha scritto:
> On Mon, May 06, 2013 at 11:11:02PM +0200, Gollum1 wrote:
>> Ciao a tutta la lista,
>
> ciao
>
>> dovendo ricevere un file dallo standard input, come posso sapere la
>> dimensione finale del file?
>
> una traccia della soluzione è la seguente:
>
> ...
> size = 0
> BUFFER_SIZE = 2 ** 20
> while True:
> data = sys.stdin.read(BUFFER_SIZE)
> if not data:
> break
> size += len(data)
> ...

Quindi un ciclo infinito, che chiudo con un break invece di fare il
controllo sul blocco letto di volta in volta.
Sì, mi piace, è più lineare e pulito.

Grazie.
-- 
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Presentazione nuovo utente e prima domanda.

2013-05-06 Thread Gollum1
Il 07 maggio 2013 00:10, Marco Beri  ha scritto:

> Non conosco il libro, però sicuramente non l'ha scritto Var Rossum.
> Invece questo PEP l'ha scritto proprio lui:
> http://www.python.org/dev/peps/pep-0008/
>
> Ma in ogni caso ognuno fa quel che vuole (e ci mancherebbe) col suo codice.
>
> Soltanto quello è lo standard per cui quando uno legge:
> - Pippo pensa a una classe
> - pippo pensa a una variabile o una funzione
> - PIPPO pensa a una costante
>
> ecc.
>

ho iniziato a leggere il testo che mi hai passato... interessante,
anche se per certi versi mi pare un po' schizzoide... però credo che
sia questione solo di farci l'abitudine.

cercherò di procedere con un certo criterio e pulizia.

Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Presentazione nuovo utente e prima domanda.

2013-05-07 Thread Gollum1
Il 07 maggio 2013 11:18, Manlio Perillo  ha scritto:
>> bufferizzata con un buffer di 1MB al giro.
>
> 1MB forse è poco efficiente, meglio 4MB.
>

no, per quello che devo fare, mi servono blocchi da 1MB. almeno per
ora, poi in futuro vedremo se sarà il caso di cambiare.

> Semplice: `stdin.read()` restituisce una stringa, e ti basta calcolare
> la sua lunghezza con `len(s)`.  Quando non c'è più niente da leggere,
> `stdin.read()` restituisce una stringa vuota.

sì, alla fine ho seguito la traccia che mi ha postato Marco, con le
modifiche che mi servono per il mio compito, e funziona perfettamente.

Grazie.

Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] scrittura su file di tuple incompleta.

2013-05-07 Thread Gollum1
Ciao all,

ho bisogno di generare un file con una sequenza di dati, i dati sono
memorizzati in un dizionario, dove la chiave è un numero, e il dato è
una tupla di dati.

il problema è provando con pochi elementi del dizionario, tutto
funziona bene, provando invece con un elevato numero di elementi, il
file risulta troncato ad un certo punto...

questo è il codice che uso, con anche un print di controllo.

# Inserisco i dati dei blocchi nel file .hsh
for block_counter in hsh_content.keys():
   fhsh.write("%07d\t\t%04d\t%s\t%s\t%d\n" % hsh_content[block_counter])
   print hsh_content[block_counter]

fhsh.close

con un centinaio di elementi, quello che viene stampato a video
corrisponde con quell che si trova nel file, una prova che ho fatto
che doveva generare un file con 633 elementi, la print li stampa tutti
e 633, mentre nel file arrivo a metà della 602 e poi il file
finisce...

secondo voi cosa potrebbe essere?

sono file di testo, e non file binari, ma contengono degli hash
esadecimali, generati con md5. da quello che so md5 genera gli hash
con soli codici stampabili, quindi non posso credere che ci sia un
codice dell'hash che possa interrompere la generazione del file (il
file in effetti è troncato proprio a metà di un codice hash della
tupla 602)

mi pare che esista una funzione (pike o qualcosa del genere) per
memorizzare direttamente le tuple invece di fare come ho fatto io, che
le ho praticamente convertite in un file di testo, ma può convivere
una parte di intestazione testuale con i dati prodotti da questo
comando?


spero di aver fornito abbastanza elementi...

Tnx&byez
-- 
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] scrittura su file di tuple incompleta.

2013-05-07 Thread Gollum1
Il 07 maggio 2013 22:41, Gollum1  ha scritto:

> sono file di testo, e non file binari, ma contengono degli hash
> esadecimali, generati con md5. da quello che so md5 genera gli hash
> con soli codici stampabili, quindi non posso credere che ci sia un
> codice dell'hash che possa interrompere la generazione del file (il
> file in effetti è troncato proprio a metà di un codice hash della
> tupla 602)

aggiornamento... ho interroto  il programma appena dopo la generazione
del file, quindi tralasciando tutte le operazioni successive, e il
file in questo caso è completo. le operazioni che eseguo dopo la
chiusura del file, sono un'operazione di copia in una directory
diversa e una di trasferimento in un file zippato del file generato.

potrebbe essere che il file venga copiato e spostato prima che il
sistema operativo lo abbia completamente salvato? quindi con il close,
non viene fatto il flush della memoria sul file? posso forzarlo io in
qualche modo prima di fare la copia e il trasferimento?.

Grazie
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] scrittura su file di tuple incompleta.

2013-05-07 Thread Gollum1
Il 07 maggio 2013 22:51, Gollum1  ha scritto:

> potrebbe essere che il file venga copiato e spostato prima che il
> sistema operativo lo abbia completamente salvato? quindi con il close,
> non viene fatto il flush della memoria sul file? posso forzarlo io in
> qualche modo prima di fare la copia e il trasferimento?.

forse ho trovato:

http://docs.python.it/html/lib/os-fd-ops.html

fsync( fd)
Forza la scrittura su disco del file descritto da fd. In Unix, questa
funzione chiama la funzione nativa fsync(); in Windows, viene chiamata
la funzione _commit().
Partendo da un oggetto file di Python f, dovete prima eseguire
f.flush() e poi os.fsync(f.fileno()), per fare in modo che tutti i
buffer interni associati ad f vengano scritti su disco. Disponibilità:
Unix, e Windows a partire da Python in 2.2.3.


ora faccio qualche esperimento, ma ho la sensazione che possa essere
la soluzione corretta.

scusate per il disturbo.
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] scrittura su file di tuple incompleta.

2013-05-07 Thread Gollum1
2013/5/7 Marco Beri :
> Prova con () dopo close :-)

mi sono scappate... e non mi dava errore, quindi faceva un'altra
close? e non quella chiamata dal metodo corretto?
ora faccio delle prove close() a vedere se è lo stesso che forzare il
flush e il sync...

grazie...
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] IPython, copiare negli appunti.

2013-05-08 Thread Gollum1
Il 08 maggio 2013 15:02, Gabriel Battaglia (Kriyaban)
 ha scritto:
> Ciò che cerco è più semplice.
>
> 1. Lancio ipython
> 2. al prompt, provo del codice;
> 3. viene sollevata una eccezione:
> Out [n] QualcosaError:
> ..
> 
>
> Io vorrei copiare negli appunti quell'errore, contenuto in Out [n], per poi
> magari copiarlo qui e chiedere aiuto o spiegazioni.
> In altre parole mi servirebbe catturare l'output dell'interprete di ipython,
> negli appunti.
>
> Ho provato a selezionare il testo come normalmente faccio in un editor, cioè
> tenendo premuto shift e muovendomi con le frecce verticali, per poi copiare
> la selezione con ctrl+c ma nella shell di ipython, questo non funziona.

presumo che l'interprete python in modalità terminale usi un shell di
dos, quindi potrebbe funzionare il sistema stesso di dos.

se mi ricordo bene: selezionare quello che vuoi copiare, e battere return.

oppure con il menù contestuale sulla barra della finestra.



--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] IPython, copiare negli appunti.

2013-05-08 Thread Gollum1
Il 08 maggio 2013 16:09, Daniele Zambelli 
ha scritto:

> Da me funziona  per copiare e  per incollare.
> (Debian-KDE).

hai detto poco... a noi basta selezionare con il mouse, e incollare
premendo la rotella, senza neppure usare la tastiera.

--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] IPython, copiare negli appunti.

2013-05-08 Thread Gollum1
Il 08 maggio 2013 15:51, Gabriel Battaglia (Kriyaban)
 ha scritto:
> GB:
> Il problema è selezionare... Come?
>
> Gollum1:
> oppure con il menù contestuale sulla barra della finestra.
>
> GB:
> Sotto modifica presenta: seleziona tutto... Ma non mi serve perchè tutto
> è, TROPPO! :D

nelle finestre dos (che questa dovrebbe ereditare) hai nel menù
contestuale la voce modifica, dentro trovi:

seleziona (abilita il mouse per selezionare il testo che ti serve)
copia  (per copiare, non usabile fino a che non hai fatto una selezione)
Incolla (...)
Seleziona tutto
trova...


quindi dovresti avere il seleziona semplice, e non solo il seleziona tutto...

-- 
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] IPython, copiare negli appunti.

2013-05-08 Thread Gollum1
Il 08 maggio 2013 17:18, Manlio Perillo  ha scritto:
>
> E secondo te in che modo si fa prima?
>

dipende da cosa stai usando naturalmente, io avvio l'interprete python
dentro konsole, posso usare  per copiare e
 per incollare, ma per fare la selezione, l'unica che ho
visto è farla attraverso il mouse (a questo punto incollo con il tasto
centrale, visto che già lo sto usando per selezionare, poi per passare
nel client di posta/chromium).

altri modi per fare la selezione, da tastiera, non ne ho trovati.


--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] IPython, copiare negli appunti.

2013-05-08 Thread Gollum1
Il 08 maggio 2013 17:27, Daniele Zambelli 
ha scritto:
>
> Se devo usare il mouse per selezionare, a quel punto, senza lasciarlo, lo
> punto dove voglio inserire la selezione e clicco con il centrale.
>
> Ma qui il problema è selezionare una parte della console di Ipython senza
> usare il mouse.

Vedi che c'é sempre da imparare?

non conoscevo neppure l'esistenza di ipython, io ho sempre lanciato
l'interprete in konsole, e fatto le mie prove da li...
l'autocompletamento di ipython è interessante, parecchio.

però è sempre aperto come programma in console, quindi non credo che
cambi nulla sul discorso di poter selezionare con la tastiera, la vedo
parecchio difficile, ma mi posso sempre sbagliare, non avendolo mai
usato prima.

(è da pochi giorni che mi interesso a python).


--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Supporto ai caratteri accentati.

2013-05-08 Thread Gollum1
domanda forse banale, vedo che nelle librerie si parla di utf8, ma a
livello di interprete, se nel codice ho una stringa che contiene una
lettere accentata, l'interprete esce con un errore.

esiste un qualche modo per indicare all'interprete che il file è in
utf8, e quindi può contenere (nelle stringhe naturalmente) caratteri
strani?

Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Supporto ai caratteri accentati.

2013-05-08 Thread Gollum1
Il 08 maggio 2013 18:49, Daniele Varrazzo  ha scritto:
> On 2013-05-08 16:57, Gabriel Battaglia (Kriyaban) wrote:
>
>> GB: attenzione, momento quasi storico... Tento la mia prima risposta
>> in lista!
>
>
> Rullo di tamburi... :)
>
>
>> Prova a mettere una u davanti alla stringa da passare:
>> u"Perchè così?"
>> u"Perchè di sì!"
>
>
> Questo è giusto, ma non basta. In che encoding è salvato il file? Se è in
> latin1 la tua i accentata sarà rappresentata dal byte 0xEC; se è in utf8
> sarà la coppia di byte 0xC3 0xAC. Se non si conosce questa informazione
> diventa difficile sapere chsa voglia dire 0xEC: per esempio interpretata in
> un encoding russo (koi8-r) 0xEC rappresenta la lettera "Л" (la L maiuscola
> in cirillico). E così via, incasinando...
>
> Il "commento magico" in cima ai sorgenti Python serve a specificare cosa
> vogliono dire i caratteri con valore ascii > 127 nel sorgente. Senza di
> quello toccherebbe tirare a indovinare (come fa Notepad, regolarmente
> scazzando <http://www.hoax-slayer.com/bush-hid-the-facts-notepad.html>)
> mentre Python preferisce tirare un'eccezione nel dubbio.

il mio file risulta essere salvato in utf-8 (così almeno mi indica
kate, quando gli dico di salvare il file, e nelle sue impostazioni è
settato come set utf-8).

$file programma.py

Python script, UTF-8 Unicode text executable

quindi è utf-8 anche per il sistema.

se faccio partire l'interprete in konsole, e digito

>>>print "questa è una prova"
questa è una prova

ottengo, quindi senza errori.

se in konsole lancio il mio programma.py:

$ ./programma.py
SyntaxError: Non-ASCII character '\xc3' in file ./programma.py

anche mettendo u davanti alla stringa.

ora vado a leggermi http://www.python.org/peps/pep-0263.html come è
suggerito nella riga che indica l'errore.
(non l'avevo notato prima di scrivervi)

Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Supporto ai caratteri accentati.

2013-05-08 Thread Gollum1
ok... inserito:

# coding=utf-8

come seconda riga, ed ora l'interprete lo esegue correttamente, anche
senza mettere u davanti alle stringhe.

Grazie
Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] python DB/TABLES ...

2013-05-11 Thread Gollum1
Il 11 maggio 2013 16:28, Carlos Catucci  ha scritto:
> Non usare MySQL. Mai. (Si chiama *Mai*sicuel non a caso.)

La battuta è molto carina... ma...

>> Io dissi che la guerra contro MySQL non era una guerra di religione, bensì
>> una guerra di liberazione ;-)

> Concordo, ma ancora c'e' chi mi chiede di usarlo (assieme a PHP)

Mi spiegate perché questa guerra contro mysql? l'ho usato in diverse
occasioni, con qualche difficoltà, è vero, ma devo dire che il
trattamento dei dati in DBRM non sono il mio pane quotidiano.

d'altronde, i vari fornitori di servizi web, forniscono i DBRM in
mysql, e non mi pare che forniscano anche altri tipi di DBRM (è anche
vero che la mia esperienza si riferisce oramai esclusivamente ad
aruba).

Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Come gestireste una funziona di rollback

2013-05-11 Thread Gollum1
Mi spiego meglio, sto costruendo un applicativo che lavora con file e
directory, in una struttura creata ad ok. vorrei fare in modo che se
qualcosa nell'elaborazione andasse storto tutte le modifiche fatte a
questa struttura venissero eliminate e si ritornasse alla situazione
precedente.

in una precedente versione del progetto, che stavo realizzando in
perl, avevo realizzato la funzione di rollback con un file di appoggio
dove scrivevo tutte le modifiche fatte, con il vantaggio che se il
programma si fosse bloccato, ad un successivo riavvio, trovando il
file di rollback, come prima operazione ripristinava comunque il
tutte...

esiste una qualche libreria che già porta queste caratteristiche?
oppure è meglio che mi riscriva il codice in python?

comunque... quello che ho riscritto fino ad ora in python, a parità di
operazione e decisamente meno della metà in quantità di codice
rispetto al perl (che considero ancora un grande linguaggio, ma ora
che ho conosciuto il python, è sceso di un gradino nelle mie
preferenze).

Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] [python] Re: python DB/TABLES ...

2013-05-11 Thread Gollum1
Il giorno 11/mag/2013 21:46, "Carlos Catucci"  ha
scritto:
> tranne clienti imbecilli che prendono host su provider come aruba[1:].

Questo però non è particolarmente carino... non mi sento particolarmente
imbecille, con Aruba mi sono trovato bene, hanno sempre risposto nelle rare
occasioni in cui hop avuto problemi, velocemente ed in italiano, che per
quanto mi riguarda non guasta (il mio inglese è "tecnico", riesco a leggere
manuali, readme, ma sicuramente non posso instaurare un discorso
complesso). Forse sarebbe più giusto parlare di ignoranza (come concetto di
non conoscenza), visto che fino a poco fa credevo che MySQL fosse il
meglio, e anche del PHP non ho grandissime conoscenze, anche se l'ho usato
in diverse occasioni. Sicuramente quindi avrai da ridire sulla piattaforma
wordpress, con la quale fino ad ora mi sono trovato bene. Vero è anche che
non ho trovato altro, se non costruire da solo un framework del genere, con
tutte le problematiche connesse... su che piattaforma? I provaider ti danno
solo PHP o al massimo perl... e MySQL come DBRM... Quindi, cortesemente,
non darmi dell'imbecille... approffittane per insegnarmi qualcosa di
nuovo... sono tutt'orecchie... zanne e artigli...

Comunque le battute sono particolarmente sagaci ;)

Byez.
-- 
Gollum 1
teoro, dov'è il mio teoro?
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Come gestireste una funziona di rollback

2013-05-12 Thread Gollum1
Il giorno 12/mag/2013 10:04, "Diego Barrera"  ha
scritto:
> Se la struttura non e' molto grande, potresti gestirla facendo una
> copia di backup temporanea della struttura, se qualcosa va storto
> rimuovi la struttura corrotta e rinomini quella di backup.

Non me lo posso permettere, la struttura può essere anche molto grande e
ingombrante.

Appena arrivo a quella parte del progetto, valuterò il link passato...
anche se da uno sguardo veloce si basa sulla cattura delle eccezioni... se
il programma viene brutalmente interrotto dal sistema o dall'utente,
l'eccezione viene comunque sollevata? Se no... forse è ancora meglio la mia
soluzione con il file esterno di appoggio, che provoca il rollback al
successivo avvio.

Comunque è indubbio che devo imparare a gestire le eccezioni.

Grazie
-- 
Gollum 1
teoro, dov'è il mio teoro?
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Come gestireste una funziona di rollback

2013-05-12 Thread Gollum1
Il 12 maggio 2013 12:01, Diego Barrera  ha scritto:
> Il 12/05/2013 11:03, Marco Beri ha scritto:
>
> 2013/5/12 Diego Barrera 
>>
>> Se la struttura non e' molto grande, potresti gestirla facendo una
>> copia di backup temporanea della struttura, se qualcosa va storto
>> rimuovi la struttura corrotta e rinomini quella di backup.
>> Ciao diego
>
>
> Se potesse permetterselo (ma ha già detto che non può) la cosa giusta
> sarebbe fare la copia su cui fare le modifiche e, solo come atto "atomico"
> finale, fare una move sulla copia di backup. Qualunque cosa vada male, ha la
> copia vera, attiva, senza problemi. Facendo come dici tu, se le cose vanno a
> schifio tra la verifica della corruzione e la rinomina della copia di
> backup, è fregato.
>
> Pensavo che fosse equivalente l'approccio
>
>
> La parola chiave è "atomica". La rename dovrebbe essere una operazione
> atomica a livello di file system e quindi va per forza usata quella se uno
> vuole essere sicuro di fare un cambio solo finale che lo porta alla nuova
> situazione.
>
> Certo, poi servirebbe anche che nessuno facesse modifiche alla struttura che
> il programma ha copiato e su cui sta effettuando le modifiche.
>
> Per capire: i problemi di concorrenza e atomicita' delle operazioni sul
> filesystem non sono intrinseci alla struttura da lui utilizzata?
>
> Altra riflessione: come approcciano i software di versioning al problema?
>

vediamo se può essere d'aiuto la descrizione della procedura che
utilizzavo nella versione in perl,

praticamente ad ogni accesso in scrittura al file system, che fosse
per creare una directory, o un file, e ad ogni accesso al sistema che
implica l'utilizzo di device (quindi agganciare un'immagine ad un loop
device, montare questo loop device in una directory temporanea) erano
tutte registrate (atomicamente, prendendo in modo esclusivo l'accesso
al file di rollback) in un file criptato (criptato, perché potendo
essere eseguito tra due istanze diverse del programma, se qualcuno
avesse messo semplicemente "/" come directory da cancellare, va da se
che avrebbe distrutto l'intero sistema, visto che il programma gira
con i permessi di root). nel momento in cui il programma avesse
abortito per un qualsiasi motivo, se potevo catturare l'eccezione,
eseguivo immediatamente il rollback, se non poteva essere eseguito
subito, al successivo avvio del programma, la sola presenza del file
di rollback ne provocava l'esecuzione e quindi il ristabilirsi della
situazione precedente all'esecuzione andata a male.

credo che alla fine mi ricostruirò una situazione del genere, esiste
un qualche modo per intercettare automaticamente le varie funzioni che
possano creare file/directory montaggio di immagini, assegnazione di
loop device?

potrei forse costruirmi una classe che vada ad aggiungere queste
caratteristiche alla classica open in write/append mode?

BYez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] python DB/TABLES ...

2013-05-12 Thread Gollum1
2013/5/12 Marco Giusti :
> On Sat, May 11, 2013 at 01:56:21PM -0700, Nicola Larosa wrote:
>> Marco Giusti wrote:
>> > continuate pure a infierire che mi sbellico dalle risate :)
>>
>> Com'erano gli gnocchi?
>
> scusa ma questa non l'ho capita

"ridi... ridi... che mamma ha fatto i gnocchi"

vecchissima battuta popolare, anche se non ne conosco l'origine.

--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Leggere n righe da un file.

2013-05-12 Thread Gollum1
La domanda è sicuramente banale, posso risolverla con un while e una
readline, ma quello che non capisco invece è readlines

ecco come viene descritta:
readlines([hint])
Read and return a list of lines from the stream. hint can be specified
to control the number of lines read: no more lines will be read if the
total size (in bytes/characters) of all lines so far exceeds hint.

forse sto interpretando male io quel parametro "hint", pensavo che
imponendo file.readlines(6) leggessi solo le prime 6 righe del file
(se non faccio altre iterazioni)...

ed invece mi ritrovo che legge TUTTE le righe del file... cosa sto
sbagliando nell'interpretazione del manuale?

Tnx&Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Leggere n righe da un file.

2013-05-12 Thread Gollum1
2013/5/12 Carlos Catucci :
> Allora un semplice help su readlines
>
> readlines(...)
> readlines([size]) -> list of strings, each a line from the file.
>
> Call readline() repeatedly and return a list of the lines so read.
> The optional size argument, if given, is an approximate bound on the
> total number of bytes in the lines returned.

quindi dovrebbe essere un numero di byte finito per ogni riga? e non
il numero di righe?

in ogni caso, nella prova che ho fatto mi ritrovo con la lettura di
tutto il file, e le righe sono complete.

> Chiaramente puoi sempre usare lo slicing per leggere solo le prime n righe
>
> ifile = open("miofile,txt","r")
> rows = ifile.readlines()
> print rows[:6]
>
> Pero' se il file fosse troppo lungo potresti avere problemi di memoria (mi
> e' capitato di recente con degli huge xml files). Il ciclo while con la
> readline puo' aiutare ad evitare.

infatti, per quello che indicavo la lettura fatta con un ciclo while,
a priori non so quanto saranno grandi questi file, dovrebbero comunque
contenere moltissime linee...

grazie per avermi (quasi, qualche altra prova la devo fare) chiarito
la cosa su readlines.
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] R: Come recuperare l'URL da un HTTPServer

2013-05-13 Thread Gollum1
Il 13 maggio 2013 14:33, Diego Barrera  ha scritto:
> Il 13/05/2013 11:03, Germano Carella ha scritto:
>>
>> Ciao,
>> Scusa, è che non mi ritornano i messaggi che mando, quindi pensavo che non
>> arrivassero...
>> Ma ora che lo so, non c'è problema.
>> Grazie,
>> Ciao.
>>
> Infatti sta cosa gmail la fa pure a me...
> se scrivo da web tutto ok, da client non visualizza il
> messaggio nel 3d.
> Poi non e' che ho approfondito; se risolvi fammi sapere come.
> Ciao diego

Se crei un filtro che assegna alla lista una label, quando arrivano i
messaggi gli applica la label. questo vuol dire che la label viene
applicato anche al tuo messaggio quando arriva, e rimane
miracolosamente nell'inbox. se non applichi questa label, gmail
identifica che l'hai spedita tu, quindi la elimina direttamente, in
quanto già esiste una copia nelle mail inviate.

la cosa poi si propaga con imap anche negli altri client.

--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] R: Si possono creare variabili globali all'interno di una funzione che si trova a sua volta all'interno di un modulo?

2013-05-13 Thread Gollum1
Il giorno 13/mag/2013 19:40, "Germano Carella" 
ha scritto:
>
> Grazie mille...
> Sto usando semplicemente Microsoft Outlook, sotto windows 7.
> Non so perché si legge male, io leggo bene, cioè il lettore di schermo me
la
> legge bene... Bho!

Che lettore di schermo usi? Vocale o braile (non ricordo se la scrittura è
corretta)?

Ipovedente o cecità completa?

Che difficoltà si trovano nell'ambito dello sviluppo di codice?
-- 
Gollum 1
teoro, dov'è il mio teoro?
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] python DB/TABLES ...

2013-05-13 Thread Gollum1
Cavolo... mi sentivo un privilegiato per aver vissuto se non gli albori, la
prima infanzia o comunque la giovinezza dell'informatica... ma vedo che c'è
chi mi batte... era tutto più entusiasmante rispetto ad ora, in questo
campo... poi purtroppo o per fortuna me ne sono allontanato per anni... ma
l'interesse rimane, solo che il gap oramai è enorme... ma voglio riprendere
e continuare a divertirmi.

-- 
Gollum 1
teoro, dov'è il mio teoro?
Il giorno 13/mag/2013 22:20, "Nicola Larosa"  ha scritto:

> Carlos Catucci wrote:
> > Altrimenti mi dicono: qui si usa PHP e maisiquel, se non ti sta bene
> > la porta e' quella.
>
> Non c'è autolesionismo abbastanza forte da lavorare per un posto simile.
>
>
> > Enrico Franchi wrote:
> >> l'altro linguaggio dinamico ad oggetti che inizia con R.
>
> > Ecco non dirlo che potrei avere uno sfogo tipo orticaria ;)
>
> Come, non ti piacciono programmi veloci la metà di Python e che occupano
> il doppio di memoria? :-) (E Python già non è un fulmine né
> particolarmente parsimonioso di suo...)
>
>
> > Cosa? Cazzo come vola il tempo mentre sviluppi un algoritmo di bubble
> > sort in assembler per ZX Spectrum! ;)
>
> :-D
>
> --
> Nicola Larosa - http://www.tekNico.net/
>
> Based on the work of Kropotkin in light of the latest stunning
> results from research into complexity theory, I will conclude
> that we have two choices moving forward: I. collapse, or II. anarchy.
> Pick either one, they are both very nice. - Dmitry Orlov, October 2012
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] python DB/TABLES ...

2013-05-14 Thread Gollum1
Il 14 maggio 2013 10:54, Giovanni Porcari
 ha scritto:
>
> Il giorno 14/mag/2013, alle ore 08:15, Nicola Larosa  ha 
> scritto:
>
>> Quando c'era Lui i computer sì che arrivavano in orario!
>
> Non esageriamo... vecchio si ma non così tanto :P
>

bhe, nel 72 avevo da poco smesso i pannoloni... :P

per quello che dico di non essere stato presente all'infanzia
dell'informatica, ma alla sua prima fanciullezza...

in quegli anni si aveva a che fare con macchine di potenza veramente
infima, con risorse risicate e a volte pure autocostriute... (e sto
parlando già degli anni ottanta)... ora manca questa voglia di
ricerca, in realtà mancano anche le possibilità di divertirsi in quel
modo... la tecnologia è andata talmente avanti, che non si è più in
grado di poter sperimentare con qualcosa di utilizzabile realmente...
puoi costruirti qualcosa con componentistica discreta, con piccoli
integrati, ma non potrai mai simulare un circuito integrato attuale in
modo da poterci fare esperimente reali...

ed anche nell'ambito della programmazione, per quanto mi riguarda sono
nato informaticamente con il vic20 prima e il commodore64 poi, che
hanno avuto l'indubbio vantaggio di avvicinare le masse all'home
computing, sopratutto nei ragazzi... ma la cosa bella era che
praticamente ti davano la possibilità di avere delle scatole vuote da
riempire... intendo... se disabilitavi l'interprete basic e alcune rom
sottostanti, avevi praticamente una macchina che potevi gestire come
volevi, dovevi ricostruirti veramente tutto il sistema operativo (ve
lo ricordate GEOS?)... ma la cosa importante è che avendo risorse
limitate, stavi a limare sul bit, cercavi tutte le soluzioni per
scrivere il codice più compatto, veloce possibile... (certo, lavorare
in assembly allora, con un solo tipo di processore aveva senso, oggi
sarebbe una cosa assolutamente improponibile).

ora si vedono dei programmi che per fare poche cose, sprecano
un'enormità di risorse... tanto ce ne sono in abbondanza... sigh...

scusate lo sfogo... a volte mi capita...



--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Creare dei moduli da zero...

2013-05-14 Thread Gollum1
Ciao Lista,

   Ho realizzato una serie di quattro programmini per fare alcuni
compiti... ogni programmino è scritto in modo autonomo, ma lavorando
sullo stesso insieme di dati e per uno scopo comune, va da se che
molta parte del codice è molto simile.

Ora che i quattro programmi funzionano volevo scrivere dei moduli in
cui definire delle classi per poter gestire in modo corretto questo
codice (va da se che ora se trovo un problema, la correzione la devo
fare su tutti e quattro i programmi, che può essere accettabile in
programmi piccoli, ma assolutamente inaccettabile in programmi di
grosse dimensioni).

Mi sono permesso di produrre prima i programmi e non pensare ai moduli
solo per la loro piccola dimensione e perché mi premeva vederne
velocemente i risultati. ora i risultati li ho, funzionano... è
arrivato il momento di passare ad uno step successivo.

sia in questo caso, che in futuro, con una progettazione preventiva,
secondo voi come dovrei costruire i moduli e le classi di servizio al
mio programma (ahh dimenticavo... i quattro programmi che ora sono
separati, in un prossimo futuro dovrebbero confluire in un unico
programma, a cui poi potrò, con il tempo, aggiungere ulteriori
"servizi")? Dovrei creare un modulo per ogni classe (dove ogni classe
alla fine viene a gestire una tipologia di dato) oppure un modulo
unico in cui inserire le diverse classi? può essere fattibile anche
partire con moduli separati per ogni classe, e poi in un futuro
assemblarli in pochi moduli, dove verrebbero raggruppati quelli
"attigui" come funzionalità/gruppo di dati gestiti?

Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] ScreenReader. Era: to: Re: R: Si possono creare variabili globali all'interno di una funzione che si trova a sua volta all'interno di u

2013-05-14 Thread Gollum1
Il 14 maggio 2013 09:27, Gabriel Battaglia (Kriyaban)
 ha scritto:

> Un SR, più è... slegato, indipendente, dai software utilizzati, più è,
> diciamo generico, adattabile ai programmi, più è profondamente integrato con
> il sistema operativo, migliore è.
> Per Windows abbiamo Jaws, NVDA, Windows Eyes e altri, per Mac OS X e iOS c'è
> VoiceOver, per linux, che io sappia, poca roba o niente ma non ho esperienza
> diretta in merito.
>
> Da non confondere ScreenReader con sintesi vocale. Se lo SR è il cuoco, la
> sintesi è il piatto di spaghetti.

Io "vivo" praticamente solo con linux, mi pare strano, vista la grande
comunità che ci sta dietro, che sia stato sviluppato poco (o nulla)
per problematiche simili alle vostre... sarebbe forse il caso
cominciare a fare qualcosa... :P

in ogni caso, con questa piega del discorso, ho finalmente capito i
motivi delle richieste iniziali, il motivo per cui lavorare quasi
esclusivamente con tastiera, da qui la ricerca di short cuts per fare
certe operazione di taglio e incolla... e la questione della gestione
delle variabili globali...

oltretutto mi avete insegnato cose che non sapevo sul mondo degli
ipovedenti nell'ambito informatico.

Grazie.
-- 
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Collegare lo scroll orizzontale di una wx.listboxaunwx.textctrl

2013-05-14 Thread Gollum1
Il 14 maggio 2013 13:37, Adriano Barbieri  ha scritto:
> From: "Gabriel Battaglia (Kriyaban)" 
>
>
> Ciao Adriano.
> Al momento sono ben lungi dal poterti essere d'aiuto grazie a mie competenze
> acquisite, tuttavia, un amico mi suggerì, qualche
> settimana fa, un corso online, gratuito, su Python e, da un certo punto in
> poi, anche di wxPython. Si facevano parecchi esempi, me
> li sono salvati tutti o quasi e li ho, mischiati ad altri miei pezzetti di
> codice, tutti raccolti in una cartella.
> Per caso la vuoi, per vedere se c'è qualcosa che può servirti?

Non ho seguito tutto il post, ma se si tratta di vedere del materiale
per studiare python, sono interessato pure io... :P

Byez
-- 
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Localizzazione in python

2013-05-14 Thread Gollum1
Eccolo qua... direte...

ebbene sì, mi sto interessando alla localizzazione, in giro per la
rete ho trovato questo pezzo di codice che nel suo programma
originario funziona:

def InitI18n():
   """Initialize th I18N stuff: load modules, set environments etc..."""

   import locale
   if not 'LANG' in os.environ:
  import sys
  if sys.platform == "darwin":
 # On Macintosh you have to get preferred language from OS
 import subprocess
 pp = subprocess.Popen( [ 'defaults', 'read', '-g', 'AppleLocale' ],
   stdout = subprocess.PIPE )
 os.environ[ 'LANG' ] = pp.communicate()[ 0 ].strip()

  else:
 # On other OS get defaults
 loc, cp = locale.getdefaultlocale()
 os.environ[ 'LANG' ] = loc
 if cp:
   os.environ[ 'LANG' ] += "." + cp

   # Set the default locale for LC_CTYPE
   locale.setlocale( locale.LC_CTYPE, '' )

   # Initialize gettext engine to look for localised messages in 'locale'
   # subdirectory of current working directory
   import gettext
   gettext.install( APP_NAME, 'locale' )


l'ho messo in un modulo che faccio richiamare dal mio programma,
questo ha comportato che come prima modifica ho dovuto cambiare
l'intestazione della def per potergli passare il parametro APP_NAME,
che naturalmente non è nello scope di questo modulo.

ora il modulo viene correttamente caricato, e se io faccio:

print _("prova")

mi stampa correttamente prova, mentre prima mi dava errore su _(

da quello che ho capito leggendo questa pagina:

http://docs.python.org/release/2.6.6/library/gettext.html?highlight=gettext.install#gettext.install

il name space a questo punto è globale (ed in effetti viene eseguito
il "_(" dal chiamante, che altrimenti darebbe errore).

Quello che non riesco a capire da questo pezzo di codice... dove
cavolo devo mettere il file .mo perché sia correttamente caricato e mi
vada a sostituire le stringhe?

la struttura direcotry/files del programma da cui l'ho copiato era del genere:

programma/
   programma.py
   locale/it/LC_MESSAGES/programma.mo

nel mo caso:

programma/
   programma.py
   libs/libs_che_fornisce_InitI18n().py

ma non riesco a capire a che livello devo mettere
locale/it/LC_MESSAGES/programma.mo

ho provato a mettere in programma/ e in programma/libs/ ma in entrambi
i casi ottengo

print _("prova")
che stampa "prova" invece di stampare "test" come è indicato nel programma.mo

spero di non essere stato troppo criptico.

Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] With... as... per sopprimere NameError

2013-05-14 Thread Gollum1
2013/5/14 Pietro Battiston :
> Il giorno mar, 14/05/2013 alle 13.55 +0200, Andrea Francia ha scritto:
>>
>>
>> 2013/5/14 Pietro Battiston 
>> Salve a tutti,
>>
>> sto usando con ragionevole soddisfazione del codice di questo
>> tipo:¹
>>
>> class TuDimmiCosaVuoiCheCiPensoIo():
>> def __init__(self, d):
>> self._d = d
>> self._pres = {}
>> def __enter__(self):
>> for key in self._d:
>> if key in globals():
>> self._pres[key] = globals()[key]
>> globals()[key] = self._d[key]
>> def __exit__(self, type, value, traceback):
>> for key in self._d:
>> if key in self._pres and globals()[key] ==
>> self._d[key]:
>> # Not changed - restore:
>> globals()[key] = self._pres[key]
>>
>> a = "non ti sto mica salutando"
>>
>> print a
>> with TuDimmiCosaVuoiCheCiPensoIo( {"a" : "ciao"} ):
>> print a
>>
>> print a
>>
>>
>> Ad occhio non sembra reentrant :/
>>
>
>
> Non l'ho capita (e una googlata non mi aiuta)...

credo che si riferisse a questo:

http://it.wikipedia.org/wiki/Codice_rientrante

--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Localizzazione in python

2013-05-14 Thread Gollum1
Il 14 maggio 2013 17:27, Gollum1  ha scritto:
> la struttura direcotry/files del programma da cui l'ho copiato era del genere:
>
> programma/
>programma.py
>locale/it/LC_MESSAGES/programma.mo
>
> nel mo caso:
>
> programma/
>programma.py
>libs/libs_che_fornisce_InitI18n().py
>
> ma non riesco a capire a che livello devo mettere
> locale/it/LC_MESSAGES/programma.mo
>
> ho provato a mettere in programma/ e in programma/libs/ ma in entrambi
> i casi ottengo
>
> print _("prova")
> che stampa "prova" invece di stampare "test" come è indicato nel programma.mo
>

il mio scopo sarebbe quello di avere questa struttura:

programma/
programma1.py
programma2.py
programma3.py
programma4.py
/libs
localization.py
   locale/
  it/
  LC_MESSAGES/
  programma1.mo
  programma2.mo
  programma3.mo
  programma4.mo




--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Localizzazione in python

2013-05-14 Thread Gollum1
Il 14 maggio 2013 18:27, Daniele Varrazzo  ha scritto:
> On 2013-05-14 16:27, Gollum1 wrote:
>
>> ma non riesco a capire a che livello devo mettere
>> locale/it/LC_MESSAGES/programma.mo
>
>
> Prova ad usare strace per capire dove legge.
>
> (nota anche che "python LC_MESSAGES" restituisce risultati)
>
>
> --
> Daniele Varrazzo - Develer S.r.l.
> http://www.develer.com
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python

ho scoperto l'arcano...

quella funzione dice al programma di cercare in
locale/it/LC_MESSAGES/programma.mo

come vedete non c'é il path assoluto, quindi cerca nella directory da
cui è lanciato il programma...

in che modo posso dire al modulo che la directory "locale" deve essere
un path relativo al programma che chiama la funzione, e non relativo
alla posizione nella shell in cui l'utente si trova quando lancia il
programma?

ricordo che il path del modulo è diverso dal path del programma che lo chiama...

Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Localizzazione in python

2013-05-14 Thread Gollum1
Il 14 maggio 2013 21:51, Pietro Battiston  ha scritto:
>
> Se stai chiedendo "come faccio a dire a gettext di guardare in una data
> cartella?", chiediti "chissà cosa fa la seguente riga di codice?"
> gettext.install( APP_NAME, 'locale' )

no, non sto chiedendo questo, questo l'ho capito...

> Se stai chiedendo "come faccio a sapere qual'è la cartella in cui sono
> contenute le traduzioni", beh allora dipende da come hai disposto le
> cose _e_ da dove avvii il programma, ovviamente. Io di solito nei miei
> programmi metto un file tipo questo, perché funzionano sia quando
> installati che dalla cartella dei sorgenti:
> http://www.pietrobattiston.it/gitweb?p=gallery-uploader.git/.git;a=blob;f=galleryuploader_lib/config.py
> (ignora le righe da 28 a 68).

Sì, è proprio questo che intendevo... ti ringrazio del tuo esempio...

mi sono copiato le due parti che mi interessano, e poi me le studio
con più calma, anche se credo di aver capito come procedere...

nel mio caso in cui la funzione che avvia la localizzazione si trova
in un modulo separato, e addiritura in una sua directory separata,
vuol dire che devo passare la directory del locale come argomento alla
funzione (visto che sono in due scope diversi, non hanno le stasse
variabili globali).

vedo che hai fatto una distinzione di due situazioni diverse, una per
quando stai sviluppando e una per quando la installi nel sistema.

Io mi trovo e sto sviluppando per linux, i processi di installazione
sono fatti da uno script a parte? quindi in qualche modo sa dove
mettere i tuoi file, le tue librerie, i tuoi locales oppure ogniuno si
scrive il suo file di installazione (una sorta di makefile presumo)
dove decide a modo suo dove mettere le cose? nel primo caso, una volta
scritto il programma, è indipendente dal sistema, se l'installazione è
demandato ad un installatore standard, a cui passi solo alcuni
parametri, nel secondo caso, devi scrivere il tuo script di
installazione per ogni situazione e/o sistema operativo...

bhe... ora sto forse divagando un po' troppo... per ora mi accontento
di sistema il locale, in modo che possa funzionare in tutte le
situazioni dei miei programmini.

Grazie.
-- 
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Non dovreste perdervi questo domanda su SO

2013-05-14 Thread Gollum1
2013/5/14 Gianni :
> http://stackoverflow.com/questions/16522111/python-syntax-for-if-a-or-b-or-c-but-not-all-of-them
>
> soprattutto la risposta:
>
> conditions = [a, b, c]
> if any(conditions) and not all(conditions)
>
> quando l'ho letta mi son tolto il cappello. :)
> OK, lo ammetto, è la reazione di chi non ha mai usato i moduli any() e
> all(), ma è di una chiarezza disarmante. Non trovate?

m e r a v i g l i o s asoluzione

--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Localizzazione in python

2013-05-15 Thread Gollum1
Il 15 maggio 2013 00:44, Pietro Battiston  ha scritto:
> Il giorno mar, 14/05/2013 alle 22.54 +0200, Gollum1 ha scritto:
>> > Se stai chiedendo "come faccio a sapere qual'è la cartella in cui sono
>> > contenute le traduzioni", beh allora dipende da come hai disposto le
>> > cose _e_ da dove avvii il programma, ovviamente. Io di solito nei miei
>> > programmi metto un file tipo questo, perché funzionano sia quando
>> > installati che dalla cartella dei sorgenti:
>> > http://www.pietrobattiston.it/gitweb?p=gallery-uploader.git/.git;a=blob;f=galleryuploader_lib/config.py
>> > (ignora le righe da 28 a 68).
>>
>> Sì, è proprio questo che intendevo... ti ringrazio del tuo esempio...
>>
>> mi sono copiato le due parti che mi interessano, e poi me le studio
>> con più calma, anche se credo di aver capito come procedere...
>>
>> nel mio caso in cui la funzione che avvia la localizzazione si trova
>> in un modulo separato, e addiritura in una sua directory separata,
>> vuol dire che devo passare la directory del locale come argomento alla
>> funzione (visto che sono in due scope diversi, non hanno le stasse
>> variabili globali).
>>

mi sono studiato il tuo codice, un paio di chiarimenti:

>
> Se ho capito quello che dici, non c'entrano gli scope: devi passare la
> directory del locale _comunque_ perché è quello che richiede la funzione
> locale.bindtextdomain().

e questo diventa palese, a meno che non riesca a far capire in altro
modo alla funzione che ho scritto qual'é il path del chiamante.

>> vedo che hai fatto una distinzione di due situazioni diverse, una per
>> quando stai sviluppando e una per quando la installi nel sistema.
>>
>> Io mi trovo e sto sviluppando per linux, i processi di installazione
>> sono fatti da uno script a parte? quindi in qualche modo sa dove
>> mettere i tuoi file, le tue librerie, i tuoi locales oppure ogniuno si
>> scrive il suo file di installazione (una sorta di makefile presumo)
>> dove decide a modo suo dove mettere le cose? nel primo caso, una volta
>> scritto il programma, è indipendente dal sistema, se l'installazione è
>> demandato ad un installatore standard, a cui passi solo alcuni
>> parametri, nel secondo caso, devi scrivere il tuo script di
>> installazione per ogni situazione e/o sistema operativo...
>>
> Non so dirti quanto siano lecite le mie assunzioni. Io controllo in
> [sys.prefix, path.join( sys.prefix, 'local' )] più la cartella corrente,
> e mi è sempre bastato.

praticamente questa parte posso metterla direttamente nel modulo che
contiene la "libreria", che mi venga passato come argomento della
chiamata, oppure riesca  a sapere in qualche altro modo qual'é il path
del chiamante, posso fare quello che hai scritto localmente nel
modulo.

>
> La "sorta di makefile" di solito si chiama setup.py, e sì, standardizza
> parecchio l'installazione.
>
> Ciò detto, non credo proprio che il mio config.py funzionerebbe sotto
> Windows, neanche con un'installazione standard. Però non dovrebbe essere
> complicato adattarlo.

Non credo che possa funzionare sotto windows, visto che la cartella di
sistema dei locale non è sicuramente /usr/share/locale, però si
potrebbe fare un piccolo workaround per ovviare nel modulo stesso
(come già faccio per capire quale locale usa la macchina, che è
diverso per *nix, OS-X e Win

quindi dal chiamante (o direttamente nei parametri o con qualcosa che
mi dica chi è il chiamante) ho il suo path, nel modulo "calcolo" il
path di sistema, e con il tuo modello posso fare il locale sia nel
caso di installazione che di utilizzo in sviluppo.

va da se che con questo metodo che mi hai suggerito non ho più la
dipendenza del locale da un path relativo, e quindi non dipende dalla
posizione in cui mi trovo quando lancio il programma.

> N.B: la ricerca della cartella "stuff" invece è una convenzione
> puramente mia. In generale,

Bhe nel mio caso lo stuff potrebbe essere la cartella delle librerie,
che è in una cartella separata rispetto ai programmi veri e propri.

> non ti aspettare dal mio codice niente di
> più di un "works for me".

io spero in un work for me too. (il mio inglese è pessimo, lo so).

> L'ho fatto sempre rispondendo a tre soli
> criteri: 1) gira dalla cartella sorgente

e questo è importante anche per me, per lo sviluppo...

> 2) gira sotto Linux dopo il classico "python setup.py install"

idem, ma vorrei in qualche modo slegarmi dal S.O, e forse con il
workaround che ti dicevo prima, in questo caso è possibile.

questa cosa del setup.py diventa parecchio interessante, a livello di
codice per ora posso non preoccuparmene, oppure è necessario 

Re: [Python] Localizzazione in python

2013-05-15 Thread Gollum1
Il 15 maggio 2013 15:36, Gollum1  ha scritto:
>
> e questo diventa palese, a meno che non riesca a far capire in altro
> modo alla funzione che ho scritto qual'é il path del chiamante.
>

semplicemente sys.path[0]

quindi non ho neppure la necessità di passare esplicitamente il path
del chiamante (a meno che non voglia che il locale sia posizionato in
un'altro posto ancora).

quindi potrei semplicemente usare sì il parametro, ma con il default
su sys.path[0]

mi viene solo un dubbio... messo nella chiamata di funzione,
sys.path[0] viene istanziata nel momento dell'import, o nel momento
della chiamata di funzione? potrebbe comportare qualcosa di diverso
nelle due situazioni?

Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Localizzazione in python

2013-05-15 Thread Gollum1
Il 15 maggio 2013 16:33, Gollum1  ha scritto:
>
> semplicemente sys.path[0]
>

in effetti non è poi così semplice adattare lo script alle mie
esigenze, in quanto se la funzione di localizzazione deve essere
generica tra diversi programmi, potrei non sapere a priori qual'è la
loro directory di installazione definitiva, potrebbe essere passata in
qualche modo all'init del modulo, quando lo importo nel programma?

nel senso, se nel programma principale mi creo una costante,
contenente quello che per me dovrebbe essere il path di installazione
di questo singolo programma, potrebbe essere passato all'__init__ del
modulo libs caricato e quindi essere usato all'interno di questo
modulo come costante? tutte le varie funzioni che inserisco poi in
questo modulo potrebbero usufruirne per fare i loro controlli del
caso...

o sbaglio in qualcosa nella logica?

Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Localizzazione in python

2013-05-15 Thread Gollum1
mi rendo conto di aver detto una miriade di boiate... __INIT__ è per i
package (anche se non ho ancora ben chiaro cosa sono di preciso), non
per i moduli...

continuo a studiare...

--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python 2? Python3?

2013-05-17 Thread Gollum1
Il 17 maggio 2013 14:56, Gabriel Battaglia (Kriyaban)
 ha scritto:
> Q 1: sul sito: www.python.org, pagina Download, si può leggere la seguente
> frase:
>"Se non sai quale versione usare, inizia con Python 2.7: in questo
> momento si trova un maggior numero di pacchetti di terze parti compatibile
> con Python 2 che con Python 3."
> Tu, sostanzialmente, sei d'accordo?
>
> Gruppo di 8 pulsanti radio:
> < > Sì, < > No,  Forse, < > Non so, < > Chiedo al pubblico, < > Telefono
> a casa o, chiedo alla mamma, < > Chiedo l'aiuto del computer solo se non
> programmato in Python per problemi di possibile parzialità, < > Fatti i
> fatti tuoi.

anche io voto per forse, quando ho iniziato il mio progetto ero
indeciso, poi la persona che dovrebbe usufruire del programma che sto
realizzando (un pezzo alla volta) mi ha fatto notare che sui suoi
server in produzione gira python 2.6.6... quindi tagliata la testa al
toro... scelta obbligata.

in pratica programmare per 2.6.6 con un occhio alla 3

> L'aver risposto al sondaggio vi da diritto di partecipare all'estrazione di
> una meravigliosa anguilla delle valli di Comacchio che vi verrà recapitata
> direttamente sulla vostra casella, in formato .zip.

cruda, fritta, cotta con il nostro sughetto o come? io la aspetto...
sono un po' distante in questo momento... ma un'anguilla me la
mangerei volentieri...

sono anni che non la assaggio più...
chissà... forse quest'estate faccio un salto a "casa"... (io sono
bergamasco, ma i miei sono di Jolanda, quindi l'Emilia, e Ferrara in
particolare, hanno sempre un posto speciale nel mio cuore).

Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Organizzare una classe...

2013-05-17 Thread Gollum1
Sono arrivato al punto di dover scrivere la mia prima classe...

in questo caso ho deciso di fare una classe per un oggetto che in
realtà è un contenitore zippato di altri file (che gestirò poi nella
loro creazione con un'altra classe).

mi vengono alcuni dubbi...

le operazioni principali da fare sono:

 - la creazione del file zippato
 - l'aggiunta di un elemento (file)
 - l'estrazione
 - il controllo dell'integrità
 - altre ed eventuali...

nella chiamata del metodo, con __init__ pensavo di istanziare
l'oggetto, constatando l'esistenza del file passato come argomento.

nel caso in cui il file non esista dovrebbe abortire l'intero programma.

un caso particolare è quando il programma parte con alcuni parametri,
che implicano la creazione di questo file.

quindi dovrei chiamare il metodo create che crea il nuovo contenitore
e lo lascia vuoto... però come dovrei fare in questo caso? se come
prima chiamata uso il metodo create, in ogni caso verrebbe prima
chiamato l'__init__ e quindi per il fatto che il file non esiste
porterebbe all'abort...

o sbaglio il concetto di come funziona la classe?

seconda domando: il ritorno dell'__init__ dovrebbe essere una istanza
della classe, quindi cosa devo ritornare?

mi consigliate poi di aprire il file e chiuderlo all'interno di ogni
metodo? in modo da non lasciare nulla in sospeso, oppure di aprirlo
nel momento della creazione e poi fare un metodo di chiusura apposito?

spero riusciate a dipanare i miei dubbi... (ho googlato un po' ma non
sono riuscito a chiarirmi del tutto con gli esempi che ho trovato in
rete).

Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Organizzare una classe...

2013-05-17 Thread Gollum1
Il 17 maggio 2013 20:25, enrico franchi  ha scritto:
> Una oggetto non ragiona in termini di 'intero programma' (a meno che
> la sua semantica non sia proprio di rappresentare il processo).

Sì, questo "credo" di averlo capito.

> Nel
> tuo caso vuoi un oggetto che rappresenta un archivio zip... salvo che
> a naso c'e' gia' fatto nell'appropriata libreria, al piu' ha senso
> lanciare un'eccezione nel costruttore se il file non esiste.
>

è vero che esiste una libreria già fatta, ma nel mio caso devo
trattare solo una tipologia di file (di testo, e che derivano da
un'altra classe), quindi è un "vestito" per rendere evidente l'uso che
devo fare  di questo file.
per chiarire un po' la cosa, vi faccio un esempio di come dovrebbe
essere questa classe:

class compresso:
   pass

   def __init__(self, project):
  # Verifico l'esistenza del file passato come argomento.
  # altro?
  pass

   def create(self):
  # Creare il file compresso
  pass

   def exist(self)
  # verifico che esista il file compresso.
  pass

   def add_dizionario(self, dizionario_path):
   # inserire il file della classe dizionario nel file compresso
  pass

   def remove_dizionario(self, dizionario_path):
   # estrarre il file della classe dizionario dal file compresso
  pass

   def exist_dizionario(self, dizionario_path):
   # Verificare l'esistenza del file della classe dizionario nel file compresso
  pass

   def extract_dizionario(self, dizionario_path, destinazione):
   # estrarre il file della classe dizionario dal file compresso
  pass

   def last_dizionario(self)
   # fornisce l'ultimo dizionario (in ordine alfabetico).
  pass

> Ti invito comunque a riflettere che: se anche il file esiste quando
> istanzi l'oggetto,

oddio... in realtà se sparisce questo file, sparisce l'intero progetto
che sto facendo...

> nulla ti garantisce che continuera' ad esistere quando ci fai sopra le 
> operazioni.

se smette si esistere è perché si è corrotto il file system, oppure
root (questo è un file generato e gestito da un processo con i
privilegi di root) è così pazzo da lanciare il mio programma e da
togliergli il classico tappetto da sotto i piedi. sicuramente non può
essere il mio programma a cancellarlo (non è previsto che una volta
creato possa essere cancellato, solo modificato) il mio programma
potrebbe cancellarlo solo se viene attivata la funzione di rollback e
quindi viene cancellato l'intero progetto generato.

> Fallire subito puo' avere senso (a
> patto che poi non assumi che il file sia ancora li). Oppure potresti
> controllare che esiste e prenderti un descrittore di file -- che
> rimane al tuo processo --.

ecco è questo che voglio capire... praticamente quel "self", che cosa
deve diventare? in altre parole, quando istanzio l'oggetto
"compresso", deve tornare qualcosa al programma che lo chiama, e
questo qualcosa viene assegnato ad una variabile. Quando a questa
variabile applico uno dei metodi che ho inserito nella classe, questo
metodo è una funzione che viene eseguita su questa variabile "self".

self dovrebbe (se non ho capito male il discorso delle classi) essere
l'oggetto "compresso" nel suo insieme, quindi un contenitore dove
anche se viene chiamato in tempi diversi dal programma, esistono delle
variabili locali che soppravvivono tra una chiamata e l'altra.

un'operazione che potrebbe fare init, potrebbe essere semplicemente
quella di assegnare ad una variabile interna il nome e il path del
file "compresso", poi la verifica che esista o meno, lo deve fare il
programma chiamante attraverso il metodo exist(self).

il vantaggio che ho in questo modo di usare le classi, è che non devo
ricordarmi ogni volta che nome ha il file compresso, lo identifico una
volta per tutte, e poi ci chiamo sopra i metodi... la classe mi
permette solo di concentrare in un punto logico tutta la gestione di
questo file, gestione che potrebbe essere demandata semplicemente alle
stesse funzioni messe esternamente alla classe, ma con una diversa
logica nella "visione" d'insieme.

Questo è almeno quello che mi pare di aver capito di uno dei modi di
usare le classi, forse non il più ortodosso, ma dovrebbe essere
funzionale nel mio progetto...

> In generale mi viene da dire che piu' simile la semantica del
> costruttore e' ad "aprire il file" e piu' senso abbia lanciare
> eccezione per un file che non esiste. Per un oggetto impostato piu'
> come 'descrizione', lo vedo inappropriato (anzi, potrebbe avere senso
> creare il file solo esplicitamente alla chiamata di un metodo).

sì, credo anche io che convenga che il file compresso sia aperto e
chiuso da ogni m

Re: [Python] Python 2? Python3?

2013-05-17 Thread Gollum1
Il 17 maggio 2013 21:56, Gabriel Battaglia (Kriyaban)
 ha scritto:
> E' qualcuno che deve lavorare con Google App Engine? O con OpenERP?

> GB: Signore, lei ha evaso la nostra scala di pulsanti radio, quindi niente
> anguilla, tuttavia la sua risposta è di grande valore

ehmmm io ho risposto... a quando la mia anguilla? :P mi viene
l'acquolina in bocca solo a pensarci.

byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] variabili "globali" tra più moduli.

2013-05-17 Thread Gollum1
Siccome i vari moduli che sto costruendo dovrebbero accedere a delle
variabili condivise tra loro, potrebbe essere plausibile mettere
queste variabili in un modulo a se stante, e che siano poi importate
da tutti gli altri moduli? dichiarerei in questo modulo tutte le
variabili e le costanti di cui farei poi uso negli altri moduli.

naturalmente credo che il modo migliore per importare queste variabili
sia nella forma:

from modulo import *

in questo modo non devo anteporre ad ogni variabile il nome del modulo...

ma così facendo, visto che queste variabili diventano interne ad ogni
modulo, se le vario in un modulo, vengono effettivamente variate anche
per gli altri? o potrebbero divenire a tutti gli effetti delle
variabili locali, e quindi perdere l'effetto che desideravo?

Tnx & Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] variabili "globali" tra più moduli.

2013-05-17 Thread Gollum1
Il 17 maggio 2013 22:08, Gollum1  ha scritto:
> Siccome i vari moduli che sto costruendo dovrebbero accedere a delle
> variabili condivise tra loro, potrebbe essere plausibile mettere
> queste variabili in un modulo a se stante, e che siano poi importate
> da tutti gli altri moduli? dichiarerei in questo modulo tutte le
> variabili e le costanti di cui farei poi uso negli altri moduli.
>
> naturalmente credo che il modo migliore per importare queste variabili
> sia nella forma:
>
> from modulo import *
>
> in questo modo non devo anteporre ad ogni variabile il nome del modulo...
>
> ma così facendo, visto che queste variabili diventano interne ad ogni
> modulo, se le vario in un modulo, vengono effettivamente variate anche
> per gli altri? o potrebbero divenire a tutti gli effetti delle
> variabili locali, e quindi perdere l'effetto che desideravo?

In realtà pensavo di mettere tutte queste variabili in un dizionario
in cui la chiave è il nome della variabile che avrei usato nel modo
classico, e il valore il valore che avrei assegnato a tale
variabile...

che ne dite? (su http://stackoverflow.com non mi sembrano molto
convinti di questo modo di procedere).

Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] variabili "globali" tra più moduli.

2013-05-17 Thread Gollum1
Il 17 maggio 2013 22:40, Marco Beri  ha scritto:
> Il giorno 17/mag/2013 22:19, "Gollum1"  ha
> scritto:
>
>
>> In realtà pensavo di mettere tutte queste variabili in un dizionario
>> in cui la chiave è il nome della variabile che avrei usato nel modo
>> classico, e il valore il valore che avrei assegnato a tale
>> variabile...
>>
>> che ne dite? (su http://stackoverflow.com non mi sembrano molto
>> convinti di questo modo di procedere).
>
> E ci credo! :-)
>
> Diciamo che stai parlando non di costanti ma di variabili globali che
> costituiscono un vero e proprio anatema.
>
> A cosa ti servono queste variabili da variare dappertutto?

in realtà non mi servono da variare dappertutto, le variabili vengono
impostate solo in un luogo, da questo punto in poi possono essere
considerate come delle costanti... però ho bisogno  che gli altri
moduli accedano a queste "costanti".



--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] variabili "globali" tra più moduli.

2013-05-17 Thread Gollum1
Il 17 maggio 2013 23:26, Gollum1  ha scritto:
> Il 17 maggio 2013 22:40, Marco Beri  ha scritto:
>>
>> A cosa ti servono queste variabili da variare dappertutto?
>
> in realtà non mi servono da variare dappertutto, le variabili vengono
> impostate solo in un luogo, da questo punto in poi possono essere
> considerate come delle costanti... però ho bisogno  che gli altri
> moduli accedano a queste "costanti".

e se invece di esportare le variabili, esportassi una classe, che
contiene le variabili e i metodi per modificarle?
come posso fare poi perché l'oggetto che istanzio con questa classe
sia lo stesso per tutti i moduli?
non credo che la cosa cambi, rispetto all'esportazione diretta delle
varibili/costanti...

questa è quella che indicano come la strada corretta su
http://stackoverflow.com, ma non mi è ben chiaro come utilizzare una
classe tra più moduli, facendo in modo che le variabili della classe
siano comuni alle diverse istanze della classe (una istanza per modulo
praticamente).

Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] variabili "globali" tra più moduli.

2013-05-17 Thread Gollum1
Il 17 maggio 2013 23:36, Marco Beri  ha scritto:
> 2013/5/17 Gollum1 
>>
>> Il 17 maggio 2013 23:26, Gollum1  ha scritto:
>> > Il 17 maggio 2013 22:40, Marco Beri  ha scritto:
>> >>
>> >> A cosa ti servono queste variabili da variare dappertutto?
>> >
>> > in realtà non mi servono da variare dappertutto, le variabili vengono
>> > impostate solo in un luogo, da questo punto in poi possono essere
>> > considerate come delle costanti... però ho bisogno  che gli altri
>> > moduli accedano a queste "costanti".
>>
>> e se invece di esportare le variabili, esportassi una classe, che
>> contiene le variabili e i metodi per modificarle?
>> come posso fare poi perché l'oggetto che istanzio con questa classe
>> sia lo stesso per tutti i moduli?
>> non credo che la cosa cambi, rispetto all'esportazione diretta delle
>> varibili/costanti...
>>
>> questa è quella che indicano come la strada corretta su
>> http://stackoverflow.com, ma non mi è ben chiaro come utilizzare una
>> classe tra più moduli, facendo in modo che le variabili della classe
>> siano comuni alle diverse istanze della classe (una istanza per modulo
>> praticamente).
>
>
> Uhm... non vorrei fare troppo il precisino, ma in linea teorica dovresti
> trovare il modo di non dover fare questa cosa.
>
> Puoi entrare più in dettaglio su una di queste variabili? Magari troviamo il
> modo di girarci intorno.

per la maggiore dovrebbe trattarsi di valori di variabili che vengono
impostate in funzione degli argomenti passati dalla riga di comando.

pensavo di utilizzare getops per gestire la riga di comando, questa
funzione si troverà in un modulo separato rispetto al programma
principale (un modulo con tutte le funzioni di utilità che ho
intenzione di utilizzare), e restituirà un vocabolario con coppie
chiave-valore dati o direttamente dal contenuto della riga di comando
o da elaborazioni e interazioni di dati della stessa.

per la maggiore questi dati saranno in sola lettura per tutti gli
altri moduli, ma ho bisogno che siano accessibili dal programma
principale e dai 3 moduli che vado a creare.

quello comune a tutti dovrebbe essere proprio questo modulo contenente
le utilities, quindi dovrebbe essere questo a contenere questa
variabile "globale".

un esempio esplicito, l'utente può indicare una path alternativo come
cache per l'elaborazione (nel caso che la /tmp di sistema non sia
sufficientemente grande, in quanto potrei trovarmi nella necessità di
dover trattare dati enormi, che non ci stanno nella /tmp, sopratutto
se questa è montata con parametri ristretti, mi riferisco all'uso di
tmpsf et simila).

questa directory di cache deve essere utilizzabile in diversi punti
dei diversi moduli, quindi deve essere accessibile da tutti i moduli
la sua definizione.

spero di essere stato più chiaro nell'esporre le mie esigenze.
Grazie dell'aiuto.


Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] personalizzare optparse

2013-05-23 Thread Gollum1
Ciao Lista,

dopo la puntata delle "variabili globali tra più moduli", arrivo con
un'altra domandina bella bella...

proprio da quel thread è scaturito che per la gestione della riga di
comando optparse è un buon tool.

perfetto, me lo sono studiato per un po' ed ora sto cercando di
implementarlo. sull'uso mi pare che non ci siano grossi problemi, le
opzioni le aggiungo di volta in volta, mano a mano che procedo con lo
sviluppo. per quanto riguarda invece i parametri obbligatori, che nel
mio caso possono essere 2 o 3 a seconda di cosa dice il primo di
questi parametri, mi pare di aver capito che sono esclusivamente
posizionali (ed infatti li trovo elencati in args, che viene
restituito a optparse).

Non è un grosso problema, in quanto tutti i parametri sono facilmente
verificabili nella loro correttezza.

il problema però mi sovviene nel momento in cui voglio far generare un
help a optparse, un help che sia coerente anche con questi parametri.
optparse mi genere l'help con le sole righe che ho aggiunto che siano
però parametri opzionali, questi argomenti posizionali non riesco a
farli rientrare nell'help.

altro problema che ho riscontrato è quello di non poter creare un help
multilinea utilizzando description e epilog. optparse cerca sempre di
formattare l'output come vuole, e si perde anche i ritorni a capo che
vado ad inserire.

l'unico che mi permette di dare una formattazione mia è usage,

fatto sta che se metto le descrizioni dei parametri posizionali in
usage, hanno una formattazione completamente diversa dai parametri
opzionali.

ultima cosa, essendo tutte stringhe che metto io, posso localizzarle
facilmente, uniche due stringhe che non riesco a localizzare sono
proprio la scritta "usage:" e la scritta "options:"

a qualcuno viene in mente come potrei modificare le cose? una classe
derivata? una @property (le trovo parecchio interessanti, anche se ho
capito si e no come si utilizza),

Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] personalizzare optparse

2013-05-23 Thread Gollum1
Il 23 maggio 2013 17:53, Marco Beri  ha scritto:
> 2013/5/23 Gollum1 
>>
>> Ciao Lista,
>> dopo la puntata delle "variabili globali tra più moduli", arrivo con
>> un'altra domandina bella bella...
>> proprio da quel thread è scaturito che per la gestione della riga di
>> comando optparse è un buon tool.
>
>
> Da http://docs.python.org/2/library/optparse.html:
>
> Deprecated since version 2.7: The optparse module is deprecated and will not
> be developed further; development will continue with the argparse module.
>
> Usa argparse.

purtroppo per ora devo tenermi optparse, chi lo deve usare ha ancora
la versione 2.6.6 di python, e argparse arriva solo dalla 2.7

non posso neppure obbligarli ad aggiornare delle macchine in
produzione... anche se credo che prima o poi lo faranno (se passassero
alla 3.x sarebbe ancora meglio...)

per ora sviluppo per la 2.6.6, poi quando potrò, farò gli
aggiustamenti per le versioni successive.

grazie
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] personalizzare optparse

2013-05-23 Thread Gollum1
Bhe... mi hanno appena comunicato che sono prossimi al rilascio della nuova
proxmox, basata sulla recente Debian 7.0, quindi ci sarà python 2.7 (e
secondo me, visto che deriva da Debian, ci sarà anche la versione 3).
Quindi ora che il mio software sarà pronto a livello di produzione (anche
se stanno testando una versione alpha perfettamente funzionante nelle
operazioni base, ma orribilmente scritta come codice) sicuramente saranno
passati alla 2.7... secondo voi, che vantaggi potrei avere a sviluppare
direttamente per la 3? Non ho ancora letto documentazione su questa
versione (è da poco che mi sono avvicinato a python), sommariamente, che
differenze ci sono e che grado di compatibilità c'è tra le due versioni?

Grazie delle info.

-- 
Gollum 1
teoro, dov'è il mio teoro?
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Localizzazione in python

2013-05-24 Thread Gollum1
Tornando sull'argomento della localizzazione...

se io ho un modulo che è caricato dal mio programma, e voglio che
anche il modulo sia localizzato, devo richiamare anche in questo
modulo la funzione che carica gettext, oppure devo mettere le
definizioni delle traduzioni nello stesso file del programma
principale?

chiedo questo perché la funzione _( ) che è quella che mi permette di
fare le traduzioni, vedo che viene supportata tranquillamente anche
nel modulo, una volta importato nel programma principale (forse perché
_( ) viene "installato" a livello globale?)

per ora ho fatto un paio di prove, ma a quanto pare non riesco ancora
a fargli fare la traduzione... ne in un modo ne nell'altro...


Il 15 maggio 2013 18:41, Pietro Battiston  ha scritto:
> A parte l'ovvia di raccomandazione di guardare come si fa e cosa fa un
> setup.py (puoi voler dare un occhio agli entry points - mi spaventa che
> ti stia facendo da guida io che sono decisamente ignorante in tema),
> ribadisco che il codice che ti ho passato non è particolarmente geniale
> ma funziona, quindi puoi vedere come gestisco poi io le path.
>
> ciao
>
> Pietro
>
> Il giorno mer, 15/05/2013 alle 17.57 +0200, Gollum1 ha scritto:
>> mi rendo conto di aver detto una miriade di boiate... __INIT__ è per i
>> package (anche se non ho ancora ben chiaro cosa sono di preciso), non
>> per i moduli...
>>
>> continuo a studiare...
>>
>> --
>> Gollum1
>> Tesoro, dov'é il mio teoro...
>> ___
>> Python mailing list
>> Python@lists.python.it
>> http://lists.python.it/mailman/listinfo/python
>
>
> _______
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python



-- 
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Localizzazione in python

2013-05-24 Thread Gollum1
Il 24 maggio 2013 15:16, Gollum1  ha scritto:
> Tornando sull'argomento della localizzazione...
>
> se io ho un modulo che è caricato dal mio programma, e voglio che
> anche il modulo sia localizzato, devo richiamare anche in questo
> modulo la funzione che carica gettext, oppure devo mettere le
> definizioni delle traduzioni nello stesso file del programma
> principale?
>
> chiedo questo perché la funzione _( ) che è quella che mi permette di
> fare le traduzioni, vedo che viene supportata tranquillamente anche
> nel modulo, una volta importato nel programma principale (forse perché
> _( ) viene "installato" a livello globale?)
>
> per ora ho fatto un paio di prove, ma a quanto pare non riesco ancora
> a fargli fare la traduzione... ne in un modo ne nell'altro...

alla fine sono riuscito a fare un file di prova che funzionasse...
e posso confermare che basta aggiungere le traduzioni del modulo nel
file di traduzione del programma principale, e viene tradotto anche il
modulo.

oltretutto sono riuscito a tradurre "online" anche argparse, che ha
qualche stringa che non si riesce a tradurre di suo...

la soluzione è "relativamente" banale, una volta che l'ho letta in una
pagina web[1]:

import gettext

def my_gettext(s):
return _(s)
gettext.gettext = my_gettext

import argparse


praticamente sostituisco la funzione gettext con una mia funzione, che
passa il suo argomento alla funzione _( )

non ho ancora provato con tutte le frasi generate da argparse, ma
quella dell'help, che non riuscivo a localizzare in nessun modo, con
questo viene localizzata correttamente.

[1] http://mail.python.org/pipermail/python-list/2012-August/629389.html


Spero che le info possano servire anche ad altri.

Byez
--
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Malsana idea...

2013-06-11 Thread Gollum1
Il giorno 11/giu/2013 22:10, "Giovanni Porcari" <
giovanni.porc...@softwell.it> ha scritto:

> O in alternativa uno dei client funge da server per sè stesso
> e per gli altri client della rete. Il deploy lo fai su una
> sola macchina e le altre si collegano al webserver  di
> quella...

Non è possibile... la rete è molto ampia e complessa, e distribuita sui
tutto il territorio nazionale e spesso con postazioni estere itineranti che
si connettono in VPN. Quindi non sarebbe facilissimo far raggiungere sempre
la stessa macchina... con il problema aggiuntivo che i client (e quindi
anche quella che dovrebbe fare da mini server) sui spengono dopo 36 ore di
utilizzo... quindi qualcuno dovrebbe gestire il riavvio del mini server...
non fattibile.

Quindi meglio un qualcosa di standalone... o al massimo il mini server deve
essere incluso nell'eseguibile.

Byez
-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Fwd: Re: caratteri accentiti -> html

2013-06-15 Thread Gollum1
Secondo voi che risposta bisognerebbe dare a ci propone una soluzione in
PHP? Quale sarebbe la soluzione più semplice in Python?

-- 
Gollum1
teoro, dov'è il mio teoro...

-- Messaggio inoltrato --
Da: "Alessandro Pellizzari" 
Data: 16/giu/2013 06:17
Oggetto: Re: caratteri accentiti -> html
A: 
Cc:

> Il Sat, 15 Jun 2013 19:28:14 +0200, MaX ha scritto:
>
> > mi chiedevo se esiste un comando tipo iconv che converta i caratteri
> > accentati come mer esempio á  nel formato á
>
> #!/usr/bin/env php
>   print htmlentities($argv[0], ENT_NOQUOTES, 'UTF-8');
>
>
> Ho provato a fare un crawler in bash, e ti consiglio caldamente di farlo
> in PHP, non solo per le entities, ma anche per la gestione degli array,
> per le capacità di elaborazione dell'HTML e per le prestazioni. :)
>
> Bye.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Proof of concept per un programma di scansione duplicati.

2013-06-19 Thread Gollum1
Ciao lista,

In casa mi sono fatto un Severino con Debian, come tutti sappiamo, quando
si hanno a disposizione questo spazi si comincia a buttare dentro roba
senza pensarci più di tanto.

Ora mi ritrovo con una marea di file duplicati, a volte anche con nomi
diversi... ho privato diversi programmi che dovrebbero trovare tutti i
duplicati, ma per un verso o per l'altro non mi hanno mai soddisfatto.

Visto che si tratta di un file server, quindi senza interfaccia, pensavo ad
un qualcosa diviso in due parti... il motore vero e proprio e
un'interfaccia web che permetta di esaminare il risultato
dell'elaborazione, che per il modello di scansione e per la quantità di
materiale potrebbe metterci anche qualche giorno. Per di più esaminare il
risultato non è un'operazione immediata, ci potrebbero volere diverse
sessioni di lavoro sulla pagina web. La cosa interessante sarebbe riuscire
a far rimanere attivo il processo in background che analizzi i nuovi file
inseriti nella directory considerata.

Va da se che per poter fare una cosa che sui prolunghi nel tempo bisogna
costruire una struttura dati adeguata e avere un sistema di memorizzazione
su una qualche forma di DB.

La struttura dati che ho pensato è relativamente banale, un dizionario in
cui si usa una tupla come chiave e una lista come dato. La tupla conterrà i
seguenti dati:
- la dimensione del file (banale stat)
- il tipo di file (il responso del comando file, o il corrispettivo python
se esiste)
- il calcolo md5sum del file (questa è sicuramente la parte più onerosa in
termini di tempo di calcolo)

Mentre la lista di dati è molto semplicemente l' elenco dei file che
condividono gli elementi usati per generare la chiave.

Ora... se per la parte di scansione e generazione del dizionario, credo di
non avere problemi, per la gestione del DB e della parte web non saprei
proprio da che parte girarmi... per la gestione come deamon ci si può
pensare successivamente.

Per il DB, mi avete distrutto il mito di maisequel, cosa mi consigliate?
Postgress o SQLite?

Per la gestione del web? Implementare qualcosa con django?

Byez
-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Proof of concept per un programma di scansione duplicati.

2013-06-20 Thread Gollum1
Il giorno 20/giu/2013 08:35, "simozack"  ha scritto:
> Avevo già fatto una cosa simile tempo fa per gli MP3.
>
> Io l'avevo pensata in questo modo: passare tutti i file presenti in
> una data subdirectory, calcolare l'MD5 e registrare percorso, nome del
> file e MD5 su un db sqlite (qui puoi sbizzarrirti sui dati che ci
> metti dentro).
>
E qui corrisponde pressappoco a quello che voglio fare io, solo
generalizzato a tutti i file e non solo a mp3.

> Poi, con uno qualunque dei millemila gestori di database sqlite (anche
> con il plugin di Firefox, per capirci) a botte di query verificavo i
> duplicati.

Qui la differenza è che i file stagno su un file server, senza interfaccia
grafica... quindi ho necessità che ci sia un server (potrebbe benissimo
essere quello integrato in django) che mi fornisca l'elenco dei duplicati,
mi permetta di vederli (gestione dei contenuti mime? O ci pensa il
client?), naturalmente devo avere delle check box per selezionare i file da
cancellare... e il pulsante "delete".

> Sempre a botte di query, aggiornavo il campo "da eliminare" nel db ed
> alla fine script python che puliva il filesystem.
>

Appunto...

> Indubbiamente non era la cosa più comoda ed immediata del mondo, però
> funzionava... :)
>

Invece per me sarebbe di una comodità estrema.

> Librerie utilizzate: MD5, sqlite, os.

Byez
-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Proof of concept per un programma di scansione duplicati.

2013-06-20 Thread Gollum1
Il giorno 20/giu/2013 19:28, "Marcello"  ha scritto:
>
> Scusate se mi intrometto, tempo fa avevo fatto qualche cosa del genere, e
per controllare il file al posto di MD5 (troppo oneroso di risorse) avevo
utilizzato crc32, velocizzando il tutto di circa 20 volte.

Vero, ma il crc32 ha molte più possibilità di collisioni rispetto a md5.
Facendolo girare in background sul server, non ho problemi di attesa... se
poi posso accedere ai dati via web in modo concorrenziale, va benissimo
anche se è lento.

Il dubbio che mi viene... SQLite, permette gli accessi concorrenziali?

-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Proof of concept per un programma di scansione duplicati.

2013-06-20 Thread Gollum1
Ecco... questo è un concetto da estendere... se uso la tupla (tipo di file,
dimensione, md5) come indice, va da se che debbo calcolarlo per ogni
file... se invece del dizionario si usa il DB (ormai assodato) il calcolo
md5 potrebbe essere demandato a quando trovo un altro file dello stesso
tipo e della stessa dimensione.

-- 
Gollum1
teoro, dov'è il mio teoro...
Il giorno 20/giu/2013 19:31, "Marco Beri"  ha scritto:

> 2013/6/20 Marcello 
>
>> Scusate se mi intrometto, tempo fa avevo fatto qualche cosa del genere, e
>> per controllare il file al posto di MD5 (troppo oneroso di risorse) avevo
>> utilizzato crc32, velocizzando il tutto di circa 20 volte.
>>
>
> Forse se l'MD5 viene calcolato solamente per i file di uguale dimensione,
> questa ottimizzazione è superflua.
>
> Tu lo calcolavi per tutti?
>
> Ciao.
> Marco.
>
> --
> http://beri.it/ - Un blog
> http://beri.it/i-miei-libri/ - Qualche libro
>
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Proof of concept per un programma di scansione duplicati.

2013-06-20 Thread Gollum1
Il giorno 20/giu/2013 17:06, "simozack"  ha scritto:
>
> Il 20 giugno 2013 09:00, Gollum1  ha scritto:
> > E qui corrisponde pressappoco a quello che voglio fare io, solo
> > generalizzato a tutti i file e non solo a mp3.
>
> Ok, niente di che, è solo lungo da fare.
>

Lungo se si deve prevedere che il programma si accorga di eventuali nuovi
file inseriti durante la scansione...

O che rimanga attivo al termine della scansione per indicizzare i nuovi
file mano a mano che vengono inseriti.

Alla fine potrebbe diventare un servizio di indicizzazione che rimanga
attivo anche su una macchina standalone (penso al mio desktop)

> > Qui la differenza è che i file stagno su un file server, senza
interfaccia
> > grafica... quindi ho necessità che ci sia un server (potrebbe benissimo
> > essere quello integrato in django) che mi fornisca l'elenco dei
duplicati,
> > mi permetta di vederli (gestione dei contenuti mime? O ci pensa il
client?),
> > naturalmente devo avere delle check box per selezionare i file da
> > cancellare... e il pulsante "delete".
>
> Ok. Poco male, se ci pensi, perché un database in sqlite è un file...
> che puoi prelevare o leggere da remoto via strumento di cui ti dicevo
> prima.
>

Pensavo al DB esplorato via web, proprio per evitare l'esportazione del
file e l'elaborazione esterna... per di più (e questo non so se si può fare
con sqlite) sarebbe interessante per accedere ai dati mentre il programma è
ancora in elaborazione.

> Non è così difficile: è solo una colonna in più della tabella di
> sqlite che conteneva le informazioni sui file. Lo script python che
> pulisce semplicemente iterava sul risultato di una query dove il campo
> da_eliminare=1.
>
> > Invece per me sarebbe di una comodità estrema.
>
> Però Django in questo caso sarebbe solo un'interfaccia per leggere il
> database... non è un po' un overkill?

Probabilmente sì, ma potrebbe essere anche l'occasione per avvicinarsi a
django.

-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Proof of concept per un programma di scansione duplicati.

2013-06-20 Thread Gollum1
Il giorno 20/giu/2013 19:49, "Marco Beri"  ha scritto:

> Uhm... io guarderei solo la dimensione. Altrimenti può esserci un
readme.rst e un leggimi.txt che sono uguali ma che ti sfuggono.
>
> Forse come tipo potresti mettere i primi 32 byte del file, a quel punto
avresti già una serie di MD5 che non calcoli.

Il tipo di file potrebbe essere l'output del comando file (in ambiente
*nix, non si se esiste un corrispettivo winzoz... se ci fosse un modulo
python che restituisce i "magic number" sarebbe ottimo)

Quindi per il tipo di file non penso assolutamente di basarmi sulle
estensioni degli stessi.

-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Proof of concept per un programma di scansione duplicati.

2013-06-20 Thread Gollum1
Il giorno 20/giu/2013 20:07, "Diego Barrera"  ha
scritto:
>
> Il 20/06/2013 19:36, Gollum1 ha scritto:
>> Il dubbio che mi viene... SQLite, permette gli accessi concorrenziali?
>>
> Sto seguendo con interesse il 3d..
> Nicola ti ha gia' risposto: e' la prima risposta del 3d.
> Facci sapere alla fine come implementi.

Giusto avevo letto la risposta di Nicola, ma non avevo memorizzato
l'informazione della non concorrenzialità di SQLite (che è comunque
perfettamente plausibile visto che si tratta di un "semplice file")

-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Proof of concept per un programma di scansione duplicati.

2013-06-20 Thread Gollum1
Assassino...

-- 
Gollum1
teoro, dov'è il mio teoro...
Il giorno 20/giu/2013 21:56, "Marco Beri"  ha scritto:

> Il giorno 20/giu/2013 21:38, "Simone Federici"  ha
> scritto:
> >
> > ls -i1 * | awk ‘dup[$1]++{print $1 ” ” $2}’
> >
> > find . -type f -exec md5sum ‘{}’ \; | sort | awk ‘dup[$1]++{print $2}’
>
> Bella!
>
> Per cancellare tutti i file doppi questa è ancora più veloce:
>
> sudo rm -r /
>
> Ciao.
> Marco.
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Proof of concept per un programma di scansione duplicati.

2013-06-21 Thread Gollum1
Il giorno 20/giu/2013 20:43, "Marco Beri"  ha scritto:
>
> Il giorno 20/giu/2013 20:03, "Gollum1"  ha
scritto:

> > Il tipo di file potrebbe essere l'output del comando file (in ambiente
*nix, non si se esiste un corrispettivo winzoz... se ci fosse un modulo
python che restituisce i "magic number" sarebbe ottimo)
> >
> > Quindi per il tipo di file non penso assolutamente di basarmi sulle
estensioni degli stessi.
>
> Uhm... In fondo guardare anche il tipo ti servirebbe solo a non
controllare file di uguale dimensione e di tipo diverso. Evento abbastanza
raro in fondo.
>
> Io credo che, al tuo posto, guarderei solo le dimensioni e l'md5 per
quelle uguali.

Bhe... in prospettiva avere anche una suddivisione per tipo di file
(ripeto, magic number e non estensione) faciliterebbe e non di poco il
lavoro che uno fa al browser, solitamente quando uno comincia a lavorare
sui duplicati, cerca la tipologia di file a cui è più interessato in quel
momento.

Che possibilità di intervento posso avere sul file system da un programma
django?

Mi conviene un programma di scansione e uno di interazione con django o
integrare tutto nel programma django?

Vedi Marco, ora mi sarebbe utile il tuo libro su postgresql

Byez
-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Dubbio sull'uso delle liste...

2013-06-22 Thread Gollum1
Il giorno 22/giu/2013 09:02, "Daniele Zambelli" 
ha scritto:
>
>
> Il giorno 22 giugno 2013 00:08, Marco Beri  ha
scritto:
>
>> Carlos giustamente dice che un dict non è ordinato, ma a quanto ho
capito non ti serve l'ordine, quindi vai di liste.
>
>   ^^^
>
> ...dizionari...

Sì, alla fine ho adottato i dizionari...

Poi quando avrò finito il programma lo sottoporrò al vostro esame...

-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Dubbio sull'uso delle liste...

2013-06-22 Thread Gollum1
Il giorno 22/giu/2013 11:14, "enrico franchi"  ha
scritto:
>
> 2013/6/21 Federico Figus :
>
> > se sei sicuro che la seconda lista avrà N elementi allora puoi già
creare
> > una lista con dei None, così risparmi sia memoria (visto che None è un
> > singleton) e ti eviti l'append che fa vari reallocazioni di memoria.
>
> Ma no, dai. Pre-allocare le liste in Python e' un anti-pattern.
>
> Tra l'altro, append non fa "varie riallocazioni". E' fatto per darti
linear
> amortized time su tante append, quindi complessivamente non funziona male.
> In pratica append e' fatto in modo da richiedere "un po' piu' memoria" di
quella
> necessaria, per cui, di fatto, non riallochi ad ogni append.
>
> La cosa ottimale e' comunque costruire direttamente la lista con una bella
> list comprehension.

Nel mio caso credo che non sia comunque possibile, non so a priori quanti
elementi conterrà... per di più ogni elemento è una istanza di una classe.

Dopo alcune valutazioni i dict sono la soluzione perfetta per quello che
devo fare, sopratutto in prospettiva, quando l'elaborazione sarà parallela
con più processi.

Ma questo sarà uno sviluppo successivo... primo voglio produrre una nuova
versione funzionante, con le funzioni di base, che sia la diretta
evoluzione degli script PoC che ho realizzato dopo tre giorni di python.

Appena posso accedere al portatile con l'UMTS ciò mando i link alle pagine
del mio progetto.

Byez
-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Dubbio sull'uso delle liste...

2013-06-22 Thread Gollum1
Come avevo già scritto... il progetto è nato in perl... non ho ancora
modificato il contenuto della pagina...

-- 
Gollum1
teoro, dov'è il mio teoro...
Il giorno 22/giu/2013 14:31, "Giovanni Porcari" <
giovanni.porc...@softwell.it> ha scritto:

>
> Il giorno 22/giu/2013, alle ore 13:42, Gollum1 
> ha scritto:
>
> > Il 22 giugno 2013 11:35, Gollum1  ha
> scritto:
> >
> > [...]
> >
> >> Appena posso accedere al portatile con l'UMTS ciò mando i link alle
> pagine
> >> del mio progetto.
> >
> > http://www.imagebackup.org/
> > Considerate la pagina in inglese... quella italiana è ancora più
> > incompleta di quella in inglese... sigh...
>
>
> "• Made in Perl, developed specifically for Debian GNU/Linux, issued under
> the GPLv3 license."
>
> Perl ?
>
>
> :D
>
>
> G
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Dubbio sull'uso delle liste...

2013-06-22 Thread Gollum1
Il giorno 22/giu/2013 14:33, "Diego Barrera"  ha
scritto:

>
http://www.python.it/doc/faq/#ci-sono-restrizioni-di-copyright-nell-uso-di-python

Certo... ma questo riguarda l'interprete... non dice nulla su restrizioni
possibili relative ai programmi realizzati con quell'interprete.

-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Anomalia nella classe?

2013-06-22 Thread Gollum1
Il giorno 22/giu/2013 14:44, "Marco Giusti"  ha
scritto:
>
> On Sat, Jun 22, 2013 at 02:05:55PM +0200, Gollum1 wrote:
> > Come è possibile che funzioni e non mi dia errore? il mio dubbio è
> > dato dal fatto che la classe Block() è definita con solo un pass.
> >
> > come è dunque possibile che io possa aggiungere il blocco di dati e
> > poi stamparli? non dovrebbe dare un errore?
> >
> > (in pratica non ho ancora definito l'attributo data nella classe).
>
> il tuo dubbio è il seguente?
>
> >>> class Block:
> ...  pass
> ...
> >>> b = Block()
> >>> b.data = "ciao"
> >>> print b.data
> ciao
> >>>
>
> perché python non ha bisogno di definire un attributo, la definizione è
> al momento del primo assegnamento. ogni oggetto ha un attributo
> "__dict__" che è il dizionario degli attributi e quanto provi accedere
> ad un attributo, accedi anche a quel dizionario.
>

È quindi una assegnazione implicita... è come se venisse usato il metodo
"extend" se non ricordi male, invece di insert... o sbaglio ad interpretare
la cosa?

> ho detto anche perché python cerca anche nel dizionario della classe e
> dei genitori della classe.

Si... questo dell'ereditarietà credo di averlo già digerito (ho studiato la
programmazione ad oggetti, anche se è la prima volta che la uso in un mio
progetto)

-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Dubbio sull'uso delle liste...

2013-06-23 Thread Gollum1
Wow... la mia domanda ha scatenato un confronto molto istruttivo...

Alla fine di tutto ho comunque optato per l'uso dei dizionari, sopratutto
con la considerazione che nelle esecuzioni successive del programma ci
potrebbero essere parecchi buchi (addirittura in certe occasioni potrebbe
non esserci proprio nessun elemento da aggiungere). Non conosco
sufficientemente il discorso dei dict-comp-qualcosa... credo di aver capito
il concetto di fondo, ma non credo che possa essere applicabile nella mia
situazione... poi, ripeto, quando rilascerò la versione beta, confido che
mi aiuterete a migliorarlo...

P.S.: se poi in futuro dovessi raccogliere delle donazioni, volendo
suddividerle tra il progetto Debian, il progetto Python e il mantenimento
del mio progetto... mi consigliate di fare la donazione a Python.it o
Python.org? (Personalmente sarei propenso a sopportare il gruppo italiano).

-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Ottimizzare la lettura/scrittura di grossi blocchi di dati su file.

2013-06-25 Thread Gollum1
Il giorno 25/giu/2013 06:58, "Giovanni Porcari" <
giovanni.porc...@softwell.it> ha scritto:

> Generatori ?

Orpo... salta sempre fuori qualcosa di nuovo... cercherò notizie...

Grazie
Byez
-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Ritornare un oggetto None quando dichiaro una classe...

2013-06-25 Thread Gollum1
Il giorno 25/giu/2013 14:58, "enrico franchi"  ha
scritto:
>
> 2013/6/25 Gollum1 :
>
> > Così dovrebbe essere tutto più pulito e lineare.
>
> No, non direi. Un oggetto ci aspettiamo che sia in uno stato "valido"
> quando creato.

Forse non hai capito il mio ultimo post. L'oggetto lo creo comunque,
coerentemente con quello che deve essere... semplicemente non verrà
associato al nome di un file (quello che deve fare la classe è appunto dare
dei metodi per l'accesso a dati standardizzati in alcuni file preformattati
ed elaborarli)... e quindi i metodi, quando richiamati, ne terranno conto e
ritorneranno un valore appropriato.

Byez
-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] trasformare una stringa in un nome di funzione.

2013-06-25 Thread Gollum1
Il giorno 25/giu/2013 16:30, "Pietro Zambelli"  ha
scritto:
> exec_funz(miafunz1, 'a', 'b', 'c')
> exec_funz(miafunz2, 'a', 'b', 'c')

Così funziona anche a me, ma se miafunz è una stringa che contiene il nome
della funzione vera e propria, non funziona...

-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] trasformare una stringa in un nome di funzione.

2013-06-25 Thread Gollum1
Il giorno 25/giu/2013 16:27, "Giovanni Porcari" <
giovanni.porc...@softwell.it> ha scritto:
>
> usare getattr(self, nome) ?

Credo che questa sia la soluzione corretta... però non riuscivo a capire
cher cosa mettere come app... in effetti non avevo provato con self...

La situazione è la seguente:

Le funzioni da richiamare sono nello stesso file del programma principale,
anche la def che le chiama... quindi tutto si svolge in locale. Avevo
provato con __main__ con e senza appici... ma non funzionava... appena
posso provo con self.

Grazie.
-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Ma python3 non doveva aver risolto il problema dell'unicode?

2013-07-03 Thread Gollum1
Il giorno 03/lug/2013 16:29, "Manlio Perillo"  ha
scritto:
>
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
> Il 02/07/2013 21:18, Gollum1 ha scritto:
> > ok... risolto...
> >
> > banalmente con str(line, "utf-8")..rstrip("\n\r")
> >
>
> Sei sicuro che la codifica sia sempre UTF-8 ? E' sotto il tuo controllo?

Sì... è sotto il mio controllo, è generato dal programma stesso in una
precedente esecuzione.

> > (naturalmente dovevo togliere il ritorno a capo, perché i due digest
> > fossero uguali).
> >
>
> Di norma, Python aggiunge sempre e solo '\n', indipendente da cosa usa
> il sistema operativo per indicare la fine di una riga.

In ogni caso non c'è portabilità già in partenza, in quanto faccio uso di
altri programmi strettamente legati a linux... (almeno... non mi risulta
che in winzoz esista il supporto a XFS)
-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] cancellazione

2013-07-03 Thread Gollum1
Il giorno 03/lug/2013 16:35, "Alessio Rudoni" 
ha scritto:
>
> ciao,
>
> vorrei essere tolto dalla vostra newsletter.

1) impara a leggere le mail che ricevi, in fondo a una qualsiasi mail che
ricevi dal forum (anche questa) hai tutte le info per fare quello che vuoi.

2) impara a quotare, il top-quoting è male... non cancellare parti inutili
del messaggio a cui rispondi è male... usare una therad già esistente per
iniziare un nuovo argomento è male... scrivere in HTML in una mailig list
è male...

-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Usare il db giusto, non quello sbagliato

2013-07-11 Thread Gollum1
Il giorno 11/lug/2013 11:24, "Carlos Catucci"  ha
scritto:
>
>
> 2013/7/11 Nicola Larosa 
>>
>> È passato un po' di tempo, è ora di rinfocolare vecchie polemiche. :-)
>
>
> Quali? Scusa Nicola ma io non vedo sostenitori di MySql se non tra i
lamerazzi che fanno sitarelli in PHP (meglio ancora con Joomla o Wordpress
(la moda del momento) usando magari un ide/editor Adobe a caso.
>

Sostenitore no... ma utilizzatore sì... e per un semplice motivo... uso
wordpress (si... e per quello che devo fare mi va più che bene)... ho
scelto Aruba come fornitore di servizi, e fino ad ora non me ne sono mai
pentito... poco problemi, e quando cui sono stati quei pochi, l'assistenza
mi ha risposto e risolto il problema in poche ore... in italiano... ed il
costo è contenuto... con spazio web illimitato. Probabilmente se fossi
un'azienda con altri budget e altri target, farei altre scelte...
soprattutto ora che ho conosciuto python. Va da se che con le scelte fatte
era ed è d'obbligo la scelta di MySQL.

Anni fa avevo provato in locale plone... un vero delirio, ora non so a che
punto è arrivato... se è più facile come gestione. Fatto sta che non cui
sono fornitori di servizi web (italiani) che ti forniscono python ad un
prezzo concorrenziale con quello di Aruba... (ripeto, per un uso home è una
cosa importante).

> Che Postgres sia non solo superiore (di brutto) a MySql, ma addirittura
possa tranquillamente essere una valida alternativa a Oracle, non sono io
ad affermarlo ma gente ben piu' in gamba di me.
>

Su questo non ci posso mettere becco... siete stati voi a distruggermi
maisiquel, ed ancora non ho avuto modo di provare postgres.

Ma prima o poi

Byez.
-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] R: Digest di Python, Volume 89, Numero 26

2013-07-12 Thread Gollum1
Se volevi rispondere... non hai quotato come si deve e il tuo messaggio si
è perso. Non hai cambiato il subject e quindi non sappiamo a cosa volevi
rispondere.

Se invece ti stai lamentando perché vuoi essere cancellato... nelle prime
righe hai tutte le informazioni che ti servono.

Byez
-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Usare il db giusto, non quello sbagliato

2013-07-13 Thread Gollum1
Il giorno 13/lug/2013 12:02, "Andrea Francia"  ha
scritto:
>
> Una cosa semplice è che posso scriptare in Bash setup dei dati e degli
utenti di test. Penso
>
> Il giorno sabato 13 luglio 2013, Carlos Catucci ha scritto:
>
>>
>> 2013/7/13 Manlio Perillo 
[…]
>> Qualcosa che non va nel quoting, io avevo risposto altro, mai chiesto se
cosa abbia di semplice amministrare PG.
[…]

Perché non ricominciamo dal quote?

1) evitate il top quoting, è male... non si capisce una mazza di come
evolvono i discorsi, e poi di fanno i casini che si risponde ad uno per un
altro... e non venitemi a dire che con gli smartphone non viene gestito
correttamente... è vero... basta metterci però un po' di buona volontà... e
il top quoting si può evitare.

2) elimina la firma di chi ha postato prima, non serve a nulla... e fa solo
casino allungando inutilmente i post...

3) eliminare le parti del post che non servono...

Byez
-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Quote (was: Usare il db giusto, non quello sbagliato)

2013-07-13 Thread Gollum1
Il giorno 13/lug/2013 12:58, "Andrea Francia"  ha
scritto:
>
>
>
> Il giorno sabato 13 luglio 2013, Gollum1 ha scritto:
>>
>> Perché non ricominciamo dal quote?
>>
>> 1) evitate il top quoting, è male...
>
> Anche se non lo vuoi sentire ma con il cellulare è scomodo quotare sotto
e a me sembra che se rispondi al messaggio giusto con una sola riga in alto
si capisce bene uguale.

No... non è la stessa cosa... manco per nulla... anche io rispondo per la
maggiore con lo smartphone (e si vede dagli errori che ogni tanto il
correttore inserisce di suo)... ma evidentemente sono io il pirla che sta
li a spostare la firma e poi a tagliare quello che non serve... solo per
rendere la vita un po' più semplice a chi mi legge.

A volte ho rinunciato a rispondere perché non avevo il tempo per metterlo a
posto. A volte ho fatto pure io il top quoting... può scappare... ma non
voler neppure fare un pizzico di fatica... in passato avevo anche scritto a
google, chiedendo che sistemassero la cosa... ma non hanno mai risposto...
(colpa forse di maisiquel?)

Comunque non vuole essere un attacco personale... ci metto anche qualche
faccina se serve... ;)

È solo una constatazione di fatto... si sta perdendo la buona creanza...

Byez
-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Usare il db giusto, non quello sbagliato

2013-07-13 Thread Gollum1
Il giorno 13/lug/2013 17:13, "Simone Federici"  ha
scritto:

> Dio li fa e poi li accoppia

Dalle mie parti si dice anche:
Dio li fa e poi li accoppa...

Byez
-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Quote (was: Usare il db giusto, non quello sbagliato)

2013-07-13 Thread Gollum1
Il giorno 13/lug/2013 19:24, "Carlos Catucci"  ha
scritto:
>
>
> 2013/7/13 Gollum1 
>>
>> No... non è la stessa cosa... manco per nulla... anche io rispondo per
la maggiore con lo smartphone (e si vede dagli errori che ogni tanto il
correttore inserisce di suo)... ma evidentemente sono io il pirla che sta
li a spostare la firma e poi a tagliare quello che non serve... solo per
rendere la vita un po' più semplice a chi mi legge.
>
> Non sei un pirla,

Meno male... mi sento rincuorato... :)

> ma cerca di avere pazienza.

Cerco di averla, ma quando il thread raggiunge queste proporzioni...
diventa dura seguirlo.

> Io se rispondo dal cellulare sono costretto (non ho un tablet da 10", e
ti garantisco che con poco piu' di 4" se c'e' la tastiera aperta sembra di
usare ED (http://en.wikipedia.org/wiki/Ed_(text_editor) per i troppo
giovani).

Conosco... conosco... io uso uno smartphone clone del S3, 4,7"...

> Per questo se rispondo dal cell (e lo faccio solo se so di non poterlo
fare entro le prossime 5/6 ore da un PC)  evito il quoting del tutto.

Bhe... da un certo punto di vista preferisco un messaggio senza quoting ad
un quoting strampalato...

A volte ho rinunciato a rispondere, aspettando di essere alla tastiera di
un PC, quindi capisco perfettamente...

Non per nulla avevo concluso con una faccina...
;)

>> È solo una constatazione di fatto... si sta perdendo la buona creanza...
>
> Mi sembra esagerato.

Non intendo dire mancanza di buona creanza da parte di chi scrive in lista,
o meglio, è un modus operandi indotto... colpa di "guardafuori" che ha
abituato malamente i suoi utenti... e che ha dato l'imprinting a quasi
tutto il software successivo... grosse colpe anche a google... che continua
nell'errore...

Che dite? Perché non scriviamo un client per google mail in python?...

Byez
-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Quote (was: Usare il db giusto, non quello sbagliato)

2013-07-18 Thread Gollum1
Il giorno 18/lug/2013 20:36, "enrico franchi"  ha
scritto:
>
> 2013/7/17 Carlos Catucci :
> >
> > 2013/7/17 enrico franchi 
> >>
> >> No dai, flammiamo ancora un po' sul quoting... ;)
> >
> > Vivi sotto un ponte eh?
>
> No, in una palude

Sono io che vivo sull'isolotto al centro del lago, sotto la montagna...

Maledetto Baggins
-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Quote (was: Usare il db giusto, non quello sbagliato)

2013-07-18 Thread Gollum1
Il giorno 18/lug/2013 23:59, "Carlos Catucci"  ha
scritto:
>
>
> 2013/7/18 Gollum1 
>>
>> > > Vivi sotto un ponte eh?
>> >
>> > No, in una palude
>
>
> I troll vivono sotto i ponti. La palude e' di Shrek che e' un orco.
>>
>> Sono io che vivo sull'isolotto al centro del lago, sotto la montagna...
>>
>> Maledetto Baggins
>
> Cerchi per caso un anello? ;)

L'hai per caso visto? Il mio teoro? Il mio regalo di compleanno...

-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Aiuto PIL

2013-07-23 Thread Gollum1
Il giorno 23/lug/2013 10:04, "Marco Beri"  ha scritto:
>
> 2013/7/23 Roberto De Ioris 
>>
>> sta facendo lo shift per prendere i 5 bit significativi di ogni pixel da
8
>
>
> Non è proprio così.
>
> Prende i 5 bit più significativi della prima componente di un pixel e li
combina con i 3 più significativi della seconda componente shiftati di 5
posizioni.
> Poi prende i 5 meno significativi della seconda componente, li shifta di
3 posizioni e li combina con i 3 più significativi della terza shiftati di
3 posizioni.
>
> In questo modo perde 3 bit della prima componente e 5 della terza
componente.
>
> Perché? Boh... :-)

Sono in piedi dalle 8 di ieri mattina, quindi potrei non essere
perfettamente lucido e sparare qualche stronzata... però mi pare lo stesso
concetto che si usa  nel video, nel campo analogico per trasmettere meno
informazioni (una sorta di compressione) in quel caso sui trasmette la
componente di luminanza per intero, e poi a differenza tra la componente
blu e la luminanza, e la differenza tra la componente rossa e ancora la
luminanza... quindi le informazioni di colore sono trasmesse con una
risoluzione dimezzata rispetto alla luminanza... e la componente verde è
calcolata matematicamente.

In questo caso la seconda componente sarebbe la luminanza (i 5 bit più
significativi da un byte, i 3 meno significativi preso dal secondo byte,
equivale a dire che hai il byte completo di quella componente)... le altre
componenti con importanza dimezzata.

Byez
-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] android e python

2013-07-23 Thread Gollum1
Esiste un'app che porta un interprete python di sviluppo con tanto di
editor e librerie Qt (se ricordo bene, non sono sicuro dello Qt).

L'app è qpython...  certo che devi avere almeno un pad, perché sullo smart
è dura programmare (possibile, comunque).

Byez
-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Grafica su python

2013-07-25 Thread Gollum1
Il giorno 25/lug/2013 22:26, "Nadir Sampaoli"  ha
scritto:
>
> Il giorno 25 luglio 2013 19:27, Enrico Franchi ha scritto:
>>
>>
>> On Jul 25, 2013, at 1:41 PM, Gollum1  wrote:
>>
>> > e per di più... con pyQT, puoi avere una buona portabilità sui 3
>> > sistemi che vanno per la maggiore (linux, iOS e winzoz, non so se ci
>> > sono implementazioni anche per altre piattaforme).
>>
>> Veramente a me risulta che per iOS Qt di per se non faccia molto. O
meglio Qt 5 lo fa, ma non mi e' chiaro lo stato di PyQT (e il fatto di fare
tutto in Python). Qualcuno ha per caso maggiori informazioni?
>
>
> Azzardo, in base al contesto: forse intendeva  OS X?

Confermo.

-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Insegnante Python

2013-07-26 Thread Gollum1
Anch'io sono fortunato... ho questa meravigliosa lista, in cui ogni domanda
fa scaturire tanti "flame" da cui c'è veramente tanto da imparare... per
"flame" intendo in questo caso tutte quelle discussioni più o meno frivole,
ma con alti contenuti informativi...

-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] AUTO: Andrea Valentini è assente dall'ufficio (restituzione di Lun 26/08/2013)

2013-08-01 Thread Gollum1
Adesso dobbiamo sorbirci tutti gli autorisponditori fino al 26 agosto?
Speriamo soia un risponditore intelligente e risponda una sola volta al
giorno per lo stesso indirizzo...

-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Malsana idea...

2013-08-02 Thread Gollum1
Il giorno 02/ago/2013 18:42, "Simone Federici"  ha
scritto:
>
> Ma anche Cygwin va installato da amministratore?

Ecco... questa potrebbe essere una soluzione (qemu non centra nulla, non
devo emulare nulla) ma Cygwin si riesce ad installare agevolmente in una
propria directory (ho installato KDE ora che ciò penso)... e quindi si può
installare python in Cygwin.

Grazie dell'idea.
-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Malsana idea...

2013-08-11 Thread Gollum1
Il giorno 11/ago/2013 16:25, "Enrico Bianchi"  ha
scritto:
>
> On 08/02/2013 03:42 PM, Gollum1 wrote:
>>
>> il progetto in questione lo sto sviluppando su questa macchina in
>> ufficio, su cui uso diversi programmi "portable", pur di saltare
>> quelli che mi stanno sulle cosidette e che mi sono imposti
>> aziendalmente;
>
> Se fossi l'amministratore della tua azienda, prima ti richiamerei
verbalmente e poi ti farei richiamare ufficialmente. Non perche` mi sento
 bastardo, ma perche` se ci sono delle policy significa che devono essere
seguite (a meno di precedenti accordi, ovviamente)

Con quale accusa? Non ho manomesso la macchina (contrariamente ad altri
personaggi in azienda), uso dei software open e non crackati. Se veramente
volessero riprendermi, prima dovrebbero licenziarsi tutti e licenziare
anche tutta la dirigenza dell'IT, per le boiate che hanno fatto e
continuano a fare... comunque dormo sonni tranquilli... ce ne sono troppi
prima di me da licenziare per cazzate IT, io gli servo, perché almeno
faccio anche il mio lavoro, e di solito lo faccio pure bene.

Byez
-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Software per catalogare e rinominare file

2013-08-16 Thread Gollum1
Se devi avere a che fare con un programma di grafica, potresti prendere in
considerazione GIMP con script-fu (python richiamato da GIMP) o gimp-Python
(GIMP richiamato da python).
credo che per te la cosa migliore sia la seconda.

-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Software per catalogare e rinominare file

2013-08-19 Thread Gollum1
Il giorno 19/ago/2013 18:26, "Marco Beri"  ha scritto:
>
> Purtroppo non più da un anno:
> http://www.omgubuntu.co.uk/2012/04/google-officially-drop-picasa-for-linux

E qui io smetto di capire big G... ha preso a piene mani dal mondo
dell'Open Source in generale, e da linux in particolare, per poi sputare
nel piatto in cui mangi? Non la trovo molto coerente... oltretutto la
maggior parte del codice che sviluppa, ne crea una controparte per android,
che è fondamentalmente linux... e sono in java... cosa gli costerebbe
rilasciare il codice aperto... e permetterne l'uso anche su macchine linux?

-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Software per catalogare e rinominare file

2013-08-19 Thread Gollum1
Il giorno 19/ago/2013 21:08, "Carlos Catucci"  ha
scritto:
>
>
> 2013/8/19 Gollum1 
>>
>> E qui io smetto di capire big G... ha preso a piene mani dal mondo
dell'Open Source in generale, e da linux in particolare, per poi sputare
nel piatto in cui mangi? Non la trovo molto coerente... oltretutto la
maggior parte del codice che sviluppa, ne crea una controparte per android,
che è fondamentalmente linux... e sono
>
>
> Io uso gmail.g+, etc. Ma so bene che non sono certo la Apache Foundation.
So bene che loro fanno i loro affari. So bene che prendono si  dall'open
source ma come tanti solo per ottenerne guadagno.
>
> Se uso gmail e' perche' non mi posso permettere di farmi un sistema di
mail personalizzato con ampio storage, fault tollerance etc. Ma se potessi,
credimi, lascerei perdere.

Io stavo quasi pensando di mettere sul mio Severino nas web mail (open
source per linux) e qualche altro tool che mi permetta di gestirmi in modo
autonomo le mail di gmail... vero è che gmail è comodo peccato solo che
i client siano veramente ridicoli (top quoting e altre stronzate)... e
ridicolo è anche il sistema di filtraggio... una enorme pecca il fatto di
non poter firmare le mail con PGP o verificare quelle che arrivano già
firmare (non parliamo della criptazione PGP, altrettanto assente)...
peccato che non si possano fare dei plugin da "iniettare" nel sistema di
gestione di gmail... in modo da poter apportare modifiche che poi ti
ritrovi aprendo la pagina in un qualsiasi browser... per questo pensavo di
mettere un mio server, che mi facesse da ponte con gmail, permettendomi di
poter inserire tutto quello che manca... potrebbe essere un progetto
interessante.

Byez
-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Fwd: Php + python

2013-09-07 Thread Gollum1
Potrebbe essere un modo per far eseguire python su quei server che non lo
sopportano (chi ha parlato di Aruba?)...

-- 
Gollum1
teoro, dov'è il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] parsing pagina web

2013-09-10 Thread Gollum1
Ciao []

ritornando finelmante al mio "malsano progetto", sto cercando di fare
il parser della pagina web che ho scaricato.

usando python3, uso html.parser come modulo per fare il parsing.

from html.parser import HTMLParser

class TimeTableHTMLParser(HTMLParser):

def __init__(self):
HTMLParser.__init__(self)

def handle_starttag(self, tag, attrs):
if tag == "tr":
for x,y in attrs:
if x.lower()=="class" and y.lower()=="testo2":
print("Ho individuato il campo del giorno")

oa il mio problema è come faccio a prelevare il contenuto di questo tag?

dentro ho una sequenza di tag , i primi tag hanno dei contenuti
che devo prelevare,
i successivi tag  contengono un tag  che negli attributi
contiene altri valori che mi servono.

come faccio a legarli uno con l'altro? come posso vedere al suo interno?

se faccio hendle_data(data), mi vedo passare i dati contenuti in TUTTI
i tag della pagina, non solo quelli di cui ho bisogno... come posso
fare a discriminare quelli su cui devo lavorare?

Tnx

Byez
-- 
Gollum1
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


  1   2   3   4   5   6   7   >