Re: [Python] Libreria GUI

2014-09-30 Per discussione Gollum1
Il 30 settembre 2014 16:13:59 CEST, Piacenza Federico 
 ha scritto:

>scusate l'ignoranza nell'uso delle citazioni ma scrivo sui forum 'una
>volta
>ogni morto de papa' :) grazie a tutti comunque

Infatti, questo non è un forum, ma una mailing list... è leggermente diversa. 
Il fatto di scrivere una volta ogni morte di papa non esime dal rispettare 
comunque le regole.

E comunque nessuno nasce imparato, non preoccuparti, alla prima avvertiamo, poi 
scattano le rappresaglie... ;)
byez
-- 
Tesssoro... dov'è il mio tesssoro.
http:\\www.gollumone.it
Inviato dal mio cellulare Android con K-9 Mail, scusate gli errori di battitura.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Agile programming Robert Martin

2014-09-30 Per discussione Massimo Capanni
Il giorno 30 settembre 2014 12:06, Carlos Catucci 
ha scritto:

>
> 2014-09-30 11:38 GMT+02:00 Manlio Perillo :
>
>> Senza passare tra due estremi opposti, i commenti servono se fanno il
>> loro dovere, ossia commentare del codice che altrimenti potrebbe non essere
>> di immediata comprensione.  Per fare questo devono essere scritti bene e
>> tenuti aggiornati.
>
>
> Il commento tra tripli apici subito dopo la dichiarazione di classe o
> metodo in python che poi diviene l'output del comando help() e'
> secondo il mio modesto parere una delle cose piu' intelligenti che esistano.
>
> Certo vanno scritti bene, e aggiornati.
>
> Carlos
> --
> EZLN ... Para Todos Todo ...
>
>
​sono d'accordo, infatti nel tutorial l'autore suggerisce proprio ​

​l'utilizzo dei commenti per la distribuzione delle librerie o segnalazioni
particolari.
Comunque, grazie dei pareri, gentilissimi come sempre :-)

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


Re: [Python] Libreria GUI

2014-09-30 Per discussione Piacenza Federico
> Se vuoi usare le Qt con Python, oltre a PyQt c'e' anche un altro binding:
http://qt-project.org/wiki/PySide
> PS. http://it.wikipedia.org/wiki/Top-posting

scusate l'ignoranza nell'uso delle citazioni ma scrivo sui forum 'una volta
ogni morto de papa' :) grazie a tutti comunque

Il giorno 30 settembre 2014 15:04, Marco Buttu  ha
scritto:

> On 30/09/2014 09:52, Piacenza Federico wrote:
>
>> per ora mi sono buttato su wxPython poiche non sono riuscito ad
>> installare PyQT5 sotto windows 7.
>>
>
> Se vuoi usare le Qt con Python, oltre a PyQt c'e' anche un altro binding:
>
> http://qt-project.org/wiki/PySide
>
>
> PS. http://it.wikipedia.org/wiki/Top-posting
>
> --
> Marco Buttu
>
> INAF-Osservatorio Astronomico di Cagliari
> Via della Scienza n. 5, 09047 Selargius (CA)
> Phone: 070 711 80 217
> Email: mbu...@oa-cagliari.inaf.it
>
>
> ___
> 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] Libreria GUI

2014-09-30 Per discussione Marco Buttu

On 30/09/2014 09:52, Piacenza Federico wrote:
per ora mi sono buttato su wxPython poiche non sono riuscito ad 
installare PyQT5 sotto windows 7.


Se vuoi usare le Qt con Python, oltre a PyQt c'e' anche un altro binding:

http://qt-project.org/wiki/PySide


PS. http://it.wikipedia.org/wiki/Top-posting

--
Marco Buttu

INAF-Osservatorio Astronomico di Cagliari
Via della Scienza n. 5, 09047 Selargius (CA)
Phone: 070 711 80 217
Email: mbu...@oa-cagliari.inaf.it

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


Re: [Python] Fine del mio primo programma

2014-09-30 Per discussione Manlio Perillo
2014-09-30 12:24 GMT+02:00 Fabrizio Soppelsa :

> On 09/30/2014 01:43 PM, Andrea Congiu wrote:
>
>> Buon giorno lista, ho terminato il mio primo codice il quale funziona
>> come volevo.
>>
>> Se avete voglia potete dagli un'occhiata? Desidererei dei suggerimenti
>> su come renderlo più leggibile e ordinato
>>
>
>
Il suggerimento principale è di definire una funzione per ciascun compito.
Il secondo suggerimento è di separare la interfaccia utente dalla logica
del programma.

1) scrivi del codice per convertire delle coordinate (da stringa) nel
formato interno
che ti risulta più comodo.
Questo può essere una classe o più semplicemente una named tuple, con i
gradi,
primi e secondi

2) scrivi una funzione per validare che le coordinate siano valide
(questa parte la puoi anche integrare in 1)

3) scrivi delle funzioni per la conversione dal tuo formato interno a
quelli esterni

4) scrivi una funzione per l'inserimento dei dati nel database

