Re: [Python] domandina veloce su django.

2014-06-16 Per discussione ~redShadow~
On 06/13/2014 04:28 PM, mauro wrote:
 Ho un paio di script che girano su dei server che si dovrebbero interfacciare 
 con un db il cui management e' invece seguito da una bella interfaccia django.
 
 Ora, questi script possono benissimo collegarsi al db con i classici metodi, 
 facendo le varie query direttamente utilizzando i vari moduli tipo mysqldb. 
 Visto che dall'altra parte del muro, lo stesso db e' gestito attraverso 
 django, pensavo si potesse fare di importare solo i moduli che mi servono per 
 accedere al db e vivere felice usando la stessa identica sintassi che uso nel 
 framework.
 non ho trovato esempi pratici per fare questa cosa.


Il mio consiglio é: esponi delle API dalla tua applicazione e usa quelle
per interfacciarti da componenti esterne: mantenere un loose coupling
di questo tipo da molti vantaggi, quali mantenere la logica
centralizzata in un punto, piú comoditá quando aggiorni i modelli (se
mantieni le API retrocompatibili, puoi fare quel che vuoi sul database
senza dover modificare anche tutti gli script esterni), etc. etc.

Se poi gli script sono solo cose di maintenance, tipo job schedulati
di qualche tipo e non veri e propri servizi, forse ti conviene
semplicemente aggiungere un comando al manage.py di django, da lanciare
quando serve..

(scusa per la risposta di fretta, se serve qualche chiarimento la
riformulo meglio :))


Ciao


-- 
  Samuele ~redShadow~ Santi

