Re: [Python] Selenium 2.0 webdriver api python + tutorial

2011-05-17 Per discussione Balan Victor
Inoltre se faccio:
browser=webdriver.Ie() o browser=webdriver.Firefox()
e sono dentro una lan con un proxy impostato ottengo un
keyerror='sessionid'.
Rimuovendo il proxy il tutto funziona, solo che senza proxy non riesco a
navigare in internet!

Il giorno 17 maggio 2011 14:00, Balan Victor  ha
scritto:

> Avevo già considerato questa possibilità però putroppo seleniu ide non è
> compatibile con Firefox 4 e non conosco nessun altro strumento che mi possa
> aiutare in questa operazione. Poi ho un'altro problema, alcune pagine che
> voglio analizzare hanno un layout diverso a seconda che si visualizzino con
> IE o altri browser.
>
> Il giorno 17 maggio 2011 10:56, Riccardo Lemmi  ha
> scritto:
>
> Balan Victor wrote:
>>
>> > Scusate ma non ci salto fuori, soprattutto perché manca la
>> documentazione.
>> > Per esempio ho questo script:
>> >
>> > from selenium import webdriver
>> > browser=webdriver.Firefox()
>> > browser.get('http://www.google.it')
>> >
>> > ora voglio vedere tutte le textbox e tutti i bottoni presenti nella
>> pagina,
>> > come faccio?
>> > grazie
>> >
>>
>> Seleniumhq non ti aiuta ad analizzare la pagina, si usa per eseguire nel
>> browser
>> le operazioni che faresti con la tastiera o il mouse.
>>
>> Io di solito faccio in questo modo:
>>  - uso Selenium IDE per registrare le azioni
>> (http://seleniumhq.org/projects/ide/)
>>  - esporto in python
>>  - ri-fattorizzo il codice in modo da avere delle funzioni base
>> riutilizzabili;
>> di solito riscrivo e semplifico anche gli xpath generati
>>
>> Il risultato di Selenium IDE è una cosa del genere:
>>
>> from selenium import selenium
>> import unittest, time, re
>>
>> class Untitled(unittest.TestCase):
>>def setUp(self):
>>self.verificationErrors = []
>>self.selenium = selenium("localhost", , "*chrome",
>> "https://addons.mozilla.org/";)
>>self.selenium.start()
>>
>>def test_untitled(self):
>>sel = self.selenium
>>sel.open("/en-US/firefox/addon/selenium-expert-selenium-ide/")
>>sel.click("//div[@id='masthead']/h1/a")
>>sel.wait_for_page_to_load("3")
>>sel.click(u"link=Continue reading ?")
>>sel.wait_for_page_to_load("3")
>>
>>def tearDown(self):
>>self.selenium.stop()
>>self.assertEqual([], self.verificationErrors)
>>
>> if __name__ == "__main__":
>>unittest.main()
>>
>>
>> > Il giorno 13 maggio 2011 20:03, Balan Victor 
>> ha
>> > scritto:
>> >
>> >> grazie,
>> >> è sono tutti link che ho già visitato solo li ho trovati un po
>> complessi
>> >> per me, per questo mi sono rivolto alla mailing list.
>> >> Proverò a sforzarmi e vedo cosa riesco a tirare fuori.
>> >>
>> >> Ho altra domanda, oltre all'ide disponibile come plugin per Firefox
>> esiste
>> >> qualche ide che permette di registrare le azioni compiute e generare
>> codice
>> >> python in automatico?
>> >>
>>
>> Selenium IDE permette sia di registrare le azioni che esportare i comandi
>> in
>> vari linguaggi tra cui python (options -> format).
>>
>>
>> >> Il giorno 13 maggio 2011 14:49, Riccardo Lemmi 
>> ha
>> >> scritto:
>> >>
>> >> Balan Victor wrote:
>> >>>
>> >>> > qualche settimana fa ho aperto una discussione riguardo strumenti
>> per
>> >>> > automatizzare operazioni su pagine web.
>> >>> > Qualcuno di vuoi mi ha suggerito selenium. Ho provato a vedere il
>> sito,
>> >>> > documentazione ecc. Ho visto che c'è la versione 2.0 alias
>> webdriver.
>> >>> > Tuttavia non riesco a capire se la nuova versione supporta anche
>> python
>> >>> o
>> >>> > solo java e c#. Sul sito ufficiale ho trovato solo riferimenti a
>> java e
>> >>> c#.
>> >>> > Inoltre non ho trovato nessuna guida/tutorial/api che descriva
>> meglio il
>> >>> > funzionamento di questo software.
>> >>> > Qualcuno mi sa aiutare a trovare qualche risorsa?
>> >>> > Grazie
>> >>>
>> >>> La libreria per collegarti al Selenium Remote Control:
>> >>>  http://pypi.python.org/pypi/selenium
>> >>>
>> >>> La documentazione (minimale) della libreria è qui:
>> >>>  http://code.google.com/p/selenium/wiki/PythonBindings
>> >>>
>> >>> ma è meglio se guardi il codice:
>> >>>
>> >>>
>> http://code.google.com/p/selenium/source/browse/#svn%2Ftrunk%2Fpy%2Fselenium
>> >>>
>> >>> I comandi del controller:
>> >>>
>> >>>
>> http://seleniumhq.org/docs/02_selenium_ide.html#selenium-commands-selenese
>> >>>
>> >>> --
>> >>>   Riccardo Lemmi
>> >>>
>> >>> ___
>> >>> Python mailing list
>> >>> Python@lists.python.it
>> >>> http://lists.python.it/mailman/listinfo/python
>> >>>
>> >>
>> >>
>>
>> --
>>Riccardo Lemmi
>>
>> ___
>> 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] StaticText esterno a StaticBoxSizer

