[Python] I: R: R: Variabili su file esterno

2022-07-11 Per discussione Marcello Ilardi

 - Da: Python [mailto:python-boun...@lists.python.it] Per conto di Yuri
 - ma non bastava in dati.py fare:
 - from main import variabili


Ho provato, mi passa il dizionario, ma non i valori 
print da main
{'Cliente': '23213', 'mac_address': ''}

print da fileConfig.py
{'Cliente': '', 'mac_address': ''}

Marcello


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


[Python] R: R: R: Variabili su file esterno

2022-07-11 Per discussione Marcello Ilardi

 - Da: Python [mailto:python-boun...@lists.python.it] Per conto di Yuri
 - ma non bastava in dati.py fare:
 - from main import variabili


Ho provato, mi passa il dizionario, ma non i valori
print da main
{'Cliente': '23213', 'mac_address': ''}

print da 
{'Cliente': '', 'mac_address': ''}

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


[Python] R: R: Variabili su file esterno

2022-07-11 Per discussione Marcello Ilardi


 - Da: Python [mailto:python-boun...@lists.python.it] Per conto di Massimo 
Masson
 - Hai provato a dare un'occhiata al modulo pickle?


Grazie, ho risolto così:

***
main.py
***
import pickle
variabili = {}
variabili['IPADDRESS'] = '192.168.1.2'
variabili['NETMASK'] = '255.255.255.0'
variabili['GATEWAY'] = '192.168.1.1'
with open ('dati.pickle','wb') as f:
pickle.dump(variabili, f)
import dati


*
dati.py
*
import pickle
with open('dati.pickle', 'rb') as f:
variabili = pickle.load(f)
variabili['configurazione'] = (f'''
net.static.IP = {variabili['IPADDRESS']}
net.static.SubnetMask = {variabili['NETMASK']}
net.static.Gateway = {variabili['GATEWAY']}
''')
print (variabili['configurazione'])



Ciao e grazie a tutti

Marcello




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


[Python] R: Variabili su file esterno

2022-07-11 Per discussione Marcello Ilardi
 

 

-Da: Python [mailto:python-boun...@lists.python.it] Per conto di Pietro 
Brunetti
Perdonami se dico una cavolata, ma sembra più il caso d'uso di un database.

 

Ciao, volevo evitare di mettere tutti i dati in un DB, ho dato un occhiata 
anche a ConfigParsen, ma non fa al caso mio. I file di configurazione sono un 
export di configurazione di un telefono IP. Guardando bene sono 3600 parametri 
per ogni modello di telefono, e sono circa 10 modelli di telefoni diversi. Ogni 
configurazione devo solo cambiare massimo 20/30 parametri. Con ConfigParsen o 
YAML è un casino. Devo mettere in pancia del main.py tutte le configurazioni di 
tutti i modelli.

 

Un alternativa che potrei utilizzare è creare un file modelloTel.py e poi fare 
un 

import modelloTel 

ma un problema che ho riscontrato è il passaggio delle variabili sul file 
importato.

 

 

Marcello

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


[Python] Variabili su file esterno

2022-07-10 Per discussione Marcello Ilardi
Salve a tutti,

in un mio programma, per creare file di configurazione, utilizzo il seguente
codice:


variabili = {}
variabili['IPADDRESS'] = '192.168.1.2'
variabili['NETMASK'] = '255.255.255.0'
variabili['GATEWAY'] = '192.168.1.1'
configurazione = (f'''
net.static.IP = {variabili['IPADDRESS']}
net.static.SubnetMask = {variabili['NETMASK']}
net.static.Gateway = {variabili['GATEWAY']}
''')
print(configurazione)

In questo modo mi vengono sostituite correttamente le variabili.
adesso ho la necessità, visto la lunghezza di 'configurazione' (più di 1000
righe) di creare un file dove metto la sola variabile 'configurazione' e
all'occorrenza leggere il file e impostare correttamente le variabili.
Il problema che leggendo da un file esterno non riesco a sostituite le
variabili tra grafe.

Nel file.txt  metto:
net.static.IP = {variabili['IPADDRESS']}
net.static.SubnetMask = {variabili['NETMASK']}
net.static.Gateway = {variabili['GATEWAY']}

il programma py:

variabili = {}
variabili['IPADDRESS'] = '192.168.1.2'
variabili['NETMASK'] = '255.255.255.0'
variabili['GATEWAY'] = '192.168.1.1'
with open((f'''file.txt'''), "r") as configurazione_tmp:
configurazione = configurazione_tmp.read()
print(configurazione)


Come posso risolvere?
Grazie a tutti,
Saluti
Marcello



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


[Python] Catturare testo da app terze parti

2022-06-10 Per discussione Marcello Ilardi
Salve a tutti,
ho la necessità di creare un programmino che una volta eseguito rimanga in
ascolto di una pressione di un tasto funzione, e che memorizzi il testo
selezionato scatenandomi un evento (Esempio, una pagina web, word,
notepad.. evidenzio del testo, e alla pressione di F5 mi venga stampato
a video il testo selezionato.

Qualche dritta su quale strada percorrere?


Grazie

Marcello

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


[Python] R: File .mdb

2021-12-09 Per discussione Marcello
 

On Tue, Dec 7, 2021 at 2:39 PM Gabriele Battaglia mailto:iz4...@libero.it> > wrote:

Ciao.

Sapete se esiste una libreria semplice per lavorare con i file .mdb?  

 

 

Ciao, 

non so se hai risolto, ma io uso pyodbc.

 

 

Marcello

 

import pyodbc 

DriverMDB = '{Microsoft Access Driver (*.mdb)}'; 

PwdMDB = ''

PercorsoMdb = 'file.mdb'

datiDB = 
pyodbc.connect('DRIVER={};DBQ={};PWD={}'.format(DriverMDB,PercorsoMdb,PwdMDB))

cur = datiDB.cursor()

cur.execute("INSERT INTO ImpiantiArticoli (IDImpiantiArticolo, 
IDCodiceImpianto, Descrizione, Nr) VALUES ('%s', '%s', '%s', '%s')" % 
(val1,val2,val3,val4))

datiDB.commit()

 

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


[Python] R: R: lista di liste

2021-10-16 Per discussione Marcello
Da: Python  Per conto di Giorgio Zoppi
Inviato: sabato 16 ottobre 2021 09:34



 

Ciao Marcello,

addormentato non ho letto bene:)

 

 

has_modifica = lambda x: 'Modifica' in x

test = [['Settembre 2021'], ['01 Merc', '07:58', '12:36', 'milano', 'torino', ' 
', '13:57', '17:33', 'roma', 'napoli'], ['02 Giov', '07:32', '12:55', 'Torino', 
'palermo', ' ', '14:13', '18:43', 'como', 'genova'], 

['04 Saba'], 

['05 Dome'],

['06 Lune', '07:41', '12:57', 'genova', 'livorno', ' ', '13:50', '19:08', 
'siracusa', 'messina'], \

 

['22 Merc', 'Modifica', ' ', '05:09', '12:09', 'Torino', 'Torino'],\

 

['29 Merc', 'Modifica']]

 

items = ['TORINO', 
'ROMA','MILANO','NAPOLI','GENOVA','COMO','PALERMO','MESSINA','SIRACUSA','LIVORNO',
 ' ']

out = []

v = [ x[0:2] if has_modifica(x) else x for x in test]

for row in v:

z = list(filter(lambda x: x.upper() not in items ,row))

out.append(z)

for k in out:

print(k)

 

Ciao Giorgio,

così come hai fatto funziona, ma il mio problema è che non ho un elenco di 
città (potenzialmente potrebbe essere anche un paese) quindi devo fare in modo 
che il campo sia corretto solo se comincia con 2 numeri tipo

if record[:2].isnumeric():

 

 

 

 

 

 

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


[Python] R: lista di liste

2021-10-16 Per discussione Marcello
Da: Python  Per conto di Giorgio Zoppi



premetto che non sono uno specialista in Python , quindi mi sono uscite un paio 
di linee

 

test = [['Settembre 2021'], 

['01 Merc', '07:58', '12:36', 'milano', 'torino', ' ', '13:57', '17:33', 
'roma', 'napoli'], 

['02 Giov', '07:32', '12:55', 'Torino', 'palermo', ' ', '14:13', '18:43', 
'como', 'genova'], 

['04 Saba'], ['05 Dome'],

['06 Lune', '07:41', '12:57', 'genova', 'livorno', ' ', '13:50', '19:08', 
'siracusa', 'messina'], 

['22 Merc', 'Modifica', ' ', '05:09', '12:09', 'Torino', 'Torino'],

['29 Merc', 'Modifica']]

 

has_modifica = lambda x: 'Modifica' in x

v = [ x[0:2] if has_modifica(x) else x for x in test]

print(v)

 

 