5) implementa la UI

La parte più complessa è il parsing delle coordinate, perchè ci sono molte
alternative.
La soluzione va scelta tra quella che permette di ridurre la duplicazione
del codice e avere una buona gestione degli errori, che vanno segnalati
all'utente.

> [...]

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


Re: [Python] Fine del mio primo programma

2014-09-30 Per discussione Fabrizio Soppelsa

On 09/30/2014 01:43 PM, Andrea Congiu wrote:

Buon giorno lista, ho terminato il mio primo codice il quale funziona
come volevo.

Se avete voglia potete dagli un'occhiata? Desidererei dei suggerimenti
su come renderlo più leggibile e ordinato


Se ci tieni alla leggibilita', per compatibilita' con i terminali 
potresti cominciare con il limitare la lunghezza delle righe a 79 char: 
http://legacy.python.org/dev/peps/pep-0008/#maximum-line-length


Se scrolli in alto questa pagina, potrai iniziare anche a leggere le 
raccomandazioni per lo stile.


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


Re: [Python] Agile programming Robert Martin

2014-09-30 Per discussione Carlos Catucci
2014-09-30 11:38 GMT+02:00 Manlio Perillo :

> Senza passare tra due estremi opposti, i commenti servono se fanno il loro
> dovere, ossia commentare del codice che altrimenti potrebbe non essere di
> immediata comprensione.  Per fare questo devono essere scritti bene e
> tenuti aggiornati.


Il commento tra tripli apici subito dopo la dichiarazione di classe o
metodo in python che poi diviene l'output del comando help() e'
secondo il mio modesto parere una delle cose piu' intelligenti che esistano.

Certo vanno scritti bene, e aggiornati.

Carlos
-- 
EZLN ... Para Todos Todo ...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Fine del mio primo programma

2014-09-30 Per discussione Andrea Congiu
Buon giorno lista, ho terminato il mio primo codice il quale funziona
come volevo.

Se avete voglia potete dagli un'occhiata? Desidererei dei suggerimenti
su come renderlo più leggibile e ordinato
su come potrei ottimizzarlo con funzioni più avanzate e, non intendo una
riscrittura del codice da parte vostra ma una cosa tipo: il while alla
riga x potresti sostituirlo con ... (mi basta lo spunto poi la studierei
io per imparare cose nuove).

Breve descrizione del:

Il programma permette l'inserimento di alcuni parametri, ne controlla
che rientrino in determinati range e controlla che il tipo di carattere
sia quello giusto. Finiti gli input fa delle conversioni e gli stampa a
monitor. I valori inseriti e calcolati gli infila in un db SQL e apre
una pagina internet di una mappa e posiziona il punto delle coordinate.

Scritto con Python 3 su linux mint 17

Grazie

saluti

andrea
#!/usr/bin/python
# -*- coding: utf-8 -*-

import os
import datetime
import sqlite3
import webbrowser
import urllib.request
import urllib.error
import socket

# ## Definisco le funzioni #

# Funzione per pulire la Bash dalle scritte e dai valori immessi, così facendo avrò a monitor solo il riepilogo e le conversioni
def pulisci():
 os.system("clear")
pulisci()

# Funzione per lasciare 2 righe vuote -- Questa è una funzione ricorsiva in quanto richiama se stessa --
def vuote(n):
print(os.linesep * n)

# --  Fine della definizione delle funzioni-

vuote(2)


#  Definisco le variabili fisse 

data = today = datetime.date.today()
ora = 0  # Trovare il modo di memorizzare l'ora attuale
GPSMapDatum = "WGS-84"
Meridiano = "Greenwich"

#  Fine della definizione delle variabili fisse 

# Messaggio iniziale stampato a monitor; \n scrive ciò che segue nella riga sottostante
print("Questo codice permette all'utente di convertire delle coordinate geografiche espresse in Gradi Primi e Secondi\nnelle due notazioni: Gradi e Primi e Gradi\nCrea i seguenti standard:stringa NMEA che è lo standard delle unità GPS riceventi\nstandard Web per aprire la mappa di Google e lo standard digiKam\nI valori digitati e quelli calcolati saranno inseriti in un data base SQL nominato coordinate.db")
vuote(2)


#  Inserimento e controllo tramite input dei parametri delle coordinate geografiche 

#  Inserimento del nome e della descrizione 
print("\033[33m Inserisci i valori che il programma ti chiederà \033[0m")
print()

nome = input("Inserisci un nome per le coordinate geografiche (massimo 15 caratteri): ")
conta_nome = len(nome)
while conta_nome not in range(16):
print("\033[36m ATTENZIONE --- Valore non consentito - massimo 15 caratteri --- ATTENZIONE\033[0m")
print()
nome = input("Inserisci un nome per le coordinate geografiche (massimo 15 caratteri): ")
conta_nome = len(nome)
print()