2011-05-17 Per discussione Nicola Ferrari
E posizionare i singoli elementi con posizione assoluta (e quindi senza
sizer)?
Vorrei sapere quali sono i pro di utilizzare i sizer..(E' giusto una
curiosità, visto che sei la seconda persona che mi consiglia di usarli...)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Selenium 2.0 webdriver api python + tutorial

2011-05-17 Per discussione Balan Victor
Avevo già considerato questa possibilità però putroppo seleniu ide non è
compatibile con Firefox 4 e non conosco nessun altro strumento che mi possa
aiutare in questa operazione. Poi ho un'altro problema, alcune pagine che
voglio analizzare hanno un layout diverso a seconda che si visualizzino con
IE o altri browser.

Il giorno 17 maggio 2011 10:56, Riccardo Lemmi  ha
scritto:

> Balan Victor wrote:
>
> > Scusate ma non ci salto fuori, soprattutto perché manca la
> documentazione.
> > Per esempio ho questo script:
> >
> > from selenium import webdriver
> > browser=webdriver.Firefox()
> > browser.get('http://www.google.it')
> >
> > ora voglio vedere tutte le textbox e tutti i bottoni presenti nella
> pagina,
> > come faccio?
> > grazie
> >
>
> Seleniumhq non ti aiuta ad analizzare la pagina, si usa per eseguire nel
> browser
> le operazioni che faresti con la tastiera o il mouse.
>
> Io di solito faccio in questo modo:
>  - uso Selenium IDE per registrare le azioni
> (http://seleniumhq.org/projects/ide/)
>  - esporto in python
>  - ri-fattorizzo il codice in modo da avere delle funzioni base
> riutilizzabili;
> di solito riscrivo e semplifico anche gli xpath generati
>
> Il risultato di Selenium IDE è una cosa del genere:
>
> from selenium import selenium
> import unittest, time, re
>
> class Untitled(unittest.TestCase):
>def setUp(self):
>self.verificationErrors = []
>self.selenium = selenium("localhost", , "*chrome",
> "https://addons.mozilla.org/";)
>self.selenium.start()
>
>def test_untitled(self):
>sel = self.selenium
>sel.open("/en-US/firefox/addon/selenium-expert-selenium-ide/")
>sel.click("//div[@id='masthead']/h1/a")
>sel.wait_for_page_to_load("3")
>sel.click(u"link=Continue reading ?")
>sel.wait_for_page_to_load("3")
>
>def tearDown(self):
>self.selenium.stop()
>self.assertEqual([], self.verificationErrors)
>
> if __name__ == "__main__":
>unittest.main()
>
>
> > Il giorno 13 maggio 2011 20:03, Balan Victor 
> ha
> > scritto:
> >
> >> grazie,
> >> è sono tutti link che ho già visitato solo li ho trovati un po complessi
> >> per me, per questo mi sono rivolto alla mailing list.
> >> Proverò a sforzarmi e vedo cosa riesco a tirare fuori.
> >>
> >> Ho altra domanda, oltre all'ide disponibile come plugin per Firefox
> esiste
> >> qualche ide che permette di registrare le azioni compiute e generare
> codice
> >> python in automatico?
> >>
>
> Selenium IDE permette sia di registrare le azioni che esportare i comandi
> in
> vari linguaggi tra cui python (options -> format).
>
>
> >> Il giorno 13 maggio 2011 14:49, Riccardo Lemmi  ha
> >> scritto:
> >>
> >> Balan Victor wrote:
> >>>
> >>> > qualche settimana fa ho aperto una discussione riguardo strumenti per
> >>> > automatizzare operazioni su pagine web.
> >>> > Qualcuno di vuoi mi ha suggerito selenium. Ho provato a vedere il
> sito,
> >>> > documentazione ecc. Ho visto che c'è la versione 2.0 alias webdriver.
> >>> > Tuttavia non riesco a capire se la nuova versione supporta anche
> python
> >>> o
> >>> > solo java e c#. Sul sito ufficiale ho trovato solo riferimenti a java
> e
> >>> c#.
> >>> > Inoltre non ho trovato nessuna guida/tutorial/api che descriva meglio
> il
> >>> > funzionamento di questo software.
> >>> > Qualcuno mi sa aiutare a trovare qualche risorsa?
> >>> > Grazie
> >>>
> >>> La libreria per collegarti al Selenium Remote Control:
> >>>  http://pypi.python.org/pypi/selenium
> >>>
> >>> La documentazione (minimale) della libreria è qui:
> >>>  http://code.google.com/p/selenium/wiki/PythonBindings
> >>>
> >>> ma è meglio se guardi il codice:
> >>>
> >>>
> http://code.google.com/p/selenium/source/browse/#svn%2Ftrunk%2Fpy%2Fselenium
> >>>
> >>> I comandi del controller:
> >>>
> >>>
> http://seleniumhq.org/docs/02_selenium_ide.html#selenium-commands-selenese
> >>>
> >>> --
> >>>   Riccardo Lemmi
> >>>
> >>> ___
> >>> Python mailing list
> >>> Python@lists.python.it
> >>> http://lists.python.it/mailman/listinfo/python
> >>>
> >>
> >>
>
> --
>Riccardo Lemmi
>
> ___
> 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] Passare perametri a/tra classi