[['Settembre 2021'], 

['01 Merc', '07:58', '12:36', 'milano', 'torino', ' ', '13:57', '17:33', 
'roma', 'napoli'], 

['02 Giov', '07:32', '12:55', 'Torino', 'palermo', ' ', '14:13', '18:43', 
'como', 'genova'], 

['04 Saba'], 

['05 Dome'],

['06 Lune', '07:41', '12:57', 'genova', 'livorno', ' ', '13:50', '19:08', 
'siracusa', 'messina'], 

['22 Merc', 'Modifica'],

['29 Merc', 'Modifica']]

 

Ciao Giorgio, 

questo risolve solo la parte ‘Modifica’, ma devo anche risolvere il problema di 
eliminare tutte le città.

Comunque grazie, un tassello alla volta.

 

Marcello

 

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


[Python] lista di liste

2021-10-15 Per discussione Marcello
Ciao a tutti,

anticipo che google mi è tanto tanto amico, ma a volte, per avere la
risposta giusta bisogna fare la domanda giusta, e non è sempre così facile.

Vengo al dunque,

 

ho la seguente lista:

 

a = [['Settembre 2021'], \

['01 Merc', '07:58', '12:36', 'milano', 'torino', ' ', '13:57', '17:33',
'roma', 'napoli'], \

['02 Giov', '07:32', '12:55', 'Torino', 'palermo', ' ', '14:13', '18:43',
'como', 'genova'], \

['04 Saba'], \

['05 Dome'],\

['06 Lune', '07:41', '12:57', 'genova', 'livorno', ' ', '13:50', '19:08',
'siracusa', 'messina'], \

['22 Merc', 'Modifica', ' ', '05:09', '12:09', 'Torino', 'Torino'],\

['29 Merc', 'Modifica']]

 

 

Il risultato che voglio ottenere è:

 

a=[['01 Merc', '07:58', '12:36', '13:57', '17:33'], \

['02 Giov', '07:32', '12:55','14:13', '18:43'], \

['04 Saba'], \

['05 Dome'], \

['06 Lune', '07:41', '12:57', '13:50', '19:08'], \

['22 Merc', 'Modifica'], \

['29 Merc', 'Modifica']]

 

Ho evidenziato la lista in quanto se c’è la scritta Modifica non deve
importare il resto della lista. 

 

mi servirebbe qualcosa tipo

if x[:2].isnumeric() == False or x[:8] != ‘Modifica’ :

 list.remove(x)

ma non so come applicarlo J

 

Secondo me dovrei fare un primo for per tirare fuori i giorni, poi un
secondo for con un if x[:2].isnumeric() == False or x[:8] != ‘Modifica’ e
poi un append per ricostruire la lista, ma tra il dire e fare … 

 

Qualcuno può darmi 2 dritte?  

Ringrazio tutti anche solo per aver perso del proprio tempo per aver letto
la mail.

Saluti

Marcello

 

 

 

 



 

 

 

 

 

 

 

 

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


[Python] R: Proteggere un programma

2021-09-14 Per discussione Marcello
Non mi serve una super protezione, mi basta un minimo….

Penso di utilizzare una cosa tipo questa:

 

key='123456789012345678901234'

import subprocess,binascii,pyDes

 

current_machine_id = subprocess.check_output('wmic csproduct get 
uuid').decode().split('\n')[1].strip().replace("-", "")

print(current_machine_id)

current_machine_id_Cript = 
binascii.hexlify(pyDes.triple_des(key).encrypt(current_machine_id, 
"*")).decode()

print(current_machine_id_Cript)

current_machine_id_Part_Decript = 
str(pyDes.triple_des(key).decrypt((binascii.a2b_hex(current_machine_id_Cript)), 
"*").decode("utf-8"))

print(current_machine_id_Part_Decript)

'''

Controllo se  current_machine_id_Cript == my_string_code

'''

 

 

Comunque grazie per i consigli.

 

Marcello

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


[Python] Proteggere un programma

2021-09-13 Per discussione Marcello
Salve a tutti,
Ho la necessità di proteggere un programma compilato con pyinstaller in
modo che venga utilizzato su un solo pc.
Volevo fare una sorta di codice di attivazione.
Esiste già qualche modulo che posso utilizzare?

Ho fatto una ricerca ma non ho trovato niente.

Grazie

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


Re: [Python] Messaggi di commit in vscode

2021-05-17 Per discussione Marcello Sozzo
Messo!

m.

Il 17/05/21 09:29, Federico Fissore ha scritto:
> Ciao a tutti
>
> ancora sulla convinvenza di vscode e pycharm in azienda, ho notato una
> sistematica tendenza a scrivere messaggi di commit molto, troppo
> brevi, da parte di chi usa vscode
> Spesso sono addirittura di una o due parole, tipo "fix bug" o "test"
>
> Non sono un esperto di UX ma penso che sia (anche) dovuto al fatto che
> vscode mostra un campo di testo piccolissimo per il commit,
> soprattutto paragonato a pycharm
>
> Ho aperto questa issue su vscode
> https://github.com/microsoft/vscode/issues/121452
>
> Se anche voi siete sensibili al problema, potete mettere un pollice su?
> Non è detto che la soluzione sia mostrare un'area di testo più grande,
> ma almeno qualche esperto di UX valuterà cosa fare
>
> grazie in anticipo
>
> federico
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python

-- 
+--+ 
| Ing. Marcello Sozzo  |
| Universita' del Salento  |
| Dipartimento Scienze dell'Economia   |
| Capo Ufficio Tecnico di Dipartimento |
| Via per Monteroni, 165   |
| c/o Complesso Ecotekne   |
| 73100 LECCE  |
|  |
| tel +39 0832 29 8877 |
| cel +39 346 2339338  |
| pec marcello.so...@ingpec.eu |
| skype: marcellosozzo |
| https://bit.ly/3nvfgoJ   |
+--+

inviata dal mac


-- 

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


Re: [Python] Creazione lista da Listbox

2020-05-26 Per discussione Marcello
Il giorno mar 26 mag 2020 alle ore 09:04 Marco De Paoli 
ha scritto:

>
> forse ti fa comodo split
>
> >>> k = """
> ... aaa
> ... bbb
> ... ccc"""
> >>> k.split()
> ['aaa', 'bbb', 'ccc']
>
>
Certe volte si cercano soluzioni complicate a problemi relativamente
semplici.
FUNZIONAA!

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


[Python] Creazione lista da Listbox

2020-05-25 Per discussione Marcello
Salve a *

Ho creato una Listbox con tkinter (e fino a qui non ho avuto problemi)
adesso quello che non riesco a fare è creare una lista per ogni riga che
inserisco nel text_comandi.

esempio, se scrivo:
aaa
bbb
ccc

dovrei ricavare una lista
['aaa','bbb','ccc']

ho provato con readline() ma non va.
Ringrazio anticipatamente a chi può darmi qualche dritta.

Marcello

Questo è il mio codice:

from tkinter import *
def CollMikCommand():
   mylist.insert(END, text_comandi.get("1.0","end"))
FinestraCollegamento = Tk()
FinestraCollegamento.geometry("500x500")
# creazione text
text_comandi = Text(FinestraCollegamento,height=10, width=30)
text_comandi.pack(fill=BOTH,expand=True, pady=10, padx=10)
# creazione bottone esegui
btn_esegui = Button(FinestraCollegamento, text="ESEGUI",bg = "green",
command=CollMikCommand)
btn_esegui.pack(expand=YES)
# creazione scroll e listbox
scroll_X = Scrollbar(FinestraCollegamento)
scroll_Y = Scrollbar(FinestraCollegamento)
scroll_Y.pack(side = RIGHT, fill = Y)
scroll_X.pack(side = BOTTOM, fill = X)
mylist = Listbox(FinestraCollegamento, yscrollcommand = scroll_Y.set )
mylist = Listbox(FinestraCollegamento, xscrollcommand = scroll_X.set )
mylist.config(width=0)
mylist.pack(fill=X,expand=True,pady=10, padx=10)
scroll_Y.config( command = mylist.yview ,orient="vertical")
scroll_X.config( command = mylist.xview , orient="horizontal")
mainloop()
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] sshtunnel e while

2020-04-18 Per discussione Marcello
Il giorno sab 18 apr 2020 alle ore 04:55 Marcello  ha
scritto:

> Saluti a tutti,
> devo effettuare un tunnel ssh, aprire un programma exe con wine
>

mi rispondo da solo


from sshtunnel import SSHTunnelForwarder
import os
server=  SSHTunnelForwarder(('192.168.2.1',
22),ssh_username="admin",ssh_password="password",remote_bind_address=('192.168.2.25',
8291))
server.start()
aprifile = 'wine '+os.path.abspath('.')+os.sep+'winbox.exe 127.0.0.1:
'+str(server.local_bind_port)
os.system(aprifile)
server.stop()
print('END!')


