Re: [Python] Agile programming Robert Martin

2014-09-30 Per discussione Strap
 
 
 Salve a tutti,
 

Ciao Massimo

 [...] Ho visto che l'autore di questi video ha pubblicato questo 
libro:
  
 http://www.amazon.it/Clean-Code-Handbook-Software-
Craftsmanship/dp/0132350882
  

E` uno dei tanti libri che un programmatore dovrebbe leggere nella vita, 
imho :-)


 e leggendo alcuni sample del libro mi chiedevo se:
 
 - a un modesto pythonista come il sottoscritto potesse servire a 
migliorare il suo codice

Credo di si`.

 - se il manuale possa essere utilizzato anche in ambito Python
 

Ti direi di si`.

 qualcuno di voi lo ha mai letto e, in caso affermativo, che 
impressioni e benefici ne ha ricavato?
 

L'ho letto qualche tempo fa, ma l'ho in backlog per rileggerlo.
Le impressioni sono buone, magari alcune parti sono un po' noiose, ma 
dipende dal lettore :-)

Alla fine, un libro letto in piu` e` sempre cultura che ti porti a casa.

 un cordiale saluto a tutti
 

Sani
Strap


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


Re: [Python] Conoscete per python 2.7 un package analogo al package aiohttp di python 3.4?

2014-09-30 Per discussione Strap
 
 Ciao a tutti,

Ciao Marco,

 
 ho visto che il package Trollius per python 2.7 svolge la maggior
 parte delle funzioni di Asyncio (python 3.4).
 
 Conoscete per python 2.7 un package analogo al package aiohttp di python 
3.4?
 

Mah... Tornado o Twisted?
Vero che sono dei framework, ma fanno diligentemente il loro lavoro, sono 
Python 2.7 compatibili.
Prova a dare un occhio prima a Tornado e poi a Twisted, di mio preferirei 
il primo per il tuo use case.

HTH
Sani
Strap






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


Re: [Python] Conoscete per python 2.7 un package analogo al package aiohttp di python 3.4?

2014-09-30 Per discussione Marco Ippolito
Grazie Sani,
ci guardo subito.

Marco
___
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 carlos.catu...@gmail.com
ha scritto:


 2014-09-29 21:45 GMT+02:00 Gian Mario Tagliaretti g.tagliare...@gmail.com
 :


 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


Re: [Python] Libreria GUI

2014-09-30 Per discussione Simone Dalla
Il 29 settembre 2014 20:50, Piacenza Federico
piacenza.feder...@gmail.com 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


[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: Response [200]')
('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] Agile programming Robert Martin

2014-09-30 Per discussione Manlio Perillo
2014-09-29 18:25 GMT+02:00 Massimo Capanni massimo.capa...@gmail.com:

 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] 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 ciclo permette l'inserimento dei primi di 

Re: [Python] Agile programming Robert Martin

2014-09-30 Per discussione Carlos Catucci
2014-09-30 11:38 GMT+02:00 Manlio Perillo manlio.peri...@gmail.com:

 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(nome) 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


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] Fine del mio primo programma

2014-09-30 Per discussione Manlio Perillo
2014-09-30 12:24 GMT+02:00 Fabrizio Soppelsa fsoppelsa...@yandex.com:

 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] 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] 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 marco.bu...@gmail.com 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] Agile programming Robert Martin

2014-09-30 Per discussione Massimo Capanni
Il giorno 30 settembre 2014 12:06, Carlos Catucci carlos.catu...@gmail.com
ha scritto:


 2014-09-30 11:38 GMT+02:00 Manlio Perillo manlio.peri...@gmail.com:

 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(nome) 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 Gollum1
Il 30 settembre 2014 16:13:59 CEST, Piacenza Federico 
piacenza.feder...@gmail.com 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