descrizione = input("Inserisci una breve descrizione per le coordinate geografiche (massimo 40 caratteri): ")
conta_descrizione = len(descrizione)
while conta_descrizione not in range(41):
print("\033[36m ATTENZIONE --- Valore non consentito - massimo 40 caratteri --- ATTENZIONE\033[0m")
print()
descrizione = input("Inserisci una breve descrizione per le coordinate geografiche (massimo 40 caratteri): ")
conta_descrizione = len(descrizione)
print()

# --- Inserimento dei riferimenti e dei valori delle coordinate geografiche (latitudine) ---
print("Valori di Latitudine")
print()

GPSLatitudeRef = input("Inserisci il riferimento della Latitudine; N=Nord S=Sud: ")
GPSLatitudeRef = GPSLatitudeRef.upper()
while GPSLatitudeRef not in ("S", "N"):
print("\033[36m ATTENZIONE --- Valore non consentito --- ATTENZIONE\033[0m")
print()
GPSLatitudeRef = input("Inserisci N per Nord oppure S per Sud: ")
GPSLatitudeRef = GPSLatitudeRef.upper()

# Questo ciclo permette l'inserimento dei gradi di latitudine e ne controlla che lo stesso sia all'interno di un range e che sia un numero e non una lettera
while True:
try:
lat_g = int(input("Inserisci i gradi di latitudine; con un valore compreso tra 0 e 90: "))
while lat_g not in range (91):
print("\033[36m ATTENZIONE --- Valore non consentito --- ATTENZIONE\033[0m")
print()
lat_g = int(input("Inserisci i gradi di latitudine; con un valore compreso tra 0 e 90: "))
break
except ValueError:
print("\033[36m ATTENZIONE --- Valore non consentito --- Inserisci solo numeri da 0 a 90 --- ATTENZIONE\033[0m")
print()

# Questo 

Re: [Python] Agile programming Robert Martin

2014-09-30 Per discussione Manlio Perillo
2014-09-29 18:25 GMT+02:00 Massimo Capanni :

> Salve a tutti,
>
> tramite un amico programmatore ho visto alcuni video tutorial di Robert C.
> Martin e mi hanno partcolarmente incuriosito (venti minuti dedicati solo
> all'inutilità dei commenti nel codice sorgente mi ha abbastanza spiazzato).
>

Senza passare tra due estremi opposti, i commenti servono se fanno il loro
dovere, ossia commentare del codice che altrimenti potrebbe non essere di
immediata comprensione.  Per fare questo devono essere scritti bene e
tenuti aggiornati.

Alcuni progetti (come git) impongono anche dei messaggi di log in un DVCS
che permettano di capire quali modifiche siano state fatte senza dover
leggere in dettaglio la patch applicata

> [...]

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


[Python] urllib3.connectionpool: idee e suggerimenti?

2014-09-30 Per discussione Marco Ippolito
Ciao a tutti,
sto facendo il porting in python2.7 dello script già funzionante in
python3.4 tratto da:
https://github.com/KeepSafe/aiohttp/blob/master/examples/crawl.py
e sto usando trollius, urli e requests.

Ma eseguendo il file l'output è:
time python crawl_requests.py
http://www.ilsole24ore.com/english-version/front-page.shtml
DEBUG:trollius:Using selector: EpollSelector
('url to do = ', 'http://www.ilsole24ore.com/english-version/front-page.shtml')
('processing:', 'http://www.ilsole24ore.com/english-version/front-page.shtml')
INFO:urllib3.connectionpool:Starting new HTTP connection (1):
www.ilsole24ore.com
DEBUG:urllib3.connectionpool:Setting read timeout to None
DEBUG:urllib3.connectionpool:"GET /english-version/front-page.shtml
HTTP/1.1" 200 13699
('...', 'http://www.ilsole24ore.com/english-version/front-page.shtml',
'has error', "'Task got bad yield: '")
('done:', 1, '; ok:', 0)

Avete qualche suggeriment od idee da darmi?

Lo script è questo:
http://ipaste.org/fLj

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


Re: [Python] Libreria GUI

2014-09-30 Per discussione Simone Dalla
Il 29 settembre 2014 20:50, Piacenza Federico
 ha scritto:
> Salve a tutti,
>
> mi sapreste consigliare una libreria per le GUI in python 2.7 e 3.x; in
> particolare me ne serve una che permetta di implementare il drad-drop.


http://pybee.org/toga/


-- 
Simo

- Registered Linux User #395060

- Software is like sex, it is better when it is free  --> Linus B. Torvalds
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Libreria GUI

2014-09-30 Per discussione Piacenza Federico
per ora mi sono buttato su wxPython poiche non sono riuscito ad installare
PyQT5 sotto windows 7.

grazie comunque

Il giorno 29 settembre 2014 23:14, Carlos Catucci 
ha scritto:

>
> 2014-09-29 21:45 GMT+02:00 Gian Mario Tagliaretti  >:
>
>>
>> cosa ti ha fatto di male questo povero ragazzo?
>
>
> Si tempra ;)
>
> Io la uso, certo ha qualche concetto suo ma poi funzia bene e va su tutto
> incluso i device mobile.
>
> Carlos
> --
> EZLN ... Para Todos Todo ...
>
> ___
> 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