--


  (  Contact information  )

   E-MAIL:  redsha...@hackzine.org
 BLOG:  http://www.hackzine.org
 WIKI:  http://wiki.hackzine.org
  TWITTER:  https://twitter.com/_rshk
   GITHUB:  https://github.com/rshk


  (  GPG Key: 09F09951  )

  1AFC FAE5 CA4B 3FB0 F300 FA64 3CB0 1008 09F0 9951


 (  Registered Linux-User: #440008  )

  DEBIAN User since 2004 (I even used Sid!)
 GENTOO User since 2008-01-01


--

  Think about the environment: for each top-posted, badly quoted
  or bulk e-mail I receive, I'm going to cut down a tree.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Strana eccezione

2014-05-06 Per discussione ~redShadow~
On 05/06/2014 10:28 AM, piergiorgio pancino wrote:
 if __name__ == '__main__':
 try:
 csv_rapportino=ftp_connection.ftp_importazione()
 db=SQLServer_connection.DB_connection().connect()
 
 ...

 except:
 sys.exit()
 
 finally:
 csv_rapportino.__exit__()
 db.__exit__()

Dal (poco) codice che hai postato sembra che i due oggetti
ftp_connection e SQLServer_connection vadano usati cosí:


if __name__ == '__main__':
with (ftp_connection.ftp_importazione() as csv_rapportino,
  SQLServer_connection.DB_connection().connect() as db):

# resto del codice nel try: originale qui


Questo perché:

- lo statement with si occupa di chiamare __exit__() all'uscita dal
blocco, indipendentemente dal fatto che si sia verificata un'eccezione
nel mezzo o meno
(https://docs.python.org/2/reference/compound_stmts.html#the-with-statement)

- sempre with si occupa anche di chiamare __enter__() all'entrata del
blocco (non conosoco le classi che stai usando, ma é anche possibile che
la connessione venga effettuata lí..)

- non nascondere le eccezioni quando non serve: quell'``except:
sys.exit()`` é completamente inutile (in caso di eccezione non gestita,
l'interprete sa che deve terminare l'esecuzione con codice di errore)
peró maschera un traceback potenzialmente utile per capire cosa é andato
storto..


-- 
  Samuele ~redShadow~ Santi

--


  (  Contact information  )

   E-MAIL:  redsha...@hackzine.org
 BLOG:  http://www.hackzine.org
 WIKI:  http://wiki.hackzine.org
  TWITTER:  https://twitter.com/_rshk
   GITHUB:  https://github.com/rshk


  (  GPG Key: 09F09951  )

  1AFC FAE5 CA4B 3FB0 F300 FA64 3CB0 1008 09F0 9951


 (  Registered Linux-User: #440008  )

  DEBIAN User since 2004 (I even used Sid!)
 GENTOO User since 2008-01-01


--

  Think about the environment: for each top-posted, badly quoted
  or bulk e-mail I receive, I'm going to cut down a tree.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] pywebkit

2014-01-16 Per discussione ~redShadow~
On 01/15/2014 06:03 PM, mauro wrote:
 Un caloroso salve a tutti.
 
 Vorrei chiedere aiuto e forse anche conforto spiriturale circa un problemino 
 su cui mi sto dissanguando da un po' di giorni.
 
 ho la necessita' di usare webkit per interagire con un server web dove c'e' 
 piu' javascript che anima. In giro non mi pare di aver visto  prodotti che 
 possano tirar su una pagina html infarcita di javascript e gestirsela meglio 
 di webkit.
 
 il codice, grosso modo deve caricarsi la pagina che gli indico (portandosi 
 appresso, per l'appunto tutto il codice javascript), lanciare una semplice 
 chiamata e ritornarmi un valore da usare nel resto dell'applicazione python.
 
 A parte che non si trova documentazione fatta bene per pywebkit manco 
 ammazzato. Ho usato tutti i vari esempi trovati in rete, riferimenti sul sito 
 webkit ufficiale e ricerche a 360 gradi.
 
 questo il codice:
 
 
 import webkit
 
 w = webkit.WebView()
 w.load_uri('http://192.168.9.1')
 w.execute_script('document.title = STR_AJAX_VALUE')
 print w.get_main_frame().get_title()

 il problema non e' il come fare perche' questo script, eseguito in una 
 shell, 
 digitato a manina, riga per riga all'interno dell'interprete python
 funziona perfettamente e non sbaglia un colpo.

Penso derivi dal fatto che load_uri() non aspetta che la pagina sia
caricata / dom inizializzato / tutti gli script eseguiti, mentre quando
inserisci i comandi nell'interprete fai una pausa che da' il tempo
necessario al caricamento.

Giusto per fare una prova, questo dovrebbe funzionare:

import time
import webkit

w = webkit.WebView()
w.load_uri('http://192.168.9.1')
time.sleep(3)
w.execute_script('document.title = STR_AJAX_VALUE')
print w.get_main_frame().get_title()


Ovviamente non é il metodo piú pulito per fare questa cosa, ma quello
sleep di 3 secondi dovrebbe dare tempo agli script della pagina di
terminare l'esecuzione; un metodo piú pulito puó essere quello di
wrappare il codice javascript in un handler dell'evento load, in modo
da garantire l'esecuzione *dopo* al resto del javascript della pagina,
anche se, anche in quel caso, la chiamata é asincrona, quindi devi
comunque trovare un modo di bloccare fino all'esecuzione del tuo
script (penso / spero che esista qualche modo di catturare eventi
javascript attraverso l'oggetto WebView, comunque..).



-- 
  Samuele ~redShadow~ Santi

--


  (  Contact information  )

   E-MAIL:  redsha...@hackzine.org
 BLOG:  http://www.hackzine.org
 WIKI:  http://wiki.hackzine.org
  TWITTER:  https://twitter.com/_rshk
   GITHUB:  https://github.com/rshk


  (  GPG Key: 09F09951  )

  1AFC FAE5 CA4B 3FB0 F300 FA64 3CB0 1008 09F0 9951


 (  Registered Linux-User: #440008  )

  DEBIAN User since 2004 (I even used Sid!)
 GENTOO User since 2008-01-01


--

  Think about the environment: for each top-posted, badly quoted
  or bulk e-mail I receive, I'm going to cut down a tree.



signature.asc
Description: OpenPGP digital signature
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Meetup post-EuroPython a Milano

2013-06-15 Per discussione ~redShadow~
Salve a tutti, prima cosa mi presento dato che questo é il mio primo
messaggio alla ML, anche se sono iscritto da un po': sono Samuele, di
Como, mi occupo principalmente di sviluppo applicazioni web legate al
big data. Tendenzialmente frequento le community internazionali,
soprattutto su IRC, peró é bello anche organizzare eventi locali e
conoscersi di persona.

Volevo segnalarvi che stiamo organizzando un incontro post-europython a
Milano, per conoscerci, scambiare idee (e anche fare un riassunto a chi
si é perso la conferenza).

La data é stata fissata indicativamente al 17 luglio ma si puó cambiare
in seguito, come pure la location (proposte?).

Il link all'evento su meetup:

http://www.meetup.com/Python-Milano/events/124601592/


-- 
Samuele ~redShadow~ Santi
--

   redshadow[at]hackzine.org - http://hackzine.org
 rshk@GitHub - hackzine@twitter - redshadow@freenode

 /[A-Za-z0-9\-_]*\[at\][A-Za-z0-9\-_]*\[dot\][a-zA-Z]*/

  --- GPG Key 0x09F09951 ---
  1AFC FAE5 CA4B 3FB0 F300 FA64 3CB0 1008 09F0 9951

 Registered Linux-User: #440008
  DEBIAN User since 2004 (I used even Sid!)
 GENTOO User since 2008-01-01



signature.asc
Description: OpenPGP digital signature
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python