2011-05-17 Per discussione Marco Mariani
2011/5/17 M@T 


Scusate se non ho risposto prima ma stavo cercando di arrangiarmi (anche
> leggendo l'articolo sopra), ma ho ancora qualche problema...
>

fermo un attimo...


   def __init__(self, data, largestscale=1, notes=0, order=2,
> scaling='linear',omega0=5):


Questo __init__, con omega0=5, e' metodo della classe Morlet. La classe Cwt
rimane com'era, con la differenza che eredita da (object).
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Passare perametri a/tra classi

2011-05-17 Per discussione M@T




A chi ha postato la domanda inizialmente: ignora questo link. Oppure, se
lo leggi, salta direttamente alle conclusioni (dove dice *come* si usa
super, evidentemente dopo che gli hanno corretto tutte le cappellate che ha
scritto prima).

Ciao
Rieccomi.
Scusate se non ho risposto prima ma stavo cercando di arrangiarmi (anche 
leggendo l'articolo sopra), ma ho ancora qualche problema...


Ho modificato il codice così:
"
class Cwt(object):
fourierwl=1.00

def _log2(self, x):
return int( NP.log(float(x))/ NP.log(2.0)+0.0001 )

def __init__(self, data, largestscale=1, notes=0, order=2, 
scaling='linear',omega0=5):
super(Morlet, self).__init__(data, largestscale=1, notes=0, 
order=2, scaling='linear')

self._omega0 = omega0
ndata = len(data)

self.order=order
self.scale=largestscale
self._setscales(ndata,largestscale,notes,scaling)
self.cwt= NP.zeros((self.nscale,ndata), NP.complex64)
omega= 
NP.array(range(0,ndata/2)+range(-ndata/2,0))*(2.0*NP.pi/ndata)

datahat=NP.fft.fft(data)
self.fftdata=datahat
for scaleindex in range(self.nscale):
currentscale=self.scales[scaleindex]
self.currentscale=currentscale  # for internal use
s_omega = omega*currentscale
psihat=self.wf(s_omega)
psihat = psihat *  NP.sqrt(2.0*NP.pi*currentscale)
convhat = psihat * datahat
W= NP.fft.ifft(convhat)
self.cwt[scaleindex,0:ndata] = W
return

def _setscales(self,ndata,largestscale,notes,scaling):
if scaling=="log":
if notes<=0: notes=1
# adjust nscale so smallest scale is 2
noctave=self._log2( ndata/largestscale/2 )
self.nscale=notes*noctave
self.scales=NP.zeros(self.nscale,float)
for j in range(self.nscale):
self.scales[j] = 
ndata/(self.scale*(2.0**(float(self.nscale-1-j)/notes)))

elif scaling=="linear":
nmax=ndata/largestscale/2
self.scales=NP.arange(float(2),float(nmax))
self.nscale=len(self.scales)
else: raise ValueError, "scaling must be linear or log"
return

def getdata(self):
return self.cwt
def getcoefficients(self):
return self.cwt
def getpower(self):
return (self.cwt* NP.conjugate(self.cwt)).real
def getscales(self):
return self.scales
def getnscale(self):
return self.nscale
"""
# wavelet classes
class Morlet(Cwt):
_omega0=0.001 ##5.0
fourierwl=4* NP.pi/(_omega0+ NP.sqrt(2.0+_omega0**2))
def wf(self, s_omega):
H=(s_omega>0)*1.
xhat=0.75112554*( NP.exp(-(s_omega-self._omega0)**2/2.0))*H
return xhat

"""
Se lo richiamo con

cw=Morlet(A,maxscale,notes,scaling=scaling,omega0=5)

Mi da errore:
super(Morlet, self).__init__(data, largestscale=1, notes=0, order=2, 
scaling='linear')

RuntimeError: maximum recursion depth exceeded while calling a Python object

Spero di non spazientirvi troppo.
Ho provato l'esempio dell'articolo ma non mi funziona... quindi non 
riesco a fare prove accurate.
Lo scopo (penso si sia capito) è di attribuire un determinato valore a 
_omega0 nella classe Morlet

Quindi non dovrebbe essere così il comando super??

def __init__(self, data, largestscale=1, notes=0, order=2, 
scaling='linear',omega0=5):

super(Morlet, self).__init__(omega0=5)
self._omega0 = omega0

Idee?
Scusate l'ingnoranza ma sto cercando di imparare
Grazie a tutti per le risposte
Ciao
Matteo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] StaticText esterno a StaticBoxSizer

2011-05-17 Per discussione Giuseppe Amato
> L'ho installato ma sinceramente ho delle difficoltà a capire come
> utilizzarlo...
>
>
http://wxglade.sourceforge.net/tutorial.php


> Così facendo lboxsizer occupa tutto il Panel...
>

Si infatti. La gerarchia solita che utilizzo io di solito è

frame
-sizer
--panel
---sizer
sizer1
-oggetti in sizer1
.
.
.
sizern
-oggetti in sizern

Facendo così ti devi gestire solo la disposizione di sizer1...sizern perchè
il resto si allinea automaticamente.

Prova a dare uno sguardo a wxdocs and demos
http://www.wxpython.org/download.php alla voce sizer e vedrai che ci sono
molti modi per ottenere lo stesso risultato.

-- 
--
Giuseppe Amato
e-mail: giuam...@gmail.com
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Passare perametri a/tra classi

2011-05-17 Per discussione Marco Mariani
2011/5/17 Gasparini Andrea 

Boh. Infatti io ho sempre letto quell'articolo come una spiegazione su
> come usare super() e come non farlo. Non ho mai trovato da nessuna
> parte altre discussioni a proposito.
>

si potrebbe semplificare dicendo che l'ereditarieta' multipla "e' piu' la
fatica che il gusto"



> [ oppure l'ho letto dopo che ha corretto queste incredibili cappellate? ]
> Se avete link sull'argomento, son curioso
>

Il buon Simionato ha scritto un'enciclopedia sul super(), mixin e
quant'altro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Passare perametri a/tra classi

2011-05-17 Per discussione Gasparini Andrea
2011/5/17 Daniele Varrazzo :
> On Tue, 17 May 2011 12:08:01 +0200, Marco Mariani 
> wrote:
>> On 17 May 2011 11:47, Gasparini Andrea  wrote:
>>
>>
>>>  e giusto per completezza:
>>>  http://fuhm.net/super-harmful/
>>>
>>
>> Ancora quel post, mi sembrava fosse stato debunkato per esteso sei anni
> fa
>> dal trio Van Rommum-Martelli-Eby.
>
> +1. Quel tizio non c'ha capito molto e si lamenta che in caso di uso
> scorretto si super, non funziona... doh.
>
> A chi ha postato la domanda inizialmente: ignora questo link. Oppure, se
> lo leggi, salta direttamente alle conclusioni (dove dice *come* si usa
> super, evidentemente dopo che gli hanno corretto tutte le cappellate che ha
> scritto prima).

Boh. Infatti io ho sempre letto quell'articolo come una spiegazione su
come usare super() e come non farlo. Non ho mai trovato da nessuna
parte altre discussioni a proposito.
[ oppure l'ho letto dopo che ha corretto queste incredibili cappellate? ]
Se avete link sull'argomento, son curioso

cià.
--
- gaspa -
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Passare perametri a/tra classi

2011-05-17 Per discussione Daniele Varrazzo
On Tue, 17 May 2011 12:08:01 +0200, Marco Mariani 
wrote:
> On 17 May 2011 11:47, Gasparini Andrea  wrote:
> 
> 
>>  e giusto per completezza:
>>  http://fuhm.net/super-harmful/
>>
> 
> Ancora quel post, mi sembrava fosse stato debunkato per esteso sei anni
fa
> dal trio Van Rommum-Martelli-Eby.

+1. Quel tizio non c'ha capito molto e si lamenta che in caso di uso
scorretto si super, non funziona... doh.

A chi ha postato la domanda inizialmente: ignora questo link. Oppure, se
lo leggi, salta direttamente alle conclusioni (dove dice *come* si usa
super, evidentemente dopo che gli hanno corretto tutte le cappellate che ha
scritto prima).


-- 
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] Passare perametri a/tra classi

2011-05-17 Per discussione Marco Mariani
On 17 May 2011 11:47, Gasparini Andrea  wrote:


>  e giusto per completezza:
>  http://fuhm.net/super-harmful/
>

Ancora quel post, mi sembrava fosse stato debunkato per esteso sei anni fa
dal trio Van Rommum-Martelli-Eby.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Passare perametri a/tra classi

2011-05-17 Per discussione Gasparini Andrea
ciao

On Tue, May 17, 2011 at 11:34 AM, Marco Mariani  wrote:
> 2011/5/17 simozack 
>
>> class Morlet(Cwt):
>>  def __init__(self, data, largestscale=1, notes=0, order=2,
>> scaling='linear', omega0=0):
>>    super(Morlet, self).__init__(data, largestscale=1, notes=0,
>> order=2, scaling='linear')
>
> manca
>
> class Cwt(object):

e giusto per completezza:
  http://fuhm.net/super-harmful/

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


Re: [Python] Passare perametri a/tra classi

2011-05-17 Per discussione Marco Mariani
2011/5/17 simozack 

class Morlet(Cwt):
>   def __init__(self, data, largestscale=1, notes=0, order=2,
> scaling='linear', omega0=0):
>super(Morlet, self).__init__(data, largestscale=1, notes=0,
> order=2, scaling='linear')
>

manca

class Cwt(object):
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Passare perametri a/tra classi

2011-05-17 Per discussione simozack
2011/5/17 M@T :

> Però avrei la necessità di passare il parametro _omega0=xxx quando chiamo la
> classe tipo così:
> cw=Morlet(A,maxscale,notes,scaling=scaling,_omega0=5)

Quando si eredita da una classe, se non esplicitato nella nuova
classe, viene lanciato l'__init__ della classe da cui si deriva.
Infatti, se noti l'__init__ della classe Cwt non ha quel parametro.

Per risolvere hai diversi metodi, ma quello che a me piace di più
(solo perché più esplicito) è:

class Morlet(Cwt):
  def __init__(self, data, largestscale=1, notes=0, order=2,
scaling='linear', omega0=0):
super(Morlet, self).__init__(data, largestscale=1, notes=0,
order=2, scaling='linear')
self._omega0 = omega0

E vivi felice.

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


Re: [Python] Selenium 2.0 webdriver api python + tutorial

2011-05-17 Per discussione Riccardo Lemmi
Balan Victor wrote:

> Scusate ma non ci salto fuori, soprattutto perché manca la documentazione.
> Per esempio ho questo script:
> 
> from selenium import webdriver
> browser=webdriver.Firefox()
> browser.get('http://www.google.it')
> 
> ora voglio vedere tutte le textbox e tutti i bottoni presenti nella pagina,
> come faccio?
> grazie
>

Seleniumhq non ti aiuta ad analizzare la pagina, si usa per eseguire nel 
browser 
le operazioni che faresti con la tastiera o il mouse.

Io di solito faccio in questo modo:
  - uso Selenium IDE per registrare le azioni 
(http://seleniumhq.org/projects/ide/)
  - esporto in python
  - ri-fattorizzo il codice in modo da avere delle funzioni base 
riutilizzabili; 
di solito riscrivo e semplifico anche gli xpath generati

Il risultato di Selenium IDE è una cosa del genere:

from selenium import selenium
import unittest, time, re

class Untitled(unittest.TestCase):
def setUp(self):
self.verificationErrors = []
self.selenium = selenium("localhost", , "*chrome", 
"https://addons.mozilla.org/";)
self.selenium.start()

def test_untitled(self):
sel = self.selenium
sel.open("/en-US/firefox/addon/selenium-expert-selenium-ide/")
sel.click("//div[@id='masthead']/h1/a")
sel.wait_for_page_to_load("3")
sel.click(u"link=Continue reading ?")
sel.wait_for_page_to_load("3")

def tearDown(self):
self.selenium.stop()
self.assertEqual([], self.verificationErrors)

if __name__ == "__main__":
unittest.main()


> Il giorno 13 maggio 2011 20:03, Balan Victor  ha
> scritto:
> 
>> grazie,
>> è sono tutti link che ho già visitato solo li ho trovati un po complessi
>> per me, per questo mi sono rivolto alla mailing list.
>> Proverò a sforzarmi e vedo cosa riesco a tirare fuori.
>>
>> Ho altra domanda, oltre all'ide disponibile come plugin per Firefox esiste
>> qualche ide che permette di registrare le azioni compiute e generare codice
>> python in automatico?
>>

Selenium IDE permette sia di registrare le azioni che esportare i comandi in 
vari linguaggi tra cui python (options -> format).


>> Il giorno 13 maggio 2011 14:49, Riccardo Lemmi  ha
>> scritto:
>>
>> Balan Victor wrote:
>>>
>>> > qualche settimana fa ho aperto una discussione riguardo strumenti per
>>> > automatizzare operazioni su pagine web.
>>> > Qualcuno di vuoi mi ha suggerito selenium. Ho provato a vedere il sito,
>>> > documentazione ecc. Ho visto che c'è la versione 2.0 alias webdriver.
>>> > Tuttavia non riesco a capire se la nuova versione supporta anche python
>>> o
>>> > solo java e c#. Sul sito ufficiale ho trovato solo riferimenti a java e
>>> c#.
>>> > Inoltre non ho trovato nessuna guida/tutorial/api che descriva meglio il
>>> > funzionamento di questo software.
>>> > Qualcuno mi sa aiutare a trovare qualche risorsa?
>>> > Grazie
>>>
>>> La libreria per collegarti al Selenium Remote Control:
>>>  http://pypi.python.org/pypi/selenium
>>>
>>> La documentazione (minimale) della libreria è qui:
>>>  http://code.google.com/p/selenium/wiki/PythonBindings
>>>
>>> ma è meglio se guardi il codice:
>>>
>>> http://code.google.com/p/selenium/source/browse/#svn%2Ftrunk%2Fpy%2Fselenium
>>>
>>> I comandi del controller:
>>>
>>> http://seleniumhq.org/docs/02_selenium_ide.html#selenium-commands-selenese
>>>
>>> --
>>>   Riccardo Lemmi
>>>
>>> ___
>>> Python mailing list
>>> Python@lists.python.it
>>> http://lists.python.it/mailman/listinfo/python
>>>
>>
>>

-- 
   Riccardo Lemmi

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


Re: [Python] R: Re: psycopg, cursori e connessioni: tenere occupato un id

2011-05-17 Per discussione Marco De Paoli
ehm, non sono sicuro di aver capito l'esigenza iniziale

forse il problema nasce dal volere usare l'identificativo numerico del ddt
anche come chiave primaria

...perché non tenere due campi distinti?

siano essi: id (vera e propria chiave primaria, tendenzialmente trasparente
all'utente), numero_documento (il numero che l'operatore vede e che viene
poi stampato sui report cartacei: quest'ultimo è quello che l'operatore
considera "numero del ddt")

in questo modo la chiave primaria id la puoi inizializzare/alimentare subito
con una sequence senza bisogno di lock o altro (meccanismo semplice ed
efficente, trovi un sacco di doc ...io ho presente oracle ma immagino che in
posgress il giro sia simile)

il ddt nasce in bozza, e tale rimane fintanto che l'operatore conferma i
dati e "registra" il ddt, solo a quel punto il ddt viene "battezzato" e
riceve un numero_documento univoco

in questo modo non hai il problema di assegnare degli id e poi doverli
revocare (e recuperare/riutilizzare) perché l'operatore cambia idea

L'unico problema che ti rimane è valorizare il campo numero_documento una
volta che l'operatore ha confermato. Beh, qui puoi usare il giro che ti è
già stato detto:
 * lock tabella
 * update set numero_documento=(select max(numero_documento)+1) where id =
 * commit

Da notare che il campo numero_documento può essere tranquillamente
classificato come unique su db. Infatti l'rdbms garantisce che il vincolo
sia soddisfatto esclusivamente sulle righe valorizzata. Questo significa che
puoi permetterti di tenere un numero arbitrario di ddt in bozza senza
fastidi. Sarà l'rdbms poi a garantire che se hanno un valore allora questo è
univoco (anche qui ho presente oracle ma immagino che per posgress sia lo
stesso)

spero di essere stato chiaro, altrimenti chiedi
Marco

2011/5/17 Daniele Varrazzo 

> On Tue, 17 May 2011 08:32:46 +0200 (CEST), "marco...@libero.it"
>  wrote:
> > La notte mi sa che ha portato consiglio.
>
> [snip di deliri con 3 tabelle da tenere in sync]
>
> Meglio se mangi più leggero a cena.
>
>
> --
> Daniele Varrazzo - Develer S.r.l.
> http://www.develer.com
> ___
> 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] Passare perametri a/tra classi

2011-05-17 Per discussione M@T

Ciao a tutti ho un problemino che non riesco a risolvere.
Ho queste 2 classi Cwt e Morlet:

class Cwt:
fourierwl=1.00

def _log2(self, x):
# utility function to return (integer) log2
return int( NP.log(float(x))/ NP.log(2.0)+0.0001 )

def __init__(self, data, largestscale=1, notes=0, order=2, 
scaling='linear'):

"""
Continuous wavelet transform of data

data:data in array to transform, length must be power of 2
notes:   number of scale intervals per octave
largestscale: largest scale as inverse fraction of length
 of data array
 scale = len(data)/largestscale
 smallest scale should be >= 2 for meaningful data
order:   Order of wavelet basis function for some families
scaling: Linear or log
"""
ndata = len(data)
self.order=order
self.scale=largestscale
self._setscales(ndata,largestscale,notes,scaling)
self.cwt= NP.zeros((self.nscale,ndata), NP.complex64)
omega= 
NP.array(range(0,ndata/2)+range(-ndata/2,0))*(2.0*NP.pi/ndata)

datahat=NP.fft.fft(data)
self.fftdata=datahat
for scaleindex in range(self.nscale):
currentscale=self.scales[scaleindex]
self.currentscale=currentscale  # for internal use
s_omega = omega*currentscale
psihat=self.wf(s_omega)
psihat = psihat *  NP.sqrt(2.0*NP.pi*currentscale)
convhat = psihat * datahat
W= NP.fft.ifft(convhat)
self.cwt[scaleindex,0:ndata] = W
return

def _setscales(self,ndata,largestscale,notes,scaling):

if scaling=="log":
if notes<=0: notes=1
# adjust nscale so smallest scale is 2
noctave=self._log2( ndata/largestscale/2 )
self.nscale=notes*noctave
self.scales=NP.zeros(self.nscale,float)
for j in range(self.nscale):
self.scales[j] = 
ndata/(self.scale*(2.0**(float(self.nscale-1-j)/notes)))

elif scaling=="linear":
nmax=ndata/largestscale/2
self.scales=NP.arange(float(2),float(nmax))
self.nscale=len(self.scales)
else: raise ValueError, "scaling must be linear or log"
return

def getdata(self):
return self.cwt
def getcoefficients(self):
return self.cwt
def getpower(self):
return (self.cwt* NP.conjugate(self.cwt)).real
def getscales(self):
return self.scales
def getnscale(self):
return self.nscale

class Morlet(Cwt):
_omega0=5
fourierwl=4* NP.pi/(_omega0+ NP.sqrt(2.0+_omega0**2))
def wf(self, s_omega):
H=(s_omega>0)*1.
xhat=0.75112554*( NP.exp(-(s_omega-self._omega0)**2/2.0))*H
return xhat

Da un altro file importo la classe Morlet con:
from nomefile import Morlet

e poi la richiamo col comando
cw=Morlet(A,maxscale,notes,scaling=scaling)

e tutto funziona!!

Però avrei la necessità di passare il parametro _omega0=xxx quando 
chiamo la classe tipo così:

cw=Morlet(A,maxscale,notes,scaling=scaling,_omega0=5)

ho fatto un po di prove ma non riesco.
Ogni aiuto è ben accetto.
Grazie
Matteo

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


Re: [Python] R: Re: psycopg, cursori e connessioni: tenere occupato un id

2011-05-17 Per discussione Daniele Varrazzo
On Tue, 17 May 2011 08:32:46 +0200 (CEST), "marco...@libero.it"
 wrote:
> La notte mi sa che ha portato consiglio.

[snip di deliri con 3 tabelle da tenere in sync]

Meglio se mangi più leggero a cena.


-- 
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] info su gestione pacchetti di file python

2011-05-17 Per discussione Nicola Larosa
Elisabetta Ronchieri wrote:
> Questo sara' sicuramente il passo da fare successivo agli autotool.

Hai detto autotools? Hai veramente detto autotools? Spero vivamente tu
non abbia detto autotools.

Nel caso tu abbia detto autotools, le mie più sentite condoglianze.

-- 
Nicola Larosa - http://www.tekNico.net/

Articles in the literature of procrastination often allude
to the author's own problems with finishing the piece.
(This article will be no exception.)
 - James Surowiecki, October 2010
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python