Ciao
Marcello
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


[Python] sshtunnel e while

2020-04-17 Per discussione Marcello
Saluti a tutti,
devo effettuare un tunnel ssh, aprire un programma exe con wine (e fino a
qui ci sono) ma alla chiusura del programma exe vorrei che anche il tunnel
ssh si chiuda.
Dovrei fare un break se wine o il programma exe viene chiuso, ma non come
farlo e google non mi è stato tanto amico.

il codice è il seguente:

from sshtunnel import open_tunnel
from time import sleep
import os,subprocess
ssh_ip_tun = '192.168.2.1'
ssh_porta_tun = 22
ssh_username_tun = 'admin'
ssh_pwd_tun = 'password'
ip_dispositivo_remoto = '192.168.2.25'
porta_dispositivo_remoto = 8291
with open_tunnel((ssh_ip_remoto,
ssh_porta_remota),ssh_username=ssh_username_tun,ssh_password=ssh_pwd_tun,remote_bind_address=(ip_dispositivo_remoto,
porta_dispositivo_remoto)) as server:
  print(server.local_bind_port)

subprocess.Popen(['wine',os.path.abspath('.')+os.sep+'winbox.exe','127.0.0.1:
'+str(server.local_bind_port)])
  while True:
sleep(1)
print('END!')



Grazie
Marcello
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] tkinter Treeview

2018-10-18 Per discussione Marcello
Il giorno 18 ottobre 2018 10:36, Marco De Paoli  ha
scritto:



in pratica prima devi fare un tag_configure per definire il tag che ti
> servono
> e poi assegni il tag (o i tag) che vuoi ai vari item
>

> elenco.tag_configure("warning", background='red')
> elenco.tag_configure("normal", background='black')
>

Lo avevo fatto, ma avevo interpretato male il manuale, al posto di NomeTag
mettevo background   :)


Si così funziona, GRAZIE 1000.

Posto il codice completo, magari potrebbe servire a qualcuno.

Ciao
Marcello



from tkinter import ttk
import tkinter as tk
def selectItem(a):
curItem = elenco.focus()
print (elenco.item(curItem)["text"])
finestra = tk.Tk()
elenco = ttk.Treeview(finestra, selectmode='browse')
elenco.pack(side='left')
vsb = ttk.Scrollbar(finestra, orient="vertical", command=elenco.yview)
vsb.pack(side='right', fill='y')
elenco.configure(yscrollcommand=vsb.set)
elenco["columns"]=("one")
elenco.column("one", width=100 )
elenco.insert("" , 0, text="Cliente   ", values=("Raggiungibile"))
elenco.tag_configure("normal", background='red')
elenco.tag_configure("warning", background='yellow')
for a in range (1,10):
iid =  elenco.insert("", a, a, text="aa")
elenco.item(iid, tags=("warning", ))
for b in range (10,20):
iid =  elenco.insert("", b, b, text="bb")
elenco.item(iid, tags=("normal", ))
elenco.bind('', selectItem)
elenco.pack()
finestra.mainloop()
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


[Python] tkinter Treeview

2018-10-17 Per discussione Marcello
Ciao a tutti,
ok getto la spugna ... sono costretto a chiedere il vostro aiuto
è 2 sere che cerco di risolvere questo problema ma non ne vengo fuori
neanche con google :)

devo creare un elenco con treeview e devo mettere un colore di sfondo
diverso tra i 2 cicli di for

googlando in giro ho letto che bisogna utilizzare il  tag_configure

.tag_configure(*tagName*, option=None, ***kw*)

quindi ho aggiunto all'interno del for:

elenco.tag_configure('background', option='red')

ma mi restituisce un errore

potete indirizzarmi sulla retta via?
Vi ringrazio anticipatamente

Marcello


questo è il mio codice:



from tkinter import ttk
import tkinter as tk

def selectItem(a):
curItem = elenco.focus()
print (elenco.item(curItem)["text"])

finestra = tk.Tk()

elenco = ttk.Treeview(finestra, selectmode='browse')
elenco.pack(side='left')

vsb = ttk.Scrollbar(finestra, orient="vertical", command=elenco.yview)
vsb.pack(side='right', fill='y')
elenco.configure(yscrollcommand=vsb.set)

elenco["columns"]=("one")
elenco.column("one", width=100 )
elenco.insert("" , 0, text="PrimaColonna", values=("SecondaColonna"))
for a in range (1,10):
elenco.insert("", 3, a, text="aa")
for b in range (10,20):
elenco.insert("", 3, b, text="bb")
elenco.bind('', selectItem)
elenco.pack()
finestra.mainloop()
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] seconda prova della mia calcolatrice. non va a ncora

2018-07-10 Per discussione Marcello
Il giorno 10 luglio 2018 16:08, Matteo Perini  ha
scritto:

>
> In ogni caso il risultato non  viene visualizzato!
>>
>
>
ops mi ero fermato al messaggio di errore

così funziona

print('benvenuti nella nuovissima calcolatrice, premere invio per
continuare')
x = int(input('scrivi il primo numero'))
y = int(input('crivi il secondo numero'))
print('il risultato \xe8 ',x+y)


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


Re: [Python] seconda prova della mia calcolatrice. non va a ncora

2018-07-10 Per discussione Marcello
seconda prova della mia calcolatrice. non va ancora.
>


Il problema è la 'e' con l'accento nel print ('il risultato è')
prova asostituirte la riga con

print('il risultato \xe8'), x+y

Ciao
Marcello
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] uso di str.format

2018-05-03 Per discussione Marcello
Il giorno 3 maggio 2018 11:20, Massimiliano Rosi <
massimiliano.r...@gmail.com> ha scritto:

> Ciao a tutta la lista,
> vi chiedo un consulto, sull'utilizzo di str.format, cioè:
>
> '{:.2f}'.format(55.6789)
> ritorna:
> '55.68'
>
>
Se ho capito bene hai provato questo?
>>> '{:.2f}'.format(55.6789)
'55.68'
>>> '{:.3f}'.format(55.6789)
'55.679'
>>> '{:.4f}'.format(55.6789)
'55.6789'
>>>

Ciao
Marcello
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Riordinare un dizionario

2017-04-24 Per discussione Marcello
Innanzi tutto grazie a tutti per l'aiuto.


Il giorno 24 aprile 2017 19:25, Marco Santamaria <marco.santama...@gmail.com
> ha scritto:

>
> da quello che scrivi sembra che tu voglia ordinare una lista di dizionari.
> Infatti, come ti hanno già detto diz è una lista di dizionari.
>
>
grazie al tuo link, ho risolto così:

from operator import itemgetter
diz = [{'add': '10', 'name': 'ccc', 'pwd': '12'}, {'add': '11', 'name':
'aaa', 'pwd': '45'}, {'add': '12', 'name': 'bbb', 'pwd': '79'}]
diz = sorted(diz, key=itemgetter('name'))
print (diz)

[{'add': '11', 'name': 'aaa', 'pwd': '45'}, {'add': '12', 'name': 'bbb',
'pwd': '79'}, {'add': '10', 'name': 'ccc', 'pwd': '12'}]


Saluti

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


[Python] Riordinare un dizionario

2017-04-24 Per discussione Marcello
Ciao a tutti,

devo ordinare un dizionario in base al nome.
Ho provato, cercando sul web, OrderedDict dovrebbe essere quello che fa al
caso mio.

import collections
diz = [{'add': '10', 'name': 'ccc', 'pwd': '12'}, {'add': '11', 'name':
'aaa', 'pwd': '45'}, {'add': '12', 'name': 'bbb', 'pwd': '79'}]
print (collections.OrderedDict(sorted(diz.items(), key=lambda t: t[1])))

ma mi viene restituito un errore
AttributeError: 'list' object has no attribute 'items'

E' come se diz venisse visto come lista e non come dizionario.
Dove sbaglio?

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


Re: [Python] RE e dizionario

2016-12-21 Per discussione Marcello
Il giorno 21 dicembre 2016 13:02, Marco Beri <marcob...@gmail.com> ha
scritto:

>
> Marcello,
> se l'ultima frase qui sopra è una affermazione, bravo, buon lavoro.
>
> Se invece è una domanda, io sostituirei tutti gli "=\n" con "=" nella
> variabile.
>
>
Si dalla fretta ho dato una risposta vaga

