[Python] Verifica di aggiornamento File

2012-06-20 Thread Lorenzo Macchiavelli
Buongiorno a tutti,

Ho realizzato uno script che partendo da un singolo file di template,
ovvero un file html
con markup definito da me; distribuisce parti di codice in vari file
all'inerno di un cms.

ma questo avviene solo alla pressione del tasto invio nella shell
interattiva..
che durante la lavorazione di un progetto si moltiplica per centinaia di
volte.

la mia domanda è la seguente : è possibile che questo avvenga in automatico
ad esempio
ogni volta che salvo il template? come posso fare un listener
sull'aggiornamento del file?

Grazie in anticipo :)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Verifica di aggiornamento File

2012-06-20 Thread Fabrizio Mancini
2012/6/20 Lorenzo Macchiavelli 

> la mia domanda è la seguente : è possibile che questo avvenga in
> automatico ad esempio
> ogni volta che salvo il template? come posso fare un listener
> sull'aggiornamento del file?
>
potrebbe interessarti?
http://pyinotify.sourceforge.net/
Dò per scontato che sei su linux
Ciao Fabrizio
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Verifica di aggiornamento File

2012-06-20 Thread Lorenzo Macchiavelli
Ciao Grazie mille, per la cronaca alla fine ho risolto
con questo script che fa solo uso delle
librerie native..

import time, os

f = open(r"c:\...template.html","r")
while True:
   line = f.readline()
   if not line:
 time.sleep(1)
 print( 'Nothing New')
   else:
 print ('Call Function: ')

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


Re: [Python] Verifica di aggiornamento File

2012-06-20 Thread Marco Beri
On Wed, Jun 20, 2012 at 5:28 PM, Lorenzo Macchiavelli <
lmacchiave...@gmail.com> wrote:

> Ciao Grazie mille, per la cronaca alla fine ho risolto
> con questo script che fa solo uso delle
> librerie native..
>
> import time, os
>
> f = open(r"c:\...template.html","r")
> while True:
>line = f.readline()
>if not line:
>  time.sleep(1)
>  print( 'Nothing New')
>else:
>  print ('Call Function: ')
>

E funziona? Hai provato con due modifiche successive? E se cancelli una
linea?



-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Verifica di aggiornamento File

2012-06-20 Thread Lorenzo Macchiavelli
>
>
>> E funziona? Hai provato con due modifiche successive? E se cancelli una
>> linea?
>
>
 Effettivamente ho solo aggiunto!! :) No no ho risolto!
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Verifica di aggiornamento File

2012-06-20 Thread Giampaolo Rodolà
Il 20 giugno 2012 11:49, Lorenzo Macchiavelli
 ha scritto:
> Buongiorno a tutti,
>
> Ho realizzato uno script che partendo da un singolo file di template, ovvero
> un file html
> con markup definito da me; distribuisce parti di codice in vari file
> all'inerno di un cms.
>
> ma questo avviene solo alla pressione del tasto invio nella shell
> interattiva..
> che durante la lavorazione di un progetto si moltiplica per centinaia di
> volte.
>
> la mia domanda è la seguente : è possibile che questo avvenga in automatico
> ad esempio
> ogni volta che salvo il template? come posso fare un listener
> sull'aggiornamento del file?
>
> Grazie in anticipo :)

Oltre al gia menzionato pyinotify, potrebbe interessarti questa mia recipe:
http://code.activestate.com/recipes/577968-log-watcher-tail-f-log/?in=user-4178764

--- Giampaolo
https://code.google.com/p/pyftpdlib/
https://code.google.com/p/psutil/
https://code.google.com/p/pysendfile/
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Verifica di aggiornamento File

2012-06-20 Thread Manlio Perillo
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Il 20/06/2012 17:28, Lorenzo Macchiavelli ha scritto:
> Ciao Grazie mille, per la cronaca alla fine ho risolto 
> con questo script che fa solo uso delle
> librerie native..
> 
> import time, os
> 
> f = open(r"c:\...template.html","r")
> while True:
>line = f.readline()
>if not line:
>  time.sleep(1)
>  print( 'Nothing New')
>else:
>  print ('Call Function: ')
> 

