Re: [Python] Pordenone
Il 20/Nov/2015 09:04, "Matteo Boscolo"ha scritto: > > io sono vicino a venezia.. (cavallino-Treporti) : > Popolazione Residente > 13.517 (M 6.612, F 6.905) > Densità per Kmq: 301,2 > Superficie: 44,87 Kmq > > :))) > > > Il 20/11/2015 08:47, Marco Beri ha scritto: >> >> >> Il 19 nov 2015 11:36 PM, "enrico franchi" ha scritto: >> > >> > 2015-11-19 17:32 GMT+00:00 piergiorgio pancino : >> >> >> >> c'è nessuno che abita in zona Pordenone? >> > >> > circa 50 mila persone in citta', 300 mila nella provincia. >> >> Ho cercato su Wikipedia per dare la stessa risposta ma poi mi sono detto "Marco, non fare il solito cazzone". >> >> >> >> Ciao. >> Marco. Ha scatenato l'inferno. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Why should I care about the netiquette? [Was: Re: VI PREGO AIUTATEMI!!!! Problema con Pyahton]
Anche a me spiacerebbe. Spiacerebbe anche a me! Pur essendo stato piú volte cazziato in passato! ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Arduino
Il giorno 11 giugno 2015 22:31, Enrico Bianchi enrico.bian...@ymail.com ha scritto: On 06/11/2015 10:14 PM, Marco Fochesato wrote: Esiste Micro-Python che gira sulla Pyboard! Ovvero? Tieni presente che stai parlando con uno che di queste cose non ne sa praticamente nulla (di solito ho fatto applicativi che leggevano i dati da sensori via ethernet, ma mai il contrario) Io sono sicuramento meno esperto di te. In parole povere sta Pyboard ha nella flash un firmware con pre-installata una versione miniaturizzata di Python. E' un interprete che traduce in realtime il codice ad alto livello di Python e fa lavorare la board in C++. Spero di non aver detto qualche cavolata. Io ho lavoricchiato su Arduino, ma ho sofferto di varie allergie con quel C++ li.. son viziato. Ora sulla Pyboard ci ho appena messo le mani. Spero di divertirmi. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Arduino
Esiste Micro-Python che gira sulla Pyboard! ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Presentazione
Il giorno 4 giugno 2015 22:21, Matteo Scarpa matteoscarp...@gmail.com ha scritto: Buona sera o buon giorno! Mi sono appena iscritto a questa mail list per cui mi sembra giusto presentarmi. Sono uno studente di informatica di Venezia di 23 anni appassionato di python. Ho iniziato a usarlo per un corso e mi ha preso talmente tanto che che scrivo solo in Python. Spero di essere utile e dare una mano in questa community Ciao Matteo, benvenuto! -- Marco Fochesato ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] non rompetemi più le palle in chat...
Grazie anche da parte mia. M. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Micro Python
Il giorno 23 maggio 2015 10:37, Antonio Spadaro antoniospadar...@gmail.com ha scritto: Il vantaggio è nel chip, supporta molti più pin del Raspberry Pi anche di vari tipi, ma non ha una shell, ha solo l'interprete Python Il giorno 23 maggio 2015 10:26, Francesco Maida francesco.ma...@gmail.com ha scritto: Scusate l'ignoranza, ma che vantaggi ha questa cosa rispetto a.. che ne so... usare un raspberry pi con Python in versione standard ? Occhio al top-quoting, Antonio... che qui ti fustigano! :-) La mia speranza è che ci sia anche qualche pin analogico, al quale collegare un sensore e gestire direttamente i valori con Python. La Raspy li ha tutti digitali, i pin... -- Marco Fochesato ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] Micro Python
Ciao a tutti! Volevo segnalare a chi interessa: https://micropython.org Ne ho ordinata una e la sto aspettando con ansia. Buon weekend! -- Marco Fochesato ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Python vs Java
Oh, questo mi interessa... ma *davvero* uno che non ha mai programmato in 10 giorni tira su roba sensata in Django? Perche' capisco il sito della fattoria di nonna papera, ma io penso al numero di cose elementari che vanno conosciute anche per un sito semplice e non mi sembra sia roba che si fa in 10 giorni a prescindere dal linguaggio di programmazione. A me sembra che se su tutto questo inserisci imparare un linguaggio, imparare a programmare e imparare un framework (con i vari annessi, tipo due o tre cose sceme su db e oop) altro che 10 giorni. Direi che forse si comincia a ragionare con 6 mesi se il tipo e' sveglio. Cavolo... mi ero illuso di riuscire ad usare Django qui sotto le ferie... -- Marco Fochesato ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] Lancio di stampe con Python
Ciao a tutti, non riesco a capire dove sbaglio sinceramente. import subprocess subprocess.call([/usr/bin/lpr -P+stampante, nomefile) L'ambiente in cui lavoro è Linux. Se lancio il comando da terminale, con ovviamente al posto delle variabili il nome della stampante e il nome del file, riesco a lanciare la stampa. Se lo lancio con il comando sopra descritto, mi esce un errore: OSError: [Errno 2] File o directory non esistente Se invece lancio il comando senza la stampante, la stampa mi riesce sulla stampante predefinita di sistema. Poi, se un domani volessi lanciare le stampe anche su windows, funzionerà? Non credo... Avete qualche suggerimento in merito? -- Marco Fochesato ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Lancio di stampe con Python
Probabilmente l'errore e` che se passi i comandi come una stringa devi anche usare shell=True. Questo ha degli svantaggi/pericoli ben spiegati nella documentazione. Il modo piu` sicuro e spesso piu` pratico e` di passare gli argomenti come una lista: in questo caso il primo elemento dev'essere l'eseguibile, quindi qualcosa tipo subprocess.call([/usr/bin/lpr, -P + stampante, nomefile]) Grandissimo Daniele, così funziona! -- Marco Fochesato ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Applicazione WEB con Python e Postgresql
Io di solito uso un approccio misto, ovvero in applicazioni dove mi serve gestire uno stato uso un oggetto, altrimenti vado di funzioni e/o sottofunzioni Io credo che per approcciarmi a Django, la devo imparare questa benedetta programmazione ad oggetti. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] Applicazione WEB con Python e Postgresql
Ciao Lista, avrei bisogno di un consiglio. Ho il mio bel database Postgresql al quale mi interfaccio con Libreoffice e con qualche piccola applicazione creata con Python. Viste le varie esigenze, sto pensando di mettere in piedi un server web e creare una o più applicazioni web che vadano ad interfacciarsi al database. Sono a digiuno completo di linguaggi per la creazioni di siti web. Adoro Python, e mi son avvicinato al framework Django. Ho acquistato il libro di Marco Beri e sto completando tutto il tutorial. E' la strada giusta? Lo chiedo perchè vedo parlare in rete di WSGI... poi così ad un primo approccio con Django, mi son trovato un po' stretto... ho la sensazione di non poter lavorare su un database già costruito. -- Marco Fochesato ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Applicazione WEB con Python e Postgresql
Marco, si ho chiavi primarie che contengono campi multipli (e che belle che sono...). Daniele Varrazzo, è sempre un piacere leggerti. Grazie mille. Proseguo allora. Il giorno 23 settembre 2014 16:58, Daniele Varrazzo p...@develer.com ha scritto: On 2014-09-23 15:36, Marco Fochesato wrote: Ciao Lista, avrei bisogno di un consiglio. Ho il mio bel database Postgresql al quale mi interfaccio con Libreoffice e con qualche piccola applicazione creata con Python. Viste le varie esigenze, sto pensando di mettere in piedi un server web e creare una o più applicazioni web che vadano ad interfacciarsi al database. Sono a digiuno completo di linguaggi per la creazioni di siti web. Adoro Python, e mi son avvicinato al framework Django. Ho acquistato il libro di Marco Beri e sto completando tutto il tutorial. E' la strada giusta? Lo chiedo perchè vedo parlare in rete di WSGI... poi così ad un primo approccio con Django, mi son trovato un po' stretto... ho la sensazione di non poter lavorare su un database già costruito. Si', sei sulla strada giusta. WSGI e' un passo sotto django: serve (grossomodo) a collegare un application server (quale e' django, o sono flask/bottle) con un web server (come apache o nginx). Tu tipicamente userai un app server e sarai un utente wsgi senza neanche accorgertene. Per quanto riguarda il suo ORM, ci sono diverse cose che trovo *molto* opinabili. Comunque non e' un grosso problema ne' farlo lavorare su tabelle che hai costruito in precedenza (costruendo i modelli sulle tabelle gia' definite, senza che crei quelle stupidissime fkey deferrable initially deferred che ce li strozzerei) ne' evitare a pie' pari l'intero layer dell'orm, evitando di definire modelli e usando comandi sql (from django.db import connection, cur = connection.cursor(), ...). In questo modo sfrutti es. la sua configurazione, la gestione delle transazioni legata alle pagine ecc. ma usi il database al massimo della potenza. ...e quando dico non e' un grosso problema non usare le tabelle autogenerate oppure fare query a mano, intendo lo faccio sempre: mai scritto un programma che usasse la sua autogenerazione o le migrations (ogni volta che ne vedo l'sql inorridisco) e appena le cose diventano un pelo meno dirette trovo molto piu' semplice scrivere una query invece di ricordarmi di usare data__lte, come si fa l'eagerload... ma forse sono di parte. -- Daniele ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python -- Marco Fochesato ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Applicazione WEB con Python e Postgresql
Va bene! Si infatti, per sentirmi stretto, parlavo di quello: perchè deve esserci per forza na colonna id?? Poi, io la programmazione ad oggetti non l'ho ancora digerita. Vado ancora a funzioni. So che è come andare in Ferrari usando solo la prima marcia... lo sento. Ma non l'ho ancora imparato. O meglio, non ne ho avuto ancora l'esigenza... Credo che inizierò proprio qui. E credo anche che vi romperò spesso le scatole. Il giorno 23 settembre 2014 17:25, Daniele Varrazzo p...@develer.com ha scritto: On 2014-09-23 16:14, Marco Fochesato wrote: Marco, si ho chiavi primarie che contengono campi multipli (e che belle che sono...). Puoi comunque definire i tuoi oggetti dichiarando i campi che hanno, usando primary_key=True per uno qualunque di loro (altrimenti Django assume che c'e' un campo id che fa da pkey) ed evitando di usare il suo sql per la generazione delle tabelle. Non testato (e' da un po' che non scrivo django): class MiaCosa(models.Model): key1 = models.IntegerField(primary_key=True) key2 = models.IntegerField() # parte della pkey ma django non lo sa. class AltraCosa(models.Model): quellacosa = models.ForeignKey(MiaCosa, db_column=miacosa_key1) key2 = models.IntegerField(db_column=miacosa_key2) # parte della fkey ma django non lo sa. Ovviamente tu lo sai che la chiave e' (key1, key2) e userai MiaCosa.objects.get(key1=a, key2=b) per prendere un solo oggetto. Hai delle limitazioni perche' la fkey non e' definita bene, tipo non potrai usare AltraCosa.objects.filter(quellacosa=miacosa). Ma il resto di django funziona bene lo stesso. Lo devi solo prendere un po' per il culo :) -- Daniele ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python -- Marco Fochesato ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Applicazione WEB con Python e Postgresql
Si, mi sono iscritto due giorni fa. Grazie. Il giorno 23 settembre 2014 17:35, Marco De Paoli depao...@gmail.com ha scritto: Il 23 settembre 2014 17:32, Marco Fochesato marco...@gmail.com ha scritto: Credo che inizierò proprio qui. E credo anche che vi romperò spesso le scatole. sappi che se vuoi, oltre a questa, c'è anche una lista italiana specifica per django django...@googlegroups.com Marco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python -- Marco Fochesato ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Applicazione WEB con Python e Postgresql
2014-09-23 19:19 GMT+02:00 Carlos Catucci carlos.catu...@gmail.com: 2014-09-23 17:32 GMT+02:00 Marco Fochesato marco...@gmail.com: Va bene! Si infatti, per sentirmi stretto, parlavo di quello: perchè deve esserci per forza na colonna id?? 1 - It's faster. A JOIN on an integer is much quicker than a JOIN on a string field or combination of fields. It's more efficient to compare integers than strings. 2 - It's simpler. It's much easier to map relations based on a single numeric field than on a combination of other fields of varying data types. 3 - It's data-independent. If you match on the ID you don't need to worry about the relation changing. If you match on a name, what do you do if their name changes (i.e. marriage)? If you match on an address, what if someone moves? 4 - It's more efficient If you cluster on an (auto incrementing) int field, you reduce fragmentation and reduce overall size of the data set. This also simplifies indexes needed to cover your relations. Certo certo certo! Non discuto il fatto che un integer stia bene come id. Mi lamentavo solo del NOMEella colonna: perchè si deve per forza chiamare ID, con Django? Al problema mi ha già risolto Daniele. Fai pure Grazie! -- Marco Fochesato ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] GUI mi spiegate una cosa al volo?
Io uso le gtk, pygtk! Buone vacanze a tutti. From Marco On Aug 14, 2014 8:33 AM, Daniele Zambelli daniele.zambe...@gmail.com wrote: Il 13 agosto 2014 22:45, Luigi Fontana picchiole...@gmail.com ha scritto: Quello che mi incuriosiva al volo per mero sfizio informativo era il sapere quanto sia performante. In futuro i programmini che sto creando ora potrò trasportarli su windows senza grosse difficoltà? Se proprio devi farlo lo potrai fare senza difficoltà. Io ho sviluppato sotto GNU/Linux una libreria in Tkinter che uso normalmente a scuola sotto Windows. Oppure per usare GUI servono accorgimenti particolari? Esistono molte librerie per programmare con un'interfaccia grafica (GUI). La libreria che scegli deve esistere, ed essere installata, in entrambi i sistemi operativi. Ciao -- Daniele www.fugamatematica.blogspot.com giusto! nel verso forse è perché non guardiamo le cose Quando non ci capiamo, ___ 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] GUI mi spiegate una cosa al volo?
Io uso le gtk, pygtk! PyGTK è obsoleto da quasi 3 anni, PyGI (pygobject con introspection) è il pacchetto da usare oggi. E fra quanti anni diventerà obsoleto anche questo? Buone vacanze a tutti. Altrettanto, se evitassi il top-quoting lo sarebbero anche di più Sorry, così va bene? ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] GUI mi spiegate una cosa al volo?
Questo purtroppo non te lo so dire, mentre su PyGTK ci ho lavorato per quasi 10 anni ed ho fatto il maintainer per 2 o 3, sul nuovo pygobject (PyGI) non ci ho lavorato molto, il nuovo mantainer è Simon Feltman. PyGTK è durato 12 anni, dal 1999 al 2011 http://www.johnstowers.co.nz/blog/static/images/imported/activity.png http://www.johnstowers.co.nz/blog/static/images/imported/activity-auth.png mi pare un tempo sufficientemente lungo per dichiarare un pacchetto stabile e su cui puntare, il passaggio ad introspection secondo me farà in modo che PyGI durerà ancora più a lungo. Grazie Gian Mario, io non sono un programmatore professionista, ma inizieró a documentarmi su PyGI ed il mio prossimo programmino lo svilupperó con questo modulo. Nel frattempo mi saró fatto una idea delle differenze e valuteró se fare il porting per le mie applicazioni già esistenti. Con pygtk mi son sempre trovato bene. Sia su Linux che su Windows. Marco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] GUI mi spiegate una cosa al volo?
Wow. Fantastico. Grazie mille. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Riutilizzo del cursor nelle query
Io apro una connessione e relativo cursore ad ogni transazione. Se la transazione prevede l'utilizzo di varie funzioni, passo la connessione, o il cursore, alle funzioni. From Marco with Cinafonino ;-) On Jan 16, 2014 11:31 AM, Manlio Perillo manlio.peri...@gmail.com wrote: On 16/01/2014 10:51, piergiorgio pancino wrote: Ciao, volevo sapere se esiste una best practice per quanto riguarda l'esecuzione delle query e l'uso dell'oggetto cursor. Per contestualizzare un po' di più ho una classe che in fase di __init__ si collega al database, all'interno della classe una serie di funzioni che fanno delle query. Attualmente __init__ crea una istanza di cursor che viene riutilizzata per tutte le query. self.conn = pyodbc.connect(self.DSN,autocommit=False) self.conn=conn self.cur=conn.cursor() (sono omessi i controlli vari) questo modo di fare è secondo voi corretto o è meglio ad ogni query creare e poi richiudere un nuovo cursor ? Ciao. Innanzitutto prova a leggere la PEP 249: www.python.org/dev/peps/pep-0249/ Al momento non ricordo, ma dovrebbe dare delle indicazioni riguardo l'utilizzo. Infine, ti può essere utile sapere *come* i cursori sono utilizzati in SQL: http://www.postgresql.org/docs/9.3/interactive/ecpg- commands.html#ECPG-CURSORS Come vedi è abbastanza diverso da come viene fatto nella DBAPI; un cursore viene creato per una query specifica, ed una sola. Ciao Manlio ___ 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] [OT] Che distro usate per il vostro server (WAS desktop)
Ubuntu Server LTS From Marco with Cinafonino ;-) On Dec 14, 2013 8:05 AM, Nicola Larosa n...@teknico.net wrote: Simone Federici wrote: Ubuntu Server LTS Eh no, cosi non ti allinei all'Ubuntu-hating de riguer. :-P (Si, sarcasmo prezzolato, ce lo so da me. :-P ) -- Nicola Larosa - http://www.tekNico.net/ ___ 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] Scelta di un IDE
Io uso Geany. Buona serata a tutti! Marco On Sep 12, 2013 8:47 PM, Valerio Maggio valerio.mag...@gmail.com wrote: On 12/set/2013, at 20:11, Daniele Palmese pal...@gmail.com wrote: A mio avviso è necessario apprendere l'utilizzo di un editor/IDE in console, a prescindere da quelli che sono i gusti e le abitudini personali. +1 ___ 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] [postgresql-it] psycopg, cursori e connessioni: tenere occupato un id
Per avere un errore devi usare LOCK ... NOWAIT (per il lock su una tabella) o SELECT ... FOR UPDATE NOWAIT (per il lock sui record). Senza il NOWAIT l'effetto è quello di aspettare finché il lock non viene rilasciato. Si infatti, ho risolto così. Ed era pure scritto nella documentazione. Marco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] [postgresql-it] psycopg, cursori e connessioni: tenere occupato un id
Ho risolto utilizzando entrambe le possibilità: per l'INSERT, utilizzo la serializzazione delle transazioni (grande feature) per l'UPDATE di documenti già inseriti utilizzo il lock (non della tabella, ma della riga specifica) l'unica cosa che non riesco a capire è questo. Secondo la documentazione (se ho letto bene), quando una transazione trova la riga lockata, dovrebbe tornare un errore.. invece a me resta in attesa dello sblocco e poi continua. Marco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] psycopg, cursori e connessioni: tenere occupato un id
Non ci dici questa chiave primaria di che tipo è e che valori assume. Scusami. Certo, è un numero intero. Inoltre, che intendi con prenota? Ipotizzando che esistano due tabelle: progressivi_documenti (id_doc, data_doc, causale, id_cliente, etc..) struttura_documenti(prog_riga, id_doc, descrizione, um, quantita, etc...) (ho semplificato eh) prenotare l'd significa fare un insert sulla prima tabella, senza il commit e poter lavorare sulla seconda tabella. La seconda tabella è referenziata alla prima tramite id_doc. Agli inserimenti, il database pretende che ci sia l'id inserito nella prima. Ma se l'utente dovesse annullare l'inserimento, non mi deve rimanere l'id inserito nella prima. Allora, *assumendo* che questo id sia essenzialmente un intero per cui un DDT debba avere un id maggiore di quello precedente, la soluzione più semplice che mi viene in mente è quella di utilizzare la serializzazione del database: http://www.postgresql.org/docs/9.0/interactive/transaction-iso.html#XACT-SERIALIZABLE In pratica, puoi creare una tabella `ddt_id` dove memorizzare l'ultimo ID utilizzato. CREATE TABLE ddt_id ( ddt_id INTEGER NOT NULL PRIMARY KEY; ); Quindi, all'interno di una transazione serializzabile: 1) SELECT dell'ultimo ID inserito dalla tabella `ddt_id` 2) UPDATE sulla tabella `ddt_id` per incrementare l'ID 3) Usare l'ID incrementato nel DDT 4) COMMIT A questo punto se un altra transazione ha cercato di fare l'UPDATE sulla tabella `ddt_id`, riceverai un errore (solo il primo commit riuscirà). Rispondo senza aver letto il link: siamo sicuri che l'update possa generare un errore? Credo che l'update possa essere tipo: UPDATE progressivi_documenti SET id_doc = id_doc+1 come fa a generare un errore? Non mi è chiaro, magari leggendo il link capisco. Tra l'altro l'idea di avere una tabella che contiene una sola riga non mi convince molto... Parli della TUA tabella vero? ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] psycopg, cursori e connessioni: tenere occupato un id
Il giorno lun, 16/05/2011 alle 21.52 +0200, Daniele Varrazzo ha scritto: On Mon, 16 May 2011 19:37:21 +0200, Marco Fochesato marco...@libero.it wrote: No, niente buchi. Allora, spieghiamoci così: siamo di fronte ad un gestionale. come sempre :) L'utente x parte per compilare un DDT. Problemi con le zanzare? L'applicazione prenota un id (chiave primaria) per il documento. L'utente y parte anche lui per compilare un DDT. L'applicazione prenota anche per lui un id, lo stesso di quello sopra (visto che non è ancora stato chiuso, e potrebbe anche darsi che x decida di non chiuderlo e annullare tutto.. (qui è il nocciolo)). Il primo che finisce e chiude il ddt, si prende il numero (commit). Per il secondo, verrà sollevata una eccezzione e verrà concesso un altro id (non mi interessa qui stabilire come). Non mi sembra il migliore dei comportamenti: perché far fallire la seconda transazione quando ci sono almeno diversi modi di farla riuscire? E se il secondo finisce prima del primo? Dovrebbe fallire il primo? Quello che mi interessa è la prenotazione. Se vuoi davvero prenotare un record, puoi inserire un record incompleto oppure tenere una tabella separata delle prenotazioni. Forse anche gli advisory lock possono essere utili. Io ho bisogno, durante la compilazione del documento, di testare degli inserimenti, e vorrei che l'applicazione ragionasse come se l'id fosse inserito. Ma se arriva y, che l'id fosse disponibile anche per lui. Per fare quello che vuoi tu ha ragione Manlio: usare qualcosa tipo max(id) + 1 è la soluzione migliore. Manlio però si è dimenticato di dire di prendere un lock sulla tabella (in pratica gli inserimenti devono essere serializzati): 1) quando il documento viene prenotato: a) prendi un lock sulla tabella che conflitti con se stesso, per esempio LOCK TABLE blah IN EXCLUSIVE MODE. b) usa come prossimo id SELECT max(id) FROM blah c) commit sulla connessione, in modo da liberare il lock. 2) quando il documento viene salvato: a) prendi lo stesso lock sulla stessa tabella b) prendi lo stesso max c) se il max è diverso da quanto registrato, tira un eccezione. O alternativamente scrivi direttamente il max nel database e aspettati un'eccezione se c'è una constraint UNIQUE su quel campo. Questa è un'implementazione pessima di un lock pessimistico: se uno comincia un'operazione, qualunque operazione concorrente è destinata a fallire: perché tu voglia fare questo onestamente mi sfugge. La documentazione sui lock (http://www.postgresql.org/docs/9.1/static/explicit-locking.html) e sul comando LOCK (http://www.postgresql.org/docs/9.1/static/sql-lock.html) può esserti utile. Lasciare aperta la transazione per tutta la durata dell'edit è qualcosa da NON fare. Ottimo Daniele! Sei stato molto chiaro. Lock table, serializzazioni. Tutte cose che non conosco... Come credo dica il mitico Rocco: l'affare s'ingrossa!!! Grazie delle dritte ragazzi! Marco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] gtk - importazione modulo finestra
Ho creato in un modulo finestra.py, una finestra: spe = gtk.Window(gtk.WINDOW_TOPLEVEL) spe.show_all() Poi, la importo nel modulo principale, così: from finestra import spe Allora, non riporto il codice, ma la finestra, all'interno del suo modulo, si interfaccia ad un database, carica dei dati, e me li fa vedere in una Textview che è al suo interno. L'apertura della finestra viene richiamata mediante funzione collegata ad un bottone del modulo principale. Problema: la finestra la prima volta che la chiamo, si comporta bene. Se la chiudo e la richiamo, si apre senza farmi vedere i widget (TextView) al suo interno. Ho provato a fare il reload del modulo... allora la cosa funziona.. solo che al primo avvio la finestra appare doppia.. chiudo i due doppioni, richiamo e ne esce una sola. Giusta. Marco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] stampare su una stampante ad aghi...
Sì, c'è... ma cos'è, un revival degli anni 80? :-))) Grande Daniele! Si, è proprio un revival!! Sto facendo un gestionale per l'azienda dove lavoro... e qua non ne vogliono sapere di mollare quelle vecchie DDT a 3 copie... e relative stampanti. Ho sgammato il software che attualmente abbiamo in uso, crea il file di testo.. e poi quando va in stampa vedo che la stampante cambia il led del pitch in automatico.. mmm.. Il bello è che nel corso degli anni ne ho cambiate più di una di stampanti... e marche... si vede che ho avuto c... perchè si son sempre comportate bene.. magari perchè sti caratteri di controllo sono generici.. Comunque ancora una volta mi hai dato la dritta giusta. Ora cerco un po' io. Grazie. Marco Devi inviare dei caratteri di controllo. Ogni stampante ha (aveva) i suoi e ci sono (c'erano) alcuni standard (epson ecc.) Usa google col nome della stampante e cerca i caratteri di controllo. Python c'entra poco con tutto questo. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] stampare su una stampante ad aghi...
Sono riuscito a lanciare la stampa del file di testo! Bene! Ora avrei un altro quesito, interessante.. c'è il modo di far cambiare il pitch (grandezza dela carattere) alla stampante durante la stampa? Il giorno gio, 17/02/2011 alle 21.34 +0100, Marco Fochesato ha scritto: Si, interessante! Ma per lanciare la stampa ad una stampante? Come si trattano questi dispositivi? Come ci si dialoga? Il giorno mer, 16/02/2011 alle 19.39 +0100, Leonardo Millefiori ha scritto: http://www.amk.ca/python/simple/ Lo script pyprint potrebbe essere un buon punto di partenza.. Ciao. Leonardo ___ 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] stampare su una stampante ad aghi...
Si, interessante! Ma per lanciare la stampa ad una stampante? Come si trattano questi dispositivi? Come ci si dialoga? Il giorno mer, 16/02/2011 alle 19.39 +0100, Leonardo Millefiori ha scritto: http://www.amk.ca/python/simple/ Lo script pyprint potrebbe essere un buon punto di partenza.. Ciao. Leonardo ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] Turbopascal??
Ciao a tutti! Oggi, parlando con un mio nipote, al primo anno di superiori, liceo tecnologico, mi fa: Mi stanno insegnando a programmare!! e io: in cosa? In Turbopascal!! In turbopascal??? Scusate, io sono ignorante.. ma ricordo che esisteva quando ero bambino... fine anni ottanta!! Ma esiste ancora? Viene utilizzato a livello produttivo?? Marco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Python IDE
Mi aggancio per chiedere una info. Sono un pivello alle prime armi con Python. Finora ho sempre utilizzato la Idle.. Vi ho visto parlare de Eclipse + Pydev.. L'ho scaricata, installato Pydev.. e ho strabuzzato gli occhi! Uau! Bene. Quello che non riesco a fare, è lanciare il codice. Non ho nessun tipo di Run disponibile. Ho cercato di seguire le istruzioni su pydev.org.. Ma non riesco a capire dove sbaglio! Grazie Marco Ps: ma la mailing list di postgresql.it.. ha qualche problema?? Chiedo a Daniele Varrazzo.. vedo che bazzica ance la.. Il giorno ven, 24/12/2010 alle 11.52 +0100, Emanuele Rampichini ha scritto: Per i progetti più sostanziosi eclipse + pydev, per le prove veloci dreampie è fenomenale (lo consiglio caldamente a tutti). Emanuele Rampichini ___ 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] auguri ...
Auguri a tutti anche da parte mia.. Il giorno ven, 24/12/2010 alle 12.17 +0100, Massimo Capanni ha scritto: un augurio di Buon Natale a tutti i membri della lista, a presto! massimo ___ 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 e PostgreSQL] All'interno delle eccezioni, le transazioni si comportano diversamente?
Forse la cosa può essere risolta anche usando nella dichiarazione della table col la clausola ON UPDATE CASCADE (http://www.postgresql.org/docs/8.4/interactive/sql-createtable.html) Giovanni! Ho risolto seguendo il tuo consiglio. Ho ri-creato la tabella dando l'azione cascade sull'update della foreign key. Grandissimo. Grazie. Marco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] [Python e PostgreSQL] All'interno delle eccezioni, le transazioni si comportano diversamente?
Cavolo ragazzi, grazie per le risposte! Credo che seguirò il consiglio di Giovanni e di Daniele.. Giovanni ha centrato in pieno il mio voler sporchettare a piacimento prima di fare il check della fkey.. è li che voglio arrivare.. Ma devo approfondire il discorso di Daniele.. ste transazioni annidiate.. più che altro perchè, mi ripeto, sporchettavo allegramente prima in più di un'occasione.. e poi davo il commit.. è dentro l'eccezione che sembra non funzionare.. Grazie ancora.. Mi faccio vivo eh.. e vi aggiorno. Marco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] [Python e PostgreSQL] All'interno delle eccezioni, le transazioni si comportano diversamente?
On Mon, 2010-10-25 at 11:53 +0200, Daniele Varrazzo wrote: Io per conto mio ho provato: import psycopg2 def test(dsn): test if a connection created in an exception handler goes autocommit cnn = psycopg2.connect(dsn) cur = cnn.cursor() cur.execute(drop table if exists test;) cur.execute(create table test (data int primary key); insert into test values (1);) cnn.commit() # make an error try: cur.execute(insert into test values (1)) except psycopg2.IntegrityError: # connection created in the handler cnn2 = psycopg2.connect(dsn) cur2 = cnn2.cursor() cur2.execute(insert into test values (2)) # was cnn2 autocommit? cnn3 = psycopg2.connect(dsn) cur3 = cnn3.cursor() cur3.execute(select count(*) from test where data = 2) n = cur3.fetchone()[0] assert n == 0, connection in exception handler autocommit # double check cnn2.commit() cur3.execute(select count(*) from test where data = 2) n = cur3.fetchone()[0] assert n == 1 print ok test(dbname=test) Ma questo test, nelle mie condizioni passa. Io ho sottomano solo una versione di sviluppo di psycopg: posso provare più tardi con quella che usi tu, ma se riesci a creare la condizione che fa fallire l'assert col tuo setup allora possiamo dire che c'è un bug. Altrimenti non si sa :) Testato, passa anche da me nel mio database. Ma ci voglio capire qualcosa di più Ciao intanto. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] [Python e PostgreSQL] All'interno delle eccezioni, le transazioni si comportano diversamente?
Buongiorno a tutti! Uso Python per creare piccole applicazioni, che si collegano ad una base dati PostgreSql attraverso il driver psycopg. Per la prima volta mi son trovato a dover operare una transazione (un update su due cartelle), all'interno di un except. Mi sembra che la connessione si comporti diversamente che all'interno del normale codice. Intanto, ho dovuto aprire nuovamente la connessione, anche se era già aperta prima del sollevamento dell'except... ma la cosa peggiore è che sembra che le istruzioni vengano eseguite immediatamente sul database, senza attendere il mio commit() finale... è possibile? Ho bisogno di fare entrambi gli update prima di chiudere la transazione.. sbaglio qualcosa? Marco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] [Python e PostgreSQL] All'interno delle eccezioni, le transazioni si comportano diversamente?
On Sun, 2010-10-24 at 16:47 +0200, Daniele Varrazzo wrote: Bravo :) io sono uno dei maintainer di psycopg. Bene!! Spero che lo manterrai a lungo!! Due cartelle? Intendi due tabelle? Si scusa.. due TABELLE.. che pirla. Mi sembra che la connessione si comporti diversamente che all'interno del normale codice. Non dovrebbe. Ma magari c'e' uno strano path nella libreria in cui l'eccezione viene gestita male. boh?? Mai visto niente del genere. L'eccezione viene generata da un errore nel database? Se è coì la connessione è in stato di errore, ma non serve crearne una nuova: basterebbe un rollback. Quello che segnali (autocommit) sembra un disallineamento tra lo stato dell'oggetto connessione e la connessione stessa, che non mi è mai capitato di vedere (ma che potrebbe essere effettivamente un bug). Si, l'eccezione è generata da un errore nel database: except psycopg2.IntegrityError: quindi dovrei lanciare un rollback per recuperare l'integrità della connessione? Ho bisogno di fare entrambi gli update prima di chiudere la transazione.. sbaglio qualcosa? Non hai dato molti dettagli: mi piacerebbe capire meglio cosa succede. Puoi scrivere un esempio auto-contenuto di quello che descrivi e che versione di psycopg usi? ehmm... perdonami.. che vuol dir auto-contenuto? la versione di psycopg che uso? quella che trovo nelle repository di ubuntu, che è precisamente la 2.0.13-2ubuntu2 Ecco i dettagli: ho ste due tabelle: nazioni, con le colonne id_nazione e nome_nazione clienti, con fra le colonne la colonna nazione che è referenziata alla colonna id_nazione con il mio programmino voglio dare la possibilità all'utente di variare il nome_nazione in archivio e... se vuole.. anche l'id_nazione. L'eccezione viene sollevata quando viene cambiato un id_nazione già usato nella tabella clienti.. io volevo a sto punto proseguire nell'eccezione, facendo un update sulla tabella clienti e un update sulla tabella nazioni, e poi dare il commit.. evitando così di generare errori di database. Grazie Daniele. Ps: sei tu che mi hai iniziato eh.. ho ancora qui su carta una tua mail dove mi spiegavi in velocità la connessione, il cursore, etc.. son andato un po' avanti.. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] [Python e PostgreSQL] All'interno delle eccezioni, le transazioni si comportano diversamente?
Grazie per la versione. Vorrei vedere un pezzetto di codice con le operazioni che svolgi: la query, l'eccezione, la query *nell'*eccezione... update = UPDATE clienti.nazioni SET +etichetta+=%s WHERE +etichetta2=%s; try: cur.execute(update, (nuovo_valore, valore_statico)) connDB.commit() except psycopg2.IntegrityError: connDB = psycopg2.connect(connessione) cur = connDB.cursor() update1 = UPDATE clienti.anagrafica_clienti SET nazione=%s WHERE nazione=%s; estrai = SELECT idnazione FROM clienti.nazioni WHERE nome_nazione = %s; cur.execute(estrai, (nome_nazione,)) id_nazione_vecchio = cur.fetchone() id_nazione_vecchio = id_nazione_vecchio[0] cur.execute(update1, (nuovo_valore, id_nazione_vecchio,)) update2 = UPDATE clienti.nazioni SET +etichetta+=%s WHERE +etichetta2+=%s; cur.execute(update2, (nuovo_valore, valore_statico)) connDB.commit() cur.close() connDB.close() Non ho mai postato del codice.. spero non si dovesse far in altra maniera. Le varie variabili, sono state dichiarate prima.. ma credo vadano bene tutte. Il problema è proprio nel primo update. Mi dà errore perchè cambio ina idnazione non ancora presente nella tabella nazioni.. Notte. Marco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] gestione dei tasti funzione
Si, utilizzo pyGtk. Ho risolto inserendo nelle funzione __init__ questa riga: window.connect(key_press_event, self.doKeyPress) dove window è la gtk.WINDOW_TOPLEVEL poi, la funzione doKeyPress è come segue: def doKeyPress(self, widget, event): keyname = gtk.gdk.keyval_name(event.keyval) print the button %s was pressed % keyname tasto = str(keyname) if tasto = F4: self.miafunzione(parametri) Marco On Mon, 2010-09-06 at 20:01 +0200, Emanuele Rampichini wrote: Dipende dalla libreria che stai utilizzando. Immagino si tratti di pyGTK quindi ti link questa pagina che sembra contenere le informazioni che stai cercando: http://www.pygtk.org/docs/pygtk/class-gtkaccelgroup.html Purtroppo non posso esserti più utile di così utilizzando per i miei lavoretti principalmente pyQt. Emanuele Il giorno 06 settembre 2010 19:23, Marco Fochesato marco...@libero.it ha scritto: Ciao a tutti, sento che la domanda è banale.. ma ho googlato un po' e non ho trovato niente.. per cui ho deciso di disturbarvi. Come si posso gestire con python, i tasti funzione? Esempio: ho la mia applicazione in interfaccia grafica gtk che sta girando. Vorrei che alla pressione del tasto F4 fosse chiamata una funzione. Come fare? Grazie! 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 ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] gestione dei tasti funzione
Ciao a tutti, sento che la domanda è banale.. ma ho googlato un po' e non ho trovato niente.. per cui ho deciso di disturbarvi. Come si posso gestire con python, i tasti funzione? Esempio: ho la mia applicazione in interfaccia grafica gtk che sta girando. Vorrei che alla pressione del tasto F4 fosse chiamata una funzione. Come fare? Grazie! Marco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] R: Re: R: Re: R: Re: Gtk - ListView - Catturare la selezione di una riga e lanciare una funzione.
Ma inizia a venirmi un dubbio: sicuro che tu vuoi giocare con set_select_function() e _non_ semplicemente aggiungere una callback per il segnale changed della selection? Rieccomi! Infatti, era proprio cosi.. la documentazione in mia mano era un po' povera e non avevo approfondito a sufficienza, come al solito! Ho risolto in maniera perfetta!!! Grazie! Marco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] R: Re: R: Re: R: Re: Gtk - ListView - Catturare la selezione di una riga e lanciare una funzione.
Dopo aver risolto il problema, ho notato che la procedura sulle selezioni successive alla prima, rallentava parecchio. Ho così scoperto che, alla prima selezione la funzione chiamata viene eseguita una volta.. alle successive viene eseguita tre volte. Da cosa può dipendere? Tenete conto che la riga di codice: treeselection.set_select_function(self.stampalistaprodotti,iter) si trova nella funzione def __init___... può dipendere da questo? Marco Il giorno mar, 04/05/2010 alle 16.24 +0200, marco...@libero.it ha scritto: ci sono arrivato! Alla fine della funzione chiamata, ho aggiunto: return True E la riga si seleziona... Marco Messaggio originale Da: marco...@libero.it Data: 04/05/2010 12.46 A: Pietro Battistontoo...@email.it Cc: Discussioni generali sul linguaggio Pythonpython@lists.python.it Ogg: Re: [Python] R: Re: R: Re: Gtk - ListView - Catturare la selezione di una riga e lanciare una funzione. Infatti! La documentazione dice proprio cosi! Ho fatto un sacco di prove.. ma non riesco a capire come far passare alla funzione sto True.. Quindi, il problema si riassume qui: treeselection.set_select_function(self.stampalistaprodotti, iter) def stampalistaprodotti(self, evento, data): Come devo fare?? Marco Il giorno mar, 04/05/2010 alle 09.12 +0200, Pietro Battiston ha scritto: Il giorno lun, 03/05/2010 alle 13.32 +0200, marco...@libero.it ha scritto: OK, mi è un po' più chiaro, anche se non ho ovviamente presente tutti i fattori in gioco... self.stampalistaprodotti restituisce True? ciao Pietro Perdonami l'ignoranza.. cosa vuoi dire per restituisce True? self.stampalistaprodotti è la funzione che viene chiamata quando seleziono, parte e fa quello che deve fare in maniera perfetta! Ora mi rendo conto che forse il disguido era molto più terra-terra: restituisce True è semplicemente la traduzione italiana di returns True, ovvero, per farla brevissima, ha un return True alla fine. Quel che dice la documentazione è che tu potresti _non_ volere che la riga diventi selezionata, e se _lo vuoi_ glielo fai capire facendo in modo che la funzione impostata con set_select_function() restituisca, appunto, True. ciao Pietro ___ 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 ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Gtk - ListView - Catturare la selezione di una riga e
No, niente da fare... si comporta come prima.. anche se elimino direttamente tutto il comando.. Il giorno lun, 03/05/2010 alle 18.39 +0200, Giuseppe Amato ha scritto: Premetto che non conosco gtk, ma da quello che ho visto nella documentazione sembra che il problema sia qui treeselection.set_mode(gtk.SELECTION_BROWSE) Credo che con il modo selezionato l'evidenziazione funzioni al passaggio del mouse, quindi pur ammettendo che non sposti ilmouse probabilmente la seconda ListView riceve il focus e quindi ti perde la selezione. Prova a modificare in gtk.SELECTION_SINGLE e selezioni col click. Se va sai quale problema risolvere. Ciao Giuseppe ___ 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] R: Re: R: Re: Gtk - ListView - Catturare la selezione di una riga e lanciare una funzione.
altro, è l'unica cosa che mi viene in mente con le informazioni che ho - se il problema non è quello, mi sa che senza un esempiuccio funzionante del problema non so aiutarti). Ecco l'esempio funzionante. Chiedo perdono ai mostri che leggono la lista per li codice che posto... sono un novello. Sorvolate dal notare il modo in cui filtro i dati dei prodotti. Nella realtà uso il parametro che mi dà la selezione del fornitore per estrarre i dati già filtrati dal database con un comando SQL. import pygtk pygtk.require('2.0') import gtk class Programma: def __init__(self, principale): self.mioPrincipale = principale self.finestraprincipale = gtk.Window(gtk.WINDOW_TOPLEVEL) self.finestraprincipale.connect(delete_event, self.delete_event) self.finestraprincipale.connect(destroy, self.destroy) self.finestraprincipale.set_size_request(300, 300) self.finestraprincipale.set_title(PROGRAMMA PROVA LISTVIEW) self.framegenerale = gtk.HBox(False,0) self.finestraprincipale.add(self.framegenerale) self.quadroprodotti = gtk.VBox (True, 1) self.scrollwinfornitori = gtk.ScrolledWindow() self.scrollwinfornitori.set_size_request(100, 200) self.scrollwinfornitori.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.listafornitor = gtk.ListStore(str, str) self.listafornitori = gtk.TreeView(self.listafornitor) self.listafornitori.set_rules_hint(1) self.colonnaidfornitore = gtk.TreeViewColumn(idfornitore) self.colonnanomefornitore = gtk.TreeViewColumn(Fornitore) self.listafornitori.append_column(self.colonnanomefornitore) self.cell_fornitori = gtk.CellRendererText() self.colonnanomefornitore.pack_start(self.cell_fornitori, True) self.colonnanomefornitore.add_attribute(self.cell_fornitori, 'text', 1) self.quadroprodotti.add(self.scrollwinfornitori) self.scrollwinfornitori.add_with_viewport(self.listafornitori) self.scrollwinfornitori.set_shadow_type(gtk.SHADOW_ETCHED_IN) self.scrollwinprodotti =gtk.ScrolledWindow() self.scrollwinprodotti.set_size_request(100, 200) self.scrollwinprodotti.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.listaprodott = gtk.ListStore(str, str) self.listaprodotti= gtk.TreeView(self.listaprodott) self.listaprodotti.set_rules_hint(1) self.colonnaidprodotto = gtk.TreeViewColumn(IdProdotto) self.colonnanomeprodotto = gtk.TreeViewColumn(Prodotto) self.listaprodotti.append_column(self.colonnanomeprodotto) self.cell_prodotti = gtk.CellRendererText() self.colonnanomeprodotto.pack_start(self.cell_prodotti, True) self.colonnanomeprodotto.add_attribute(self.cell_prodotti, 'text', 0) self.quadroprodotti.add(self.scrollwinprodotti) self.scrollwinprodotti.add_with_viewport(self.listaprodotti) self.scrollwinprodotti.set_shadow_type(gtk.SHADOW_ETCHED_OUT) self.quadroricetta = gtk.VBox(False, 1) self.framegenerale.add(self.quadroprodotti) self.framegenerale.show_all() self.finestraprincipale.show_all() rows = [(1,Tizio), (2,Caio), (3,Sempronio)] for row in rows: nomefornitore = str(row[1]) idfornitore = str(row[0]) self.listafornitor.append([idfornitore, nomefornitore]) treeselection=self.listafornitori.get_selection() treeselection.set_mode(gtk.SELECTION_SINGLE) treeselection.set_select_function(self.stampalistaprodotti, iter) def stampalistaprodotti(self, evento, dato): self.listaprodott.clear() treeiter = self.listafornitor.get_iter(evento) idfornitoreselezionato = self.listafornitor.get_value(treeiter, 0) rows = [(1, 1, Mele),(2, 4, Pollo),(3, 7, Carote)] for row in rows: idfornitore = str(row[0]) idprodotto = str(row[1]) nomeprodotto = str(row[2]) if idfornitore == idfornitoreselezionato: self.listaprodott.append([nomeprodotto, idprodotto]) def delete_event(self, widget, data=None): return gtk.FALSE def destroy(self, widget, data=None): return gtk.main_quit() def main(self): gtk.main() if __name__ == __main__: radice= first = Programma(radice) first.main() ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] Gtk - ListView - Catturare la selezione di una riga e lanciare una funzione.
Ciao a tutti! Ho creato una ListView, e ho fatto in modo che nel momento in cui viene selezionata una riga, parta una funzione. Così: treeselection=self.listafornitori.get_selection() treeselection.set_mode(gtk.SELECTION_BROWSE) treeselection.set_select_function(self.stampalistaprodotti, iter) Funziona tutto a dovere. L'unica noia è che quando clicco su una riga della listafornitori, la funzione parte, ma la riga selezionata non viene evidenziata.. Sul manuale è scritto che la funzione viene lanciata prima della selezione della riga.. quindi credo che il processo di selezione venga stoppato li... Si potrebbe rimediare inserendo nella funzione richiamata un comando che mi evidenzi la riga selezionata, e poi proceda con il resto delle cose che deve fare.. Qualcuno sa come fare? Marco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] execfile.. va e non va..
Il giorno lun, 08/03/2010 alle 18.08 +0100, Valerio Turturici ha scritto: os.path.realpath(os.curdir) Qualcosa non va: print os.path.realpath(os.curdir) Traceback (most recent call last): File pyshell#0, line 1, in module print os.path.realpath(os.curdir) NameError: name 'os' is not defined ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] execfile.. va e non va..
Fatto! L'ho sgamato! Quando lancio il programmino da idle, l'output è la cartella dove è salvato il programmino. Quando lo lancio con il lanciatore del desktop, l'output è la mia home (quindi non trova il file da lanciare). Ho risolto dando questo comando: os.curdir = la/cartella/che/mi/interessa sembra funzionare.. non son del tutto convinto che sia questa la soluzione però.. visto che con lo stesso programmino lanciavo anche altri file, nella stessa situazione del primo... e gli altri partivano (quindi li trovava senza aver bisogno di dichiarare il path..)... Bohh!! Marco Il giorno mer, 10/03/2010 alle 21.03 +0100, Valerio Turturici ha scritto: Devi importare il modulo os prima ;) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Nascondere il codice Python
Proteggono da cosa? ho gia' detto che devono avere permessi restrittivi. Bene, Sandro ti chiedo di portare pazienza.. Ho imparato un po' ad usare ConfigParser. So come inserire dei dati nelle sezioni e come poi estrarli. La mia domanda è sul il file deve avere permessi restrittivi. Ti dico come la capisco io: l'amministratore del pc(io), crea il file di configurazione e inserisce i dati. Dopodichè, inibisce la lettura e la scrittura del file ad altri utenti (andando su proprietà, permessi del file). L'utente lancia lo script e lo stesso script va a prendersi i dati in questo file con i permessi restrittivi. Io la capisco così, il problema è che lo script non riesce a leggere nel file se ha questi permessi restrittivi attivati... Marco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] execfile.. va e non va..
Ciao ragazzi, sono novellino.. E' da un po' che non riesco a risolvere un problema.. nel mio programmino lancio un file: execfile(maramao.py) il file si trova nella stessa directory del programmino.. Bene.. se lancio il programma da idle di python, il programmino mi apre il maramao.py. Se lancio il programma con un lanciatore (sono in ubuntu) da desktop che esegue python programmino.py, l'execfile non mi lancia il maramao.. com'è possibile? Dove sbaglio?? Marco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] pygtk: AttributeError: 'module' object has no attribute 'Window'
Ciao a tutti, sono un sei mesi che ho iniziato ad utilizzare Python, e lo trovo stupendo. Ho già creato una mia applicazione, usando le librerie Tkinter. Ora vorrei iniziare a studiare un po' le Gtk.. ho iniziato con il tutorial su Pygtk, ma mi blocco al primo programmino: import pygtk pygtk.require('2.0') import gtk class FirstWin: def __init__(self): self.win = gtk.Window(gtk.WINDOW_TOPLEVEL) self.win.show() def main(self): gtk.main() if __name__ == __main__: first = FirstWin() first.main() con sto risultato: self.win = gtk.Window(gtk.WINDOW_TOPLEVEL) AttributeError: 'module' object has no attribute 'Window' Dove sbaglio? Lavoro su Ubuntu 9.10 se importo le librerie da prompt idle, non mi dà errore... Ho googlato un po', ma non ho trovato soluzioni.. Marco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] pygtk: AttributeError: 'module' object has no attribute 'Window'
Potresti riportare un traceback completo? A me il programmino funziona... Come lo esegui? ecco: Traceback (most recent call last): File /home/marco/center.py, line 11, in module first = FirstWin() File /home/marco/center.py, line 6, in __init__ self.win = gtk.Window(gtk.WINDOW_TOPLEVEL) AttributeError: 'module' object has no attribute 'Window' uso l'idle di python per eseguirlo, cioè: il programma è salvato nel file center.py (nome dato a caso), lo apro con l'idle e lo lancio con F5.. come faccio con tutti i miei programmuzzi. Marco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] pygtk: AttributeError: 'module' object has no attribute 'Window'
Non è che hai un modulo nella tua home di nome gtk.py (o .pyc)? -- Antonio Valente Si... che stupido.. all'inizio sto programmino l'avevo proprio chiamato gtk.py.. ora li ho eliminati, sia il .py che il .pyc E FUNZIONA.. Scusatemi ragazzi e grazie mille... Marco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] Tkinter List Box font size
Ciao ragazzi, Vi assicuro che ho cercato parecchio sul web.. qualcuno mi può spiegare come cambiare il size del font in una listbox di Tkinter? Se faccio: self.mialista.configure(font=Courier) me lo cambia.. se faccio altri tentativi mi dà errore, oppure questo (font=Courier, 10), mi ridà il font di sistema con il size 10... Mah... Marco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Tkinter List Box font size
No.. avevo già provato.. ecco l'output: Exception in Tkinter callback Traceback (most recent call last): File /usr/lib/python2.6/lib-tk/Tkinter.py, line 1413, in __call__ return self.func(*args) File /usr/lib/python2.6/dist-packages/Pmw/Pmw_1_3/lib/PmwScrolledListBox.py, line 86, in releaseEvent _handleEvent(event, 'release') File /usr/lib/python2.6/dist-packages/Pmw/Pmw_1_3/lib/PmwScrolledListBox.py, line 376, in _handleEvent _listboxCache[event.widget]._handleEvent(event, eventType) File /usr/lib/python2.6/dist-packages/Pmw/Pmw_1_3/lib/PmwScrolledListBox.py, line 343, in _handleEvent command() File /home/marco/TINTURA.py, line 183, in stampalistaprodotti self.listaprodotti.configure(font=Courier, size=10) File /usr/lib/python2.6/lib-tk/Tkinter.py, line 1205, in configure return self._configure('configure', cnf, kw) File /usr/lib/python2.6/lib-tk/Tkinter.py, line 1196, in _configure self.tk.call(_flatten((self._w, cmd)) + self._options(cnf)) TclError: unknown option -size Secondo me c'è un conflitto di librerie... sono ignorante.. però deduco da quanto leggo.. io nella stessa gui ho widget di Tkinter e di Pmw (Python Mega Widget), qui sembra che sollevi una eccezione Pmw.. ma la Listbox è di Tkinter!! Quindi: 1. Se faccio la listbox con Tkinter, posso scegliere solo il font e non il suo size. 2. Se faccio la listbox con Pmw, non posso scegliere nè font nè size. ... ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] Macro in Python per Openoffice
C'è qualcuno fra di voi che utilizza Python per creare macro da far girare in Openoffice? Se si, mi trovo di fronte ad un problema. Ho creato un semplice script, l'ho salvato nella cartella giusta dove Ooo deve trovare gli scripts. Quando apro Openoffice, vado in gestisci macro, python, macro personali, vedo il mio bello script con il suo nome.. solo che quando ci vado a cliccare sopra per selezionarlo, non mi dà nessuna macro sottostante (mentre le macro in python predefinite da openoffice le da..).. non riesco a capire.. si comporta come se la mia macro fosse una cartella vuota senza macro dentro. Ho controllato: ho python-uno installato.. quale potrebbe essere il motivo? Marco OT .. benvenuto a Ubuntu 9.10 .. /OT ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] Python e PostgreSql
Ciao a tutti! Grazie all'aiuto di questa lista ho iniziato a studiare Python, con l'intento di utilizzarlo principalmente per interfacciarmi al mio server PosgreSql, implementando Openoffice fino ad arrivare (spero) a farmi un'applicazione vera e propria. Ora, sto studiando i tutorial... ma ho fretta.. so come connettermi al database, vi chiedo: 1. C'è un qualche documento che spieghi i comandi Python per interfacciarsi a PostgreSQL? 2. Mi date alcuno comandi esemplificativi? es. Estrai i dati da una tabella x e inseriscili in una tabella y... Grazie mille a tutti Marco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Python, PosgreSQL, Psycopg e Windows XP
Grazie a tutti! Ho risolto installando il ridistribuibile Visual C++ 2005!! Funziona! Marco On mar, 2009-09-29 at 21:18 +0200, Marco Beri wrote: 2009/9/29 marco...@libero.it marco...@libero.it from _psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID ImportError: DLL load failed: Impossibile avviare l'applicazione specificata. La configurazione dell'applicazione non è corretta. Una nuova installazione dell'applicazione potrebbe risolvere il problema. Questo link mi e` stato di molto aiuto: http://tinyurl.com/ydmfwpk In pratica uno dei link che troverai li`, dice che o devi installare una versione precedente (la 2.0.10 funziona bene anche con Postgresql 8.4) oppure devi scaricare il pacchetto ridistribuibile di Visual C++ 2005 che trovi qui: http://www.microsoft.com/downloads/details.aspx?familyid=766a6af7-ec73-40ff-b072-9112bab119c2displaylang=en Ciao. Marco. -- http://thinkcode.tv - Prossimamente su questi schermi http://beri.it - Blog di una testina di vitello http://stacktrace.it - Aperiodico di resistenza informatica ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] R: Re: R: Re: Python, PosgreSQL, Psycopg e Windows XP
Ed infine, sinceramente, passa a GNU/Linux (possibilmente Debian). federico eh eh eh... e cosa credi che stia tramando ormai da una decina di mesi?? E' che è difficile portare un cambiamento del genere in ambiente lavorativo.. soprattutto se lo devi fare.. a cuore aperto.. mica puoi formattare e ripartire.. ma ce la farò, credimi.. Son troppo soddisfatto da PostgreSQl e da Openoffice. Marco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python