ho risolto così:
config = [dict((param.split("=")) for param in host.split(" ") if "=" in
param) for host in resp.replace("=\\\r\n
 ","=").replace("\r","").split("\nadd ")[1:]]


 - Il giorno 21 dicembre 2016 Giovanni Porcari ha scritto:
 - Che belli gli oneliner :)

 - >>> [dict( [(k,v) for k,v in [hostline.split('=') for hostline in
host.split(' ') if '=' in hostline] if k in ('name', 'remote-address',
'password')]) for host in hosts.replace('=\n','=').split('\n')]
 -
 -

La versione di Marco mi restituisce un dizionario più pulito.

Grazie a tutti

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


Re: [Python] RE e dizionario

2016-12-21 Per discussione Marcello
Il giorno 21 dicembre 2016 11:48, Marco Beri <marcob...@gmail.com> ha
scritto:

>
>
> È più efficiente questo codice:
>
> config = [dict((param.split("=")) for param in host.split(" ") if "=" in
> param) for host in conf.split("\nadd ")[1:]]
>
>
>

Innanzi tutto ringrazio te e tutti in lista per la celere risposta/aiuto
(neanche fossi abbonato a python 'prime')
c'è però un piccolo problema.
La stringa che gli do in pasto contiene varie configurazioni suddivise in 2
o 3 righe e a volte mi mette dopo un '=' una '\'  esempio 'password=\' e va
a capo con la password_letta.
Quando il codice incontra questo  problema il valore assegnato al
dizionario risulta errato 'password': '\\\r\n'.
Si può risolvere.

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


[Python] RE e dizionario

2016-12-20 Per discussione Marcello
Utilizzo paramiko per leggere una parte di configurazione di un router che
memorizzo in una variabile.
Il valore della variabile è:

# dec/20/2016 21:09:12 by RouterOS 6.37.3
# software id = X26E-3BA9
#
/ppp secret
add local-address=10.172.33.1 name=nome1 password=passwd1 \
profile=profile-sstp remote-address=10.172.33.2 service=sstp
add local-address=10.172.33.1 name=nome2 password=passwd2 profile=\
profile-ovpn remote-address=10.172.33.2 service=ovpn
add local-address=10.172.34.37 name=nome3 password=passwd3 \
profile=profile-sstp remote-address=10.172.34.38 service=sstp
add local-address=10.172.34.45 name=nome4 password=\
passwd4 profile=profile-sstp remote-address=10.172.34.46 service=\
sstp
add local-address=10.172.34.49 name=nome5 password=passwd5 \
profile=profile-sstp remote-address=10.172.34.50 service=sstp
add local-address=10.172.34.53 name=nome6 password=passwd6 \
profile=profile-sstp remote-address=10.172.34.54 service=sstp


Devo creare un dizionario che contenga:

name, remote-address, password

ho già consumato le unghie con string.find e non so più dove aggrapparmi.
Un idea potrebbe essere:
prendi quello che è compreso tra 'name=' e 'password'
prendi quello che è compreso tra 'password' e 'profile'
..

seconda idea potrebbe essere string.split ed andare a fare un if su ogni
parola, se comincia con name=x taglia 5 caratteri iniziali.
Magari funziona, ma penso di sprecare troppe risorse di CPU.

Penso che il metodo migliore siano le espressioni regolari ma la mia
testa ha poca RAM e il programma per caricale non gira.  :)
Qualche dritta su come poter procedere?
Grazie 1000 anche solo per aver letto fino a qui.

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


Re: [Python] Button all'interno di un for