Puoi anche più semplicemente controllare la data di ultima modifica del
file, per vedere se è stato modificato.


Ciao  Manlio
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk/iHZMACgkQscQJ24LbaUQyTwCgmtjiUBNpcldx3s7WrpOJ9xoW
GPYAni22CDAo3h7Z57bj33HTx6WMMJBA
=Xtyy
-END PGP SIGNATURE-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Verifica di aggiornamento File

2012-06-20 Thread Fabrizio Mancini
On 20 June 2012 20:59, Manlio Perillo  wrote:

> Puoi anche più semplicemente controllare la data di ultima modifica del
> file, per vedere se è stato modificato.
>
Beh, allora a questo punto è meglio farsi un hash md5 del file e
immagazzinarlo da qualche parte.
E' piu sicuro!!! :-) Rimani sempre con le librerie native.
Ciao Fabrizio
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Verifica di aggiornamento File

2012-06-20 Thread Marco Beri
2012/6/21 Fabrizio Mancini 

> On 20 June 2012 20:59, Manlio Perillo  wrote:
>
>> Puoi anche più semplicemente controllare la data di ultima modifica del
>> file, per vedere se è stato modificato.
>>
> Beh, allora a questo punto è meglio farsi un hash md5 del file e
> immagazzinarlo da qualche parte.
> E' piu sicuro!!! :-) Rimani sempre con le librerie native.
>

Beh, uno conto è controllare la data di un file ogni secondo, un altro
conto e aprirlo, leggerlo tutto e calcolare l'MD5, sempre ogni secondo :-)

Io andrei di data di ultima modifica. Non vedo perché dovrebbe essere meno
sicuro.

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Verifica di aggiornamento File

2012-06-20 Thread Fabrizio Mancini
2012/6/21 Marco Beri 

> Beh, uno conto è controllare la data di un file ogni secondo, un altro
> conto e aprirlo, leggerlo tutto e calcolare l'MD5, sempre ogni secondo :-)
>  Io andrei di data di ultima modifica. Non vedo perché dovrebbe essere
> meno sicuro.
>
 Mi ero perso l'"ogni secondo" :-)
se questo è il requisito beh allora concordo con te! :-)
Ciao f
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Verifica di aggiornamento File

2012-06-20 Thread Marco Beri
2012/6/21 Fabrizio Mancini 

> 2012/6/21 Marco Beri 
>
>> Beh, uno conto è controllare la data di un file ogni secondo, un altro
>> conto e aprirlo, leggerlo tutto e calcolare l'MD5, sempre ogni secondo :-)
>>  Io andrei di data di ultima modifica. Non vedo perché dovrebbe essere
>> meno sicuro.
>>
> Mi ero perso l'"ogni secondo" :-)
>

Personalmente quando faccio una modifica mi seccherebbe dover aspettare 10
secondi per vedere il risultato, per cui è un tempo che ho detto io. In
realtà, essendo in sviluppo, farei anche meno :-)

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Verifica di aggiornamento File

2012-06-21 Thread Lorenzo Macchiavelli
Ok !! Allora  Vado di data ogni secondo :)!
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Verifica di aggiornamento File

2012-06-21 Thread Daniele Varrazzo

On Thu, 21 Jun 2012 09:30:02 +0200, Lorenzo Macchiavelli wrote:

Ok !! Allora  Vado di data ogni secondo :)!


Il polling è una soluzione inferiore a notify. Di molto.

--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Verifica di aggiornamento File

2012-06-21 Thread Marco Beri
2012/6/21 Daniele Varrazzo 

> On Thu, 21 Jun 2012 09:30:02 +0200, Lorenzo Macchiavelli wrote:
>
>> Ok !! Allora  Vado di data ogni secondo :)!
>>
>
> Il polling è una soluzione inferiore a notify. Di molto.


Certamente. Concordo anche sul "molto".