2016-11-25 Per discussione Marcello
Il giorno 25 novembre 2016 16:40, Strap Lab  ha scritto:
>
> Cosi` facendo viene creata e riservata una referenza corretta al numero
> per la callback assegnata a command.
>



Si, grazie 1000,
funziona, inserisco il codice completo

Ciao



from Tkinter import *
root= Tk()
def premuto (numero):
print ("premuto bottone ",numero)
#root.destroy()
def factory_btn(numero):
pulsante = Button(finestra)
pulsante["text"] = "pulsante"
pulsante["background"] = "black"
pulsante["command"] = lambda: premuto(numero)
pulsante["fg"] = "red"
pulsante.pack()

finestra = Frame(root)
finestra.pack()
for numero in range(1,7):
factory_btn(numero)
root.mainloop()
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Cisco call manager, ci sono riuscito

2015-04-25 Per discussione Marcello
 Gollum1 ha scritto:
 sono finalmente riuscito ad agire sul call manager della Cisco

Non conosco Cisco Call manager,  ma volevo solo sapere se lo script che hai
fatto utilizza le Tapi.

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


Re: [Python] Levatemi dalla mailling list!!!!!!!

2014-11-10 Per discussione Marcello
Da oggi non guarderò più le soap opera alla tele... sono noiose .. è
più divertente leggere la ML.:)

Un saluto a tutti.

Marcello

Inviato da IBM 8086 con 640K di ram

Il giorno 10 novembre 2014 17:16, Howl h...@airmail.cc ha scritto:

 programma mi fa più pensare ad uno script compilato, binario, per questo
 non l'ho usato :L
 Il 10/11/2014 17:08, Nicola Larosa ha scritto:

 Howl wrote:

 Crea un email con soggetto e contenuto del messaggio e inviala
 a python@lists.python.it , uno script fungerà da ripetitore

 Nicola Larosa wrote:

 Uno *script*? Se ti sente zio Barry... ;-) http://barry.warsaw.us/
 (terzo paragrafo)

 Howl wrote:

 i still don't get it. Come lo avrei dovuto chiamare? In fondo credo
 (perché non ci ho mai guardato sul codice di mailman, non ne ho voglia
 :^) ) che sia comunque uno script che fa parte di un progetto.

 No worries, solo una battuta (vedi faccina). Chiamare script un
 programmone di parecchie decine di migliaia di righe suona un po'
 riduttivo. :-)


 ___
 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] autenticazione windows

2014-03-13 Per discussione Marcello
Guarda se ti è utile

http://www.google.it/url?q=http://stackoverflow.com/questions/7274446/python-linux-copy-files-to-windows-shared-drive-sambasa=Uei=vr8hU-KZNq_50gWn0YGgAgved=0CA4QFjABusg=AFQjCNEmc7bNoVXiz_8M_D4_0La-imD_mQ

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


[Python] OT

2013-12-24 Per discussione Marcello
Buone feste a tutti i pythonisti.

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


Re: [Python] Python ip dinamico e sottorete

2013-12-20 Per discussione Marcello


 PC1 (193.162.1.50) - Router1 (175.258.45.58)
 PC2 (192.168.10.5) - Router2 (155.158.5.8)

 Voglio scambiare i dati tra PC1 e PC2.

 Mi sapete dire dove devo guardare e cosa cercare? Ovviamente il tutto lo
 vorrei fare in python, ma ho bisogno anche di nozioni generali su quello
 che voglio fare.


non hai indicato che tipo di router sono Router1 e Router2, magari
supportano la VPN lan to lan, e così risolvi tutti i problemi.

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


Re: [Python] domanda banale

2013-12-11 Per discussione Marcello
Forse non è il massimo, ma io ho risolto in questo modo.
Doppio click sul record da modificare, i dati vengono inseriti in vari
GtkTextView, effettuo le modifiche necessarie e poi con un salva faccio un
update dei dati sul DB.

Marcello


Il giorno 10 dicembre 2013 19:23, Alessandro Dentella san...@e-den.it ha
scritto:

 On Tue, Dec 10, 2013 at 04:37:16PM +, Francesco Geri wrote:
 Salve a tutti,
 sono un neofita della programmazione in python, prima d'ora mi sono
 sempre limitato a piccoli script o piccole applicazioni. Adesso invece
 per la prima volta sono alle prese con un'applicazione più
 strutturata,
 con finestre (gtk), collegamenti a database, scrittura di file ecc.
 Il mio problema è banale, ma a causa della mia scarsa esperienza mi
 sta
 creando un po' di problemi. In pratica ho un flusso principale di
 istruzioni, che richiama varie funzioni e istanzia varie classi. Ad un
 certo punto io istanzio una classe che genera una gtkwindow con una
 treeview popolata da una liststore. Vorrei che l'utente finisse di
 compilare i vari record della treeview e poi, successivamente al click
 in un bottone, i dati salvati nella treeview dovrebbero essere
 recuperati e utilizzati nel normale flusso di operazioni. Il problema
 mio è che in realtà il flusso non si ferma: la classe viene
 istanziata,
 la finestra generata, i valori recuperati, ma il flusso (che dovrebbe
 attendere l'inserimento dei dati da parte dell'utente) non si ferma!
 Qualcuno può darmi una diritta su come risolvere questo banalissimo
 problema?

 non è che banalmente apri una finestra normale invece che un dialog?
 Puoi provare a mostrare il codice di come apri la finestra. Per le finestre
 normali è corretto che il flusso prosegua.

 sandro
 *:-)

 ___
 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] Glade3 e statusbar

2013-10-13 Per discussione Marcello
 cmq i problemi rimarranno se blocchi il mainloop lanciando dei processi
esterni
 e questo mi fa pensare che ho ragione.

Si effettivamente il problema è proprio il blocco della mainloop.

Ho provato ad utilizzare Tread, ma ottengo lo stesso risultato

from threading import Thread
from gi.repository import Gtk
class Windows(object):

def __init__(self):
self.ApplicazioneGlade = Gtk.Builder()
self.ApplicazioneGlade.add_from_file(PercorsoGlade)
self.ApplicazioneGlade.connect_signals(self)
self.statusbar = self.ApplicazioneGlade.get_object('statusbar')
self.context_id = self.statusbar.get_context_id('statusbar')
self.statusbar.push(self.context_id, 'Status . . . . . . . ')

def run(self, *args):

self.ApplicazioneGlade.get_object(FinestraPrincipale).show()
self.model = Gtk.ListStore(str,str,str,str,str)
elencoimpianti = self.ApplicazioneGlade.get_object('ElencoImpianti')
elencoimpianti.get_selection().set_mode(Gtk.SelectionMode.SINGLE)
col1,col2,col3,col4,col5 = range(5)
elencoimpianti.set_model(self.model)
cell = Gtk.CellRendererText()
column2 = Gtk.TreeViewColumn(- Nome Impianto -, cell, text = col2)
column2.set_resizable (True)
column2.set_sort_column_id(col2)
elencoimpianti.append_column (column2)
column3 = Gtk.TreeViewColumn(- Codice Impianto -, cell, text =
col3)
column3.set_resizable (True)
column3.set_sort_column_id(col3)
elencoimpianti.append_column (column3)
column4 = Gtk.TreeViewColumn( Pers , cell, text = col4)
column4.set_resizable (True)
column4.set_sort_column_id(col4)
elencoimpianti.append_column (column4)
column5 = Gtk.TreeViewColumn( -PBX- , cell, text = col5)
column5.set_resizable (True)
column5.set_sort_column_id(col5)
elencoimpianti.append_column (column5)
datiDB =
pyodbc.connect('DRIVER={};DBQ={};PWD={}'.format(DriverMDB,PercorsoMDB,PwdMDB))
cur = datiDB.cursor()
cur.execute(select
CapoImpianto,NomeImpianto,CodiceImpianto,NomeSW,TipoCentrale from Impianti
where Gestione = '+gestione+')
dati = cur.fetchall()
for dato in dati:
if str(dato[0]) == None:
var1= ''
else:
var1=str(dato[0])
var2=str(dato[1])
var3=str(dato[2])
var4=str(dato[3])
if str(dato[4]) == None:
var5= ''
else:
var5=str(dato[4])
record = self.model.append([var1,var2,var3,var4,var5])
cur.close()
datiDB.close()
Gtk.main()

def on_statusbar_show(self, button,obj,data=None):
self.statusbar = self.ApplicazioneGlade.get_object('statusbar')
self.context_id = self.statusbar.get_context_id('statusbar')
self.statusbar.push(self.context_id, self.MessaggioStatusbar)

def on_VerTab_clicked(self, button):
self.MessaggioStatusbar = 'Hai premuto Verifica Tabella'
thread1 = Thread(target=self.on_statusbar_show(self,
button,data=None),args=[])
thread1.start()
thread1.join()

thread2 = Thread(target=self.on_VerTab_clicked2(self),args=[])
thread2.start()
thread2.join()

def on_VerTab_clicked2(self, button):
... codice che controlla parecchi file di testo ..
... insert INTO DB .
Windows().run()



Posso risolvere questo problema facilmente senza stravolgere il programma?

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


[Python] Tuple

2013-10-13 Per discussione Marcello
Ciao a tutti,

estraggo dei dati da un DB ed ottengo:

dato = [('1','2','3','4','5','None','None')]

vorrei sostituire il valore 'None' con '' (vuoto)

googlando ho letto che le tuple non sono modificabili, quindi per risolvere
il problema ho fatto:


for w in dato:
   a=w[0]
   b=w[1]
   c=w[2]
   d=w[3]
   e=w[4]
   f=w[5]
   g=w[6]

   if a=='None':
  a=''
   if b=='None':
  b=''
   ..

il risultato l'ho raggiunto, ma sprecare tanti IF non mi piace molto.
Posso utilizzare del codice più pythonico per risolvere il problema?

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


Re: [Python] Glade3 e statusbar

2013-10-05 Per discussione Marcello
 Aggiornare a pygobject.eheh era subliminale ma non troppo,

dopo una settimana di lavoro (considerando che potrei definirmi 'un
programmatore della domenica')
sono riuscito:
1 - ad aggiornare il mio programma a pygobject (c'erano anche i file di
glade da modificare)
2 - a far funzionare statusbar

però mi è sorto un problemino


def on_statusbar_show(self, button,obj,data=None):
self.statusbar = self.ApplicazioneGlade.get_object('statusbar')
self.context_id = self.statusbar.get_context_id('statusbar')
self.statusbar.push(self.context_id, self.MessaggioStatusbar)

def on_VerTab_clicked(self, button):
self.MessaggioStatusbar = 'Hai premuto Verifica Tabella'
self.on_statusbar_show(self,button)
. controllo parecchi file di testo


il messaggio sullo statusbar mi appare non immediatamente quando viene
eseguito ' def on_VerTab_clicked(self, button):'
ma bensì quando finisce di controllare tutti i file di testo.
Questo mi vieta di far vedere sullo statusbar quale file sta elaborando.

Come posso risolvere?

Un grazie a Gian Mario per tutte le dritte che mi ha dato fino adesso

Saluti
Marcello


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


Re: [Python] Glade3 e statusbar

2013-09-30 Per discussione Marcello
Ok ho capito il messaggio... Aggiornare a pygobject.

ho scaricato ed installato 'pygobject-2.28.3.win32-py2.7.exe'

ma quando faccio

from gi.repository import Gtk

mi restituisce

Traceback (most recent call last):
  File stdin, line 1, in module
ImportError: No module named gi.repository


quale file devo installare per win32?

Ciao

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


[Python] Glade3 e statusbar

2013-09-29 Per discussione Marcello
Ciao a tutti

ho il seguente parte di codice:

class CreaGUI:

def __init__(self):
self.ApplicazioneGlade = gtk.glade.XML(PercorsoGlade)
self.EventiGlade
={on_FinestraPrincipale_delete_event:gtk.main_quit,
self.statusbar = self.ApplicazioneGlade.get_widget('statusbar')
self.context_id = self.statusbar.get_context_id('statusbar')
self.statusbar.push(self.context_id, Messaggio di prova statusbar)
# ...
# ...
gtk.main()

def Compila(self,obj):
context_id = self.statusbar.get_context_id('statusbar')
self.statusbar.push(context_id, 'Cambia Messaggio Statusbar')


quando lo eseguo si apre correttamente la finestra e sullo statusbar mi
compare 'Messagio di prova...' .
Ho la necessità, quando viene richiamato Compila,  di cambiare il messaggio.
Dove sbaglio?

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


Re: [Python] Glade3 e statusbar

2013-09-29 Per discussione Marcello
 Dal codice che hai postato il metodo Compila non viene mai eseguito.

 si, e vero, ma ho postato solo parte del codice mettendo solo la parte
 interessata.

era interessante vedere anche quando il metodo viene eseguito,
altrimenti non si capisce perchè non ti funziona.

aggiungo richiamo


class CreaGUI:

def __init__(self):
self.ApplicazioneGlade = gtk.glade.XML(PercorsoGlade)
self.EventiGlade
={on_FinestraPrincipale_delete_event:gtk.main_quit,
on_VerTab_clicked:self.VerificaTab,
on_ContrRemoto_clicked:self.ContrRemoto,
on_CopiaImpianti_clicked:self.CopiaImpianti,
on_OpenPers_clicked:self.ApreSaePers,

on_ElencoImpianti_row_activated:self.SelezioneImpianto,
on_VisNumImp_clicked:self.VisNumImp,
on_SincroDB_clicked:self.SincroDB,
on_Compila_clicked:self.Compila,
on_VisualizzaCopia_clicked:self.VisualizzaCopia,
}

self.statusbar = self.ApplicazioneGlade.get_widget('statusbar')
self.context_id = self.statusbar.get_context_id('statusbar')
self.statusbar.push(self.context_id, Messaggio di prova statusbar)
# ...
# ...
gtk.main()

def Compila(self,obj):
context_id = self.statusbar.get_context_id('statusbar')
self.statusbar.push(context_id, 'Cambia Messaggio Statusbar')
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Glade3 e statusbar

2013-09-29 Per discussione Marcello
 def Compila(self,obj):
 self.statusbar.push(self.context_id, 'Cambia Messaggio
Statusbar')
prova così (untested)

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


Re: [Python] Problemi con time

2013-06-28 Per discussione Marcello
OK grazie
ho risolto usando lambda (che non ho mai usato)
ho cercato in rete per capire cosa facesse, ma.. non è che ci ho capito
molto.

import time
tempo = 2013-06-25 16:25:00
func = lambda obj: obj.strftime('%d/%m/%Y %H:%m')
print func(tempo)


Marcello



Il giorno 28 giugno 2013 05:41, Marco Chieppa | crap0101 
crap0...@riseup.net ha scritto:

 Il giorno Fri, 28 Jun 2013 03:01:02 +0200
 Marcello marce...@linuxvil.it ha scritto:

  Ciao a *
 
  ho una stringa che recupero da un DB
  tempo = 2013-06-25 16:25:00
 
  e dovrei modificare in
  25/06/2013 16:25
 
  potrei utilizzare string per spostare i caratteri, ma vorrei utilizzare
  time per vari motivi.
  quindi provo con
 
  print time.strftime(%d/%m/%Y %H.%M ,time.localtime(tempo))
 
  [...]

 così?

  tempo = 2013-06-25 16:25:00
  time.strftime(%d/%m/%Y %H:%M, time.strptime(tempo,%Y-%m-%d
 %H:%M:%S))
 '25/06/2013 16:25'

 (localtime non si aspetta una stringa)




 ___
 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] Prendere dati da un file xml

2013-06-28 Per discussione Marcello
Sono nuovamente qui per chiedere il vostro aiuto.
Ho un file xml

ip192.168.1.1/ip
prgFooBar/prg
prgFooBar1/prg
prgFooBar2/prg


per prendere i dati da questo file faccio così

file = file.xlm
_imp = open(file, r)
imp = _imp.read()
_imp.close()
if ip in imp:
Ip = imp[imp.index(ip)+4:imp.index(/ip)]
else:
Ip = 0.0.0.0
print Ip

il problema è quando ho più di un campo con lo stesso nome.
Se utilizzo lo stesso metodo per prg giustamente mi viene proposto solo il
primo risultato (FooBar).
Come faccio ad avere tutti i risultati?
Ho provato con un for . ma non ho risolto, anche perchè non sempre
prgFooBarX/prg è sulla stessa riga quindi non posso utilizzare
readline()

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


Re: [Python] Prendere dati da un file xml

2013-06-28 Per discussione Marcello
visto la mia nubbiaggine ed aver cercato di capire come implementare lxml
senza risultati, ho cercato altre strade.
ho trovato su un forum uno script (quasi fatto su misura per me)
lo allego, magari può essere utile.

from xml.dom import minidom
xmlDoc = minidom.parseString(imp)
rootElem = xmlDoc.documentElement
for elem in rootElem.getElementsByTagName('prg'):
ass_id, = elem.getElementsByTagName('id')
if ass_id.firstChild.data == '0':
Tipo_Subtelaio, = elem.getElementsByTagName('tipo_subtelaio')
Result = [Tipo_Subtelaio.firstChild.data,][0]
print Result


 Saluti
Marcello


Il giorno 28 giugno 2013 17:47, Lorenzo Sutton
lorenzofsut...@gmail.comha scritto:

 On 28/06/2013 17:09, a.cava...@cavallinux.eu wrote:

 c'e' etree nella libreria standard (xml.etree.ElementTree): se non ti
 serve xpath (o le features piu' sofisticate) va piu' che bene (e lxml
 supporta la stessa api se il problema si complica).

  +1 per usare qualcosa che ti parsi l'xml e non farlo 'a mano'. lxml è
 bello potente imho, ma forse in questo caso qualcosa che è nella lib
 standard va bene.
 Lorenzo.



 On 2013-06-28 16:47, Marco Beri wrote:

 Il giorno 28/giu/2013 16:33, Marco De Paoli depao...@gmail.com
 [1] ha scritto:

  fai un piccolo investimento a guardarti il tutorial di lxml e vedrai

 che vivi meglio :-)
  
   ciao,
   Marco
  
   [0] http://lxml.de/ [2]

 Assolutamente +1!

 Ciao.
  Marco.
  __**_
   Python mailing list
   Python@lists.python.it [3]
   
 http://lists.python.it/**mailman/listinfo/pythonhttp://lists.python.it/mailman/listinfo/python[4]
  


 Links:
 --
 [1] mailto:depao...@gmail.com
 [2] http://lxml.de/
 [3] mailto:Python@lists.python.it
 [4] 
 http://lists.python.it/**mailman/listinfo/pythonhttp://lists.python.it/mailman/listinfo/python


 __**_
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/**mailman/listinfo/pythonhttp://lists.python.it/mailman/listinfo/python


 __**_
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/**mailman/listinfo/pythonhttp://lists.python.it/mailman/listinfo/python

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


[Python] Problemi con time

2013-06-27 Per discussione Marcello
Ciao a *

ho una stringa che recupero da un DB
tempo = 2013-06-25 16:25:00

e dovrei modificare in
25/06/2013 16:25

potrei utilizzare string per spostare i caratteri, ma vorrei utilizzare
time per vari motivi.
quindi provo con

print time.strftime(%d/%m/%Y %H.%M ,time.localtime(tempo))

ma niente

allora provo

print time.strftime(%d/%m/%Y %H.%M
,time.localtime(time.strptime(tempo,%Y-%m-%d %H:%M:%S))

ma niente.

Una cosa strana è che se verifico il DB (access) da dove estraggo 'tempo'
il valore è esattamente come serve a me!

Help
Saluti
Marcello
___
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 Per discussione 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.
Saluti
Marcello
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Problemi con l'if statement

2012-11-11 Per discussione Marcello
penso che il tuo problema è solo di Indentazione del codice. Prova con:

x=3
if x3:
   print(x e' minore di 3)
else:
   print(x e' maggiore od uguale a 3)



Il 11 novembre 2012 22:35, Luigi Campobello az...@live.it ha scritto:
 Ho provato a mandare in esecuzione una quindicina di volte codici
 semplicissimi
 come quello seguente,senza mai riuscirci,per testare l'if statement in
 linguaggio python.
   -
 x=3
 if x3:
 print(x e' minore di 3)
 else:
 print(x e' maggiore od uguale a 3)

   --

 Non mi è stato possibile mandare in esecuzione tale codice,nè da riga di
 comando nè
 tramite il file.py creato.
 Mi viene segnalato invalid syntax

 Inoltre,dopo avere visto dei videotutorials in rete,ho notato che
 in comandi del tipo:
 name=int(raw_input(Immettere gli anni))

 ad altri il nome della funzione raw_input appariva colorato,nel mentre a me
 no.
 Ho modificato personalmente i colori,ed a me il nome della funzione per la
 gestione dei
 dati di input da riga di comando,appariva colorato solamente
 se lo modificavo con input invece che raw_input.
 Mi scuso per probabili imperfezioni nella esposizione del mio problema(sono
 neofita)
 e spero di ricevere una risposta.

 Cordiali saluti

 ___
 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-Petizione] Wikipedia patrimonio dell'umanità

2011-07-01 Per discussione Marcello
Ciao, ma...

Wikipedia non è un patrimonio dell'umanità.
Non facciamoci illusioni:
è semplicemente un progetto editoriale di assoluta ed esclusiva proprietà di
Jimmy Wales.

Questa proposta è solo una trovata pubblicitaria e raccolta fondi.

Uno può apprezzare Wikipedia,
ma essa non è patrimonio pubblico,
è esclusivamente proprietà di Jimmy  Wales.

Saluti

2011/6/30 Daniel Pyrathon piro...@gmail.com:
 Dove si firma la petizione?

 On Jun 30, 2011 11:46 PM, Emanuele Santoro sant...@autistici.org wrote:
 La sede tedesca di Wikimedia Foundation ha lanciato questa
 petizione: far diventare Wikipedia il primo patrimonio mondiale
 dell'umanità digitale e globale.

 Se qualcuno appoggia quest'idea, dovrebbe firmare la petizione.

 Io appoggio, ed ho firmato la petizione, spero che lo facciano
 in tanti.

 Cheers,
 --
 Emanuele Santoro

 ___
 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-Petizione] Wikipedia patrimonio dell'umanità

2011-07-01 Per discussione Marcello
No, dai, quella che ho detto non e` una completa falsita`:
sono stato un po' semplicistico,
che e` un mio difetto di comunicazione:
scusatemi.

Quello che volevo dire era semplicemente:
wikimediafoundation
(http://wikimediafoundation.org/wiki/Board_of_Trustees)
ha un proprietario, o un  insieme di proprietari.
E` bello che sia no-profit (ma non e` detto che lo resti)
E` bello che sia di accesso gratuito (ma non e` detto che lo resti)

Semplicemente queste cose belle non rendono il progetto editoriale
un bene dell'umanita`: non ha i necessari caratteri di assolutezza.

Siccome la mia tendenza al monologo e` quasi invincibile,
ora smetto di scrivere: vi ho gia` annoiati troppo.

Ciao,
Marcello





2011/7/1 Pietro Battiston m...@pietrobattiston.it:
 Siamo veramente OT, comunque...

 Il giorno ven, 01/07/2011 alle 09.25 +0200, Kalos Bonasia ha scritto:


 Il giorno 01 luglio 2011 08:55, Marcello marcello.dus...@gmail.com
 ha scritto:
         Ciao, ma...

         Wikipedia non è un patrimonio dell'umanità.
         Non facciamoci illusioni:
         è semplicemente un progetto editoriale di assoluta ed
         esclusiva proprietà di
         Jimmy Wales.

         Questa proposta è solo una trovata pubblicitaria e raccolta
         fondi.

         Uno può apprezzare Wikipedia,
         ma essa non è patrimonio pubblico,
         è esclusivamente proprietà di Jimmy  Wales.

         Saluti



 Questa non è uno spunto di discussione, è pura e semplice falsità.

 Wikipedia è proprietà della Wikimedia Foundation, nella cui board
 figurano
 - tre membri eletti dalla comunità
 - due eletti dai capitoli locali
 - Wales
 - quattro esperti scelti dalla board stessa

 ovvero Wales ha un voto, la comunità (mondiale+chapters locali) 5, anche
 assumendo che gli altri 4 siano schiavetti di Wales non hanno comunque
 la maggioranza. O se la si vuole vedere in un altro modo, ogni volta che
 un esperto si dimette e va sostituito, nel rimpiazzarlo la comunità ha
 la maggioranza assoluta.



 concordo con Marcello e domando anche io, ma qual'e' questo link per
 firmare la petizione?

 http://wikipedia.de/wiki/index.php?title=Special:Petition



 io non me la sento di firmare la petizione per tutelare un progetto
 dove il primo ragazzino con le mutandine ancora sporche di pupù si può
 permettere di cassare un mio lavoro adducendo che io lo abbia
 copiato.



 Le Dolomiti sono patrimonio dell'UNESCO, e sai quanti ragazzini ci
 avranno fatto la pupù...


 Si, a distanza di 8 anni sono ancora incazzatissimo con chi ha deciso
 di cancellare alcune pagine di wikipedia, scritte da me, perché il
 contenuto violava il diritto d'autore in quanto copiati, pare, dal
 sito di un tale calogero bonasia...


 finché non risolvono questo problema, non c'è proprio niente da
 tutelare su Wikipedia...



 Comprensibilissima l'incazzatura, un po' viziato lo sviluppo logico.

 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