Ma:
1) stiamo parlando di ambiente di sviluppo (vuole vedere subito le
modifiche mentre cambia i template)
2) preferiva usare le librerie di sistema

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Verifica di aggiornamento File

2012-06-21 Thread Lorenzo Macchiavelli
Ok Funziona perfettamente! :)

OldFile = ""
CurFile = ""

def controlla():
global OldFile, CurFile

if OldFile != CurFile:
time.sleep(1)
creaSkin()
controlla()

else:
time.sleep(1)
CurFile = time.ctime(os.path.getmtime(file))
controlla()


def creaSkin():
  ...
  ...
 OldFile = time.ctime(os.path.getmtime(file))
 CurFile = time.ctime(os.path.getmtime(file))



Grazie per i consigli! :)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Verifica di aggiornamento File

2012-06-21 Thread Marco Beri
Il giorno 21/giu/2012, alle ore 12:02, Lorenzo Macchiavelli
 ha scritto:

> Ok Funziona perfettamente! :)
>
> OldFile = ""
> CurFile = ""
>
> def controlla():
> global OldFile, CurFile
>
> if OldFile != CurFile:
> time.sleep(1)
> creaSkin()
> controlla()
>
> else:
> time.sleep(1)
> CurFile = time.ctime(os.path.getmtime(file))
> controlla()
>
>
> def creaSkin():
>   ...
>   ...
>  OldFile = time.ctime(os.path.getmtime(file))
>  CurFile = time.ctime(os.path.getmtime(file))


No. Non funzionerà.

Lo scoprirai da solo tra poco.

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


Re: [Python] Verifica di aggiornamento File

2012-06-21 Thread Lorenzo Macchiavelli
No! Lo sto già usando! Funziona perfettamente! :)



2012/6/21 Marco Beri 

> Il giorno 21/giu/2012, alle ore 12:02, Lorenzo Macchiavelli
>  ha scritto:
>
> > Ok Funziona perfettamente! :)
> >
> > OldFile = ""
> > CurFile = ""
> >
> > def controlla():
> > global OldFile, CurFile
> >
> > if OldFile != CurFile:
> > time.sleep(1)
> > creaSkin()
> > controlla()
> >
> > else:
> > time.sleep(1)
> > CurFile = time.ctime(os.path.getmtime(file))
> > controlla()
> >
> >
> > def creaSkin():
> >   ...
> >   ...
> >  OldFile = time.ctime(os.path.getmtime(file))
> >  CurFile = time.ctime(os.path.getmtime(file))
>
>
> No. Non funzionerà.
>
> Lo scoprirai da solo tra poco.
>
> ;-)
> ___
> 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] Verifica di aggiornamento File

2012-06-21 Thread Marco Beri
Il giorno 21/giu/2012, alle ore 12:12, Lorenzo Macchiavelli
 ha scritto:

> No! Lo sto già usando! Funziona perfettamente! :)

Scommettiamo?

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Verifica di aggiornamento File

2012-06-21 Thread Lorenzo Macchiavelli
:) Si effettivamente nel pezzettino che ho postato ,
setto Old E Current assieme! cosa che non ho fatto nel codice che sta
girando
funzionante! ;D
Lorenzo Macchiavelli

web designer



Il giorno 21 giugno 2012 12:16, Marco Beri  ha scritto:

> Il giorno 21/giu/2012, alle ore 12:12, Lorenzo Macchiavelli
>  ha scritto:
>
> > No! Lo sto già usando! Funziona perfettamente! :)
>
> Scommettiamo?
>
> --
> http://beri.it/ - Un blog
> http://beri.it/i-miei-libri/ - Qualche libro
> ___
> 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] Verifica di aggiornamento File

2012-06-21 Thread Marco De Paoli
Il giorno 21 giugno 2012 12:16, Marco Beri  ha scritto:

> Il giorno 21/giu/2012, alle ore 12:12, Lorenzo Macchiavelli
>  ha scritto:
>
> > No! Lo sto già usando! Funziona perfettamente! :)
>
> Scommettiamo?
>