Re: [Python] Numero to byte

2011-01-12 Per discussione Marcello
Massi`,
pero` il codice qui (cito Nicola, 6a mail di questo thread)
http://code.djangoproject.com/browser/django/trunk/django/template/defaultfilters.py#L794
lo trovo piu` leggibile.
(Esplicito e` meglio che implicito ecc... )

Opinioni personali, eh :)


On Wed, Jan 12, 2011 at 1:54 PM, Andrea Ambu andrea...@gmail.com wrote:
 Pythonese

 def human_from_bytes(bytes, factor=1024., labels=['B', 'KiB', 'MiB', 'GiB',\
                                                  'TiB', 'PiB'], precision=2):
        index = 0
        while 1. * bytes / factor**index  factor and index  len(labels)-1:
                index += 1
        return ('%.*lf %s') % (precision, 1.*bytes/factor**index, 
 labels[index])



 --
 Andrea
 ___
 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] Turbopascal??

2011-01-09 Per discussione Marcello
Ma android USA java, Quindi java non e poi cosi morto...
Il giorno 09/gen/2011 16.11, Andrea Ambu andrea...@gmail.com ha scritto:
 2011/1/9 Enrico Franchi enrico.fran...@gmail.com:
 Infatti anche Cobol e' piu' o meno vivo come uno zombie.
 Va in giro, e si sostenta mangiando il cervello dei viventi.
 Ecco, anche Java e' un po' cosi'. Hai ragione. ;)


 In questo senso hai ragione anche tu! Anche se mi dispiace di piu` per
 quelli che devono mantenere codice Cobol oggi che per quelli che
 manterranno codice Java tra trent'anni :P


 --
 Andrea
 ___
 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] Turbopascal??

2011-01-08 Per discussione Marcello
Agreed
Il giorno 08/gen/2011 20.03, Simone Federici s.feder...@gmail.com ha
scritto:
 Per l'esame di terza media alcuni ragazzi hanno portato dei programmini
 matematici
 in python.

 Secondo me python è molto educativo e facile per imparare anche i
rudimenti
 della programmazione.

 S

 On Sat, Jan 8, 2011 at 19:55, Marco Beri marcob...@gmail.com wrote:

 Cito da http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html:


 Programming language Python has become programming language of 2010. This
 award is given to the programming language that gained most market share
in
 2010. Python grew 1.81% since January 2010. This is a bit more than
runner
 up Objective-C (+1.63%). Objective-C was favorite for the title for a
long
 time thanks to the popularity of Apple's iPhone and iPad platforms.
However,
 it lost too much popularity the last couples of months.

 Python has become the de facto standard in system scripting (being a
 successor of Perl in this), but it is used for much more different types
of
 application areas nowadays. Python is for instance very popular among
web
 developers, especially in combination with the Django framework. *Since
 Python is easy to learn, more and more universities are using Python to
 teach programming languages.*


 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] Turbopascal??

2011-01-03 Per discussione Marcello
Penso che Python sarebbe un linguaggio fantastico per essere
insegnato nelle scuole, per via della sua pulizia;
solo dovrebbe essere conosciuto.

2011/1/3 Giorgio Zoppi giorgio.zo...@gmail.com:
 Il 02 gennaio 2011 22:02, Marco Fochesato marco...@libero.it ha scritto:
 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!!

 Ho visto progetti fatto con questo: http://www.freepascal.org/
 o in Delphi. Si tratta di roba legacy che arriva da fine anni novanta
 ma non piu in turbo pascal.

 --
 Quiero ser el rayo de sol que cada día te despierta
 para hacerte respirar y vivir en me.
 Favola -Moda.
 ___
 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 IDE

2010-12-24 Per discussione Marcello
Grazie Marco,
e` molto interessante davvero.
Ciao,
Mars

2010/12/23 Marco Beri marcob...@gmail.com:
 Ho trovato questa interessante discussione su
 Stackflow: http://stackoverflow.com/questions/81584/what-ide-to-use-for-python
 Ciao.
 Marco.

 --
 http://thinkcode.tv/gratis - Capire in 15 minuti cosa può fare Python
 http://stacktrace.it - Aperiodico di resistenza informatica
 http://python.thinkcode.tv - Videocorso di Python
 http://beri.it - Blog di una testina di vitello


 ___
 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] libri

2010-07-19 Per discussione Marcello
http://www.python.it/doc/Howtothink/Howtothink-html-it/index.htm

2010/7/12 Riccardo mancuso mancuso.riccard...@gmail.com:
 trovato !

 http://www.gentoo.it/Programmazione/byteofpython.pdf

 ma bisogna registrarsi su gentoo.it per potermo scaricare.
 ciao


 Il giorno 12 luglio 2010 10.38, Valerio Turturici
 turturici.vale...@gmail.com ha scritto:


 Il giorno 12 luglio 2010 10.36, Riccardo mancuso
 mancuso.riccard...@gmail.com ha scritto:

 ok. grazie.
 cercavo un pdf in modo da poterlo stampare e leggere comodamente il testo
 direttamente dalla carta...


 Non so se ci sia un pdf in italiano. Puoi stampare ugualmente le pagine
 anche dalla versione web.

 --
 Valerio Turturici
 -- http://www.slashproject.altervista.org/ --


 ___
 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] regexp

2010-07-17 Per discussione Marcello
Ciao :)
Alla ricerca di una risposta chiedo:

Dato che:
sim_identifier = re.compile(r'(?Psimid[a-zA-Z]+[\w_$]*)')
esc_identifier = re.compile(r'(?Pescid\w*)')

Come posso combinare le due regexp?
sin_indentifier = come concatenare (con un OR x esempio) le 2 regexp sopra?



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


Re: [Python] regexp

2010-07-17 Per discussione Marcello Dusini
Grazie Enrico!
La mia domanda era un po' diversa: sn stato troppo conciso, temo.
Cerco di riformulare meglio: chi non ha testa ha gambe!
Mi domandavo: si puó fare una cosa del tipo:
SIM_id = ((P=simid)|(P=escid))
Ossia riferirmi alle regex tramite i nomi per non generare regex illeggibili x 
gli altri...
Credo che il mio problema sia più un problema di sintassi. 
Sxo essere stato + chiaro :)

Mars

Il giorno 17/lug/2010, alle ore 17:51, Enrico Franchi 
enrico.fran...@gmail.com ha scritto:

 
 On Jul 17, 2010, at 5:45 PM, Marcello wrote:
 
 Come posso combinare le due regexp?
 sin_indentifier = come concatenare (con un OR x esempio) le 2 regexp sopra?
 
 
 Fare una regex combinata! | e' l'or nelle regex. Occhio alle parentesi.
 E' anche possibile che sia piu' efficiente l'or sul match. Non saprei dirti.
 
 -enrico
 
 ___
 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] R: Problema con GTKTreeView in Glade

2007-11-30 Per discussione Marcello
Come mi hai suggerito ho messo

def SelezioneImpianto(TreeViewColumn,path, *arg):
  tua_riga = path[0]
  print tua_riga

ma questo mi restituisce solo la posizione sul TreeView e non la voce che ho
selezionato.
Hai qualche altra idea?

Ciao 
Marcello



-Messaggio originale-
Da: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Per conto di Marco Bonifazi
Inviato: venerdì 30 novembre 2007 11.51
A: Discussioni generali sul linguaggio Python
Oggetto: Re: [Python] Problema con GTKTreeView in Glade

On Nov 25, 2007 2:19 PM, Marcello. [EMAIL PROTECTED] wrote:
 Ho 2 problemi con Glade e GtkTreeView.

 Eseguendo il Prg mi si apre correttamente la finsestra fatta con Glade 
 e si popola di dati presi da un DB.
 Adesso ho la necessità di sapere su quale record ho cliccato con il 
 mouse, quindi ho aggiunto in 'Signals' del Widget 'GtkTreeView' 
 row_activated  l'evento 'on_ElencoImpianti_row_activated' ma non so (e 
 non ho trovato niente in
 rete) come passare questi parametri a ' def SelezioneImpianto(*args):'


da qualche parte devi aver fatto

tua_tree_view.connect(row-activated, self.SelezioneImpianto) ma ho visto
che usi Glade, quindi dovrebbe andar bene quello che fai tu, anche se il
segnale si chiama row-activated e non row_activated ed
on_ElencoImpianti_row_activate dovrebbe essere l'handler.

Poi per catturare il segnale

def SelezioneImpianto(treeview, cell, path, *arg):
   tua_riga = path[0]




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


[Python] R: Problema con GTKTreeView in Glade

2007-11-29 Per discussione Marcello
Non ho ancora risolto il mio problema, sono giorni che sbatto la testa
inutilmente.
Qualcuno può anche darmi uno spunto, o postarmi un esempio per risolvere il
mio problema.
Grazie
Marcello



-Messaggio originale-
Da: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Per conto di Marcello.
Inviato: domenica 25 novembre 2007 14.19
A: 'Discussioni generali sul linguaggio Python'
Oggetto: [Python] Problema con GTKTreeView in Glade

Ho 2 problemi con Glade e GtkTreeView.

Eseguendo il Prg mi si apre correttamente la finsestra fatta con Glade e si
popola di dati presi da un DB.
Adesso ho la necessità di sapere su quale record ho cliccato con il mouse,
quindi ho aggiunto in 'Signals' del 
Widget 'GtkTreeView' row_activated  l'evento
'on_ElencoImpianti_row_activated' ma non so (e non ho trovato niente in
rete) come passare questi parametri a ' def SelezioneImpianto(*args):'

Secondo problema devo ordinare i dati che visualizzo. Ho utilizzato:
model.set_sort_column_id (col1, gtk.SORT_ASCENDING)
se al posto di 'col1' metto 'col2' o 'col3' o 'col4' mi ordina in base ai
campi.
Il mio problema è ordinare i campi dalla finestra( Bottone o altra
soluzione).
Ho letto che è possibile ordinare i dati cliccando sull'intestazione della
colonna, ma non so proprio come mettelo in pratica.
Ringrazio chi possa aiutarmi
Ciao  *




def finestra():
ApplicazioneGlade = gtk.glade.XML(C:\TelesisSw\window.glade)
EventiGlade ={on_FinestraPrincipale_delete_event:gtk.main_quit,

on_ElencoImpianti_row_activated:SelezioneImpianto,
  }
ApplicazioneGlade.signal_autoconnect(EventiGlade)
elencoimpianti = ApplicazioneGlade.get_widget('ElencoImpianti')
elencoimpianti.get_selection().set_mode(gtk.SELECTION_SINGLE)
model = gtk.ListStore(str, str, str, str)
col1,col2,col3,col4 = range(4)
s = odbc.odbc(DataBase) # mi collego al DSN
cur = s.cursor()
cur.execute(select NomeImpianto ,CodiceImpianto, NomeSW,
TipoCentrale from Impianti where Gestione = '+gestione+')
dati = cur.fetchall()
for dato in dati:
var1=str(dato[0])
var2=str(dato[1])
var3=str(dato[2])
var4=str(dato[3])
record = model.append([var1,var2,var3,var4])
cur.close()
elencoimpianti.set_model(model)
cell = gtk.CellRendererText()
column1 = gtk.TreeViewColumn(  - Nome Impianto  - , cell, text =
col1)
column1.set_resizable (True)
elencoimpianti.append_column (column1)
column2 = gtk.TreeViewColumn( - Codice Impianto - , cell, text =
col2)
column2.set_resizable (True)
elencoimpianti.append_column (column2)
column3 = gtk.TreeViewColumn(Personalizzatore, cell, text = col3)
column3.set_resizable (True)
elencoimpianti.append_column (column3)
column4 = gtk.TreeViewColumn(Centrale, cell, text = col4)
column4.set_resizable (True)
elencoimpianti.append_column (column4)
  model.set_sort_column_id (col1, gtk.SORT_ASCENDING)
gtk.main()
def SelezioneImpianto(*args):
print 'Hai cliccato su '+' ' +NomeImpianto+' ' +CodiceImpianto+' '
+NomeSW+' ' +TipoCentrale


___
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] Problema con GTKTreeView in Glade

2007-11-25 Per discussione Marcello.
Ho 2 problemi con Glade e GtkTreeView.

Eseguendo il Prg mi si apre correttamente la finsestra fatta con Glade e si
popola di dati presi da un DB.
Adesso ho la necessità di sapere su quale record ho cliccato con il mouse,
quindi ho aggiunto in 'Signals' del 
Widget 'GtkTreeView' row_activated  l'evento
'on_ElencoImpianti_row_activated' ma non so (e non ho trovato niente in
rete) come passare questi parametri a ' def SelezioneImpianto(*args):'

Secondo problema devo ordinare i dati che visualizzo. Ho utilizzato:
model.set_sort_column_id (col1, gtk.SORT_ASCENDING)
se al posto di 'col1' metto 'col2' o 'col3' o 'col4' mi ordina in base ai
campi.
Il mio problema è ordinare i campi dalla finestra( Bottone o altra
soluzione).
Ho letto che è possibile ordinare i dati cliccando sull'intestazione della
colonna, ma non so proprio come mettelo in pratica.
Ringrazio chi possa aiutarmi
Ciao  *




def finestra():
ApplicazioneGlade = gtk.glade.XML(C:\TelesisSw\window.glade)
EventiGlade ={on_FinestraPrincipale_delete_event:gtk.main_quit,

on_ElencoImpianti_row_activated:SelezioneImpianto,
  }
ApplicazioneGlade.signal_autoconnect(EventiGlade)
elencoimpianti = ApplicazioneGlade.get_widget('ElencoImpianti')
elencoimpianti.get_selection().set_mode(gtk.SELECTION_SINGLE)
model = gtk.ListStore(str, str, str, str)
col1,col2,col3,col4 = range(4)
s = odbc.odbc(DataBase) # mi collego al DSN
cur = s.cursor()
cur.execute(select NomeImpianto ,CodiceImpianto, NomeSW,
TipoCentrale from Impianti where Gestione = '+gestione+')
dati = cur.fetchall()
for dato in dati:
var1=str(dato[0])
var2=str(dato[1])
var3=str(dato[2])
var4=str(dato[3])
record = model.append([var1,var2,var3,var4])
cur.close()
elencoimpianti.set_model(model)
cell = gtk.CellRendererText()
column1 = gtk.TreeViewColumn(  - Nome Impianto  - , cell, text =
col1)
column1.set_resizable (True)
elencoimpianti.append_column (column1)
column2 = gtk.TreeViewColumn( - Codice Impianto - , cell, text =
col2)
column2.set_resizable (True)
elencoimpianti.append_column (column2)
column3 = gtk.TreeViewColumn(Personalizzatore, cell, text = col3)
column3.set_resizable (True)
elencoimpianti.append_column (column3)
column4 = gtk.TreeViewColumn(Centrale, cell, text = col4)
column4.set_resizable (True)
elencoimpianti.append_column (column4)
  model.set_sort_column_id (col1, gtk.SORT_ASCENDING)
gtk.main()
def SelezioneImpianto(*args):
print 'Hai cliccato su '+' ' +NomeImpianto+' ' +CodiceImpianto+' '
+NomeSW+' ' +TipoCentrale


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