guardando l'orologio mi sa che siamo prossimi all'ora X :-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Verifica di aggiornamento File

2012-06-21 Thread Marco Beri
Il giorno 21/giu/2012, alle ore 12:26, Marco De Paoli 
ha scritto:

Il giorno 21 giugno 2012 12:16, Marco Beri  ha scritto:

> Il giorno 21/giu/2012, alle ore 12:12, Lorenzo Macchiavelli
>  ha scritto:
>
> > No! Lo sto già usando! Funziona perfettamente! :)
>
> Scommettiamo?
>

guardando l'orologio mi sa che siamo prossimi all'ora X :-)


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


Re: [Python] Verifica di aggiornamento File

2012-06-21 Thread Marco Beri
Il giorno 21/giu/2012, alle ore 12:18, Lorenzo Macchiavelli
 ha scritto:

> :) Si effettivamente nel pezzettino che ho postato ,
> setto Old E Current assieme! cosa che non ho fatto nel codice che sta girando
> funzionante! ;D

Il problema non è quello.

Se usi il programma a lungo incontrerai il vero bug.

Riduci il tempo di attesa dello sleep e lo incontri pure prima.

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


Re: [Python] Verifica di aggiornamento File

2012-06-21 Thread Lorenzo Macchiavelli
Lorenzo Macchiavelli

web designer



Il giorno 21 giugno 2012 12:34, Marco Beri  ha scritto:

> Il giorno 21/giu/2012, alle ore 12:18, Lorenzo Macchiavelli
>  ha scritto:
>
> > :) Si effettivamente nel pezzettino che ho postato ,
> > setto Old E Current assieme! cosa che non ho fatto nel codice che sta
> girando
> > funzionante! ;D
>
> Il problema non è quello.
>
> Se usi il programma a lungo incontrerai il vero bug.
>
> Riduci il tempo di attesa dello sleep e lo incontri pure prima.
>
> 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] Verifica di aggiornamento File

2012-06-21 Thread Lorenzo Macchiavelli
>
> Nooo! c'è un limite di chiamate ad una funzione?
>
ancora sta girando!!..


>
>
> Il giorno 21 giugno 2012 12:34, Marco Beri  ha
> scritto:
>
>  Il giorno 21/giu/2012, alle ore 12:18, Lorenzo Macchiavelli
>>  ha scritto:
>>
>> > :) Si effettivamente nel pezzettino che ho postato ,
>> > setto Old E Current assieme! cosa che non ho fatto nel codice che sta
>> girando
>> > funzionante! ;D
>>
>> Il problema non è quello.
>>
>> Se usi il programma a lungo incontrerai il vero bug.
>>
>> Riduci il tempo di attesa dello sleep e lo incontri pure prima.
>>
>> 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] Verifica di aggiornamento File

2012-06-21 Thread Marco Beri
Il giorno 21/giu/2012, alle ore 12:41, Lorenzo Macchiavelli <
lmacchiave...@gmail.com> ha scritto:

Nooo! c'è un limite di chiamate ad una funzione? ancora sta girando!!..


Non esattamente. Ma un limite alle chiamate ricorsive sì.

Prova questo codice:

def funz():
funz()

funz()


Funziona?

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


Re: [Python] Verifica di aggiornamento File

2012-06-21 Thread Lorenzo Macchiavelli
Lorenzo Macchiavelli

web designer



Il giorno 21 giugno 2012 12:51, Marco Beri  ha scritto:

>
> Il giorno 21/giu/2012, alle ore 12:41, Lorenzo Macchiavelli <
> lmacchiave...@gmail.com> ha scritto:
>
>  Nooo! c'è un limite di chiamate ad una funzione? ancora sta girando!!..
>
>
> Non esattamente. Ma un limite alle chiamate ricorsive sì.
>
> Prova questo codice:
>
> def funz():
> funz()
>
> funz()
>
>
> Funziona?
>
> Ciao.
> Marco.
>

 No!! non funziona! e a appena smesso di girare per questo motivo!
Questo mi distrubbe moralmente! :)
Molto BEne!

Ciao


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