Re: [python] cherrypy + ajax

2008-04-21 Tema obsahu Marek Palatinus
Upřímně, moc jsem to s tím WAPem nepochopil. Jak to souvisí s online a
automatickým získáváním informací ze serveru?

> Doporučuji použít řešení s javascriptem a setInterval. Rozhodně bych
> ale volil delší timeouty ... ten příklad se čtením logu počítá spíš s
> jednouživatelským webem, než s masovou záležitostí.

Přesně tak. Snažil jsem se jen nastínit (podle mě) vhodné a jednoduché
řešení problému, který sám využívám. Podobně (princip HTTP poolingu;
samozřejmě bez javascriptu a pythonu) řeší například jabber klienti
komunikaci se serverem v případě provozu přes http proxy (tj. v případě
restriktivní sítě, kde nelze vytvářet klasické síťové socketové spojení).
Klient pošle požadavek na jabber server a ten mu vrátí response zabalený v
HTTP hlavičce buď po nějakém časovém timeoutu nebo _přesně_ ve chvíli, kdy
od někoho příjde zpráva.

Konkrétní timeouty a celkově nastavení toho mechanismu samozřejmě závisí od
aplikace a plánovaného zatížení, o tom žádná.

S pozdravem
MP

2008/4/21 Lukoko <[EMAIL PROTECTED]>:

> On 21 Dub, 19:40, "Jaroslav Lukesh" <[EMAIL PROTECTED]> wrote:
> > - Original Message -
> > From: "Vlada Macek" <[EMAIL PROTECTED]>
> >
> > > Web prostě na to není dělaný, potřebujete zřejmě nativního klienta s
> > > vlastním protokolem typu PUSH.
> >
> > Taky by se na to dal použít WAP, ale už netuším jak je to s PUSH
> podporou
> > pokud neprovozuje vlastní WAP server u operátora ale jen http s wapovými
> > stránkami u sebe.
>
> To nebude asi to správné řešení. Jednak by byla potřeba vlastni sms
> gateway (postačí GSM modem připojený k pc), nebo se připojit na
> nějakého agregátora SMS služeb. Ale to asi taky nebylo to pravé
> ořechové, protože u O2 trvá třeba 10 minut, než doručí přes
> partnerskou sms gateway.
> Doporučuji použít řešení s javascriptem a setInterval. Rozhodně bych
> ale volil delší timeouty ... ten příklad se čtením logu počítá spíš s
> jednouživatelským webem, než s masovou záležitostí.
> Jinak cherryPy fandim ... moc příjemně se pod ním píše.
> ___
> Python mailing list
> Python@py.cz
> http://www.py.cz/mailman/listinfo/python
>



-- 
gtalk/jabber:[EMAIL PROTECTED] <[EMAIL PROTECTED]>
email/msn:[EMAIL PROTECTED] <[EMAIL PROTECTED]>
icq:360-737-802
tel:+420 724 249 422
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] cherrypy + ajax

2008-04-21 Tema obsahu Lukoko
On 21 Dub, 19:40, "Jaroslav Lukesh" <[EMAIL PROTECTED]> wrote:
> - Original Message -
> From: "Vlada Macek" <[EMAIL PROTECTED]>
>
> > Web prostě na to není dělaný, potřebujete zřejmě nativního klienta s
> > vlastním protokolem typu PUSH.
>
> Taky by se na to dal použít WAP, ale už netuším jak je to s PUSH podporou
> pokud neprovozuje vlastní WAP server u operátora ale jen http s wapovými
> stránkami u sebe.

To nebude asi to správné řešení. Jednak by byla potřeba vlastni sms
gateway (postačí GSM modem připojený k pc), nebo se připojit na
nějakého agregátora SMS služeb. Ale to asi taky nebylo to pravé
ořechové, protože u O2 trvá třeba 10 minut, než doručí přes
partnerskou sms gateway.
Doporučuji použít řešení s javascriptem a setInterval. Rozhodně bych
ale volil delší timeouty ... ten příklad se čtením logu počítá spíš s
jednouživatelským webem, než s masovou záležitostí.
Jinak cherryPy fandim ... moc příjemně se pod ním píše.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] PyQt4 a problém se signály

2008-04-21 Tema obsahu Petr Vaněk
On po 21. dubna 2008, Jan Kundrát wrote:
> Dusan Zatkovsky wrote:
> > ShortQuestion nie je potomok ziadneho QWidget-u.
>
> Musi to byt potomek QObject-u, nikoli QWidget-u.

coz shodou okolnosti je v tomto pripade jedno.

QObject -> QWidget

p.


signature.asc
Description: This is a digitally signed message part.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] PyQt4 a problém se signály

2008-04-21 Tema obsahu Jan Kundrát
Dusan Zatkovsky wrote:
> ShortQuestion nie je potomok ziadneho QWidget-u.

Musi to byt potomek QObject-u, nikoli QWidget-u.

-jkt

-- 
cd /local/pub && more beer > /dev/mouth
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] cherrypy + ajax

2008-04-21 Tema obsahu Jaroslav Lukesh

- Original Message - 
From: "Vlada Macek" <[EMAIL PROTECTED]>

> Web prostě na to není dělaný, potřebujete zřejmě nativního klienta s
> vlastním protokolem typu PUSH.

Taky by se na to dal použít WAP, ale už netuším jak je to s PUSH podporou 
pokud neprovozuje vlastní WAP server u operátora ale jen http s wapovými 
stránkami u sebe. 

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] cherrypy + ajax

2008-04-21 Tema obsahu Vlada Macek
Ing. Vladislav Ludík wrote:
> Zdravím všechny  :-) ,
> metodu Ajax jsem nasadil na Cherrypy server a neuspěl jsem příliš.
> V podstatě jde jen o to, dostat okamžitě po změně dat na serveru
> (běžícím pod Cherrypy, což asi není podstatné)
> změněná data na klientskou stránku.
Chcete-li změny vidět skutečně v rámci mžiknutí oka, vyberte si jinou
implementaci klient-server, než je webový prohlížeč a server. Snížíte-li
periody požadavků na desítky milisekund, zatížíte jak klienta, tak server.

Web prostě na to není dělaný, potřebujete zřejmě nativního klienta s
vlastním protokolem typu PUSH.

-- 
\//\/\


begin:vcard
fn:Vlada Macek
n:Macek;Vlada
adr:;;;Liberec;;;Czech Republic
email;internet:[EMAIL PROTECTED]
title:Software || Networking && UNIX
tel;cell:+420 608 978 164
note;quoted-printable:GPG info: key 0x1F059424, fingerprint 1494 F8DD 6379 4CD7 E7E3 1FC9 D7504=
	243 1F05 9424=0D=0A=
	=0D=0A=
	When you find a virus in mail from me, then I intended to infect you, sin=
	ce I use SW that is not distributing malware w/o my knowledge.=0D=0A=
	=0D=0A=
	
x-mozilla-html:FALSE
url:http://macek.sandbox.cz
version:2.1
end:vcard

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] PyQt4 a problém se signály

2008-04-21 Tema obsahu Martin Stiborský
> ShortQuestion nie je potomok ziadneho QWidget-u.

Jo takhle to funguje ... ok, děkuji velice.
Košér to asi není, pokusím se na tom zapracovat.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] PyQt4 a problém se signály

2008-04-21 Tema obsahu Dusan Zatkovsky
On Mon 21. April 2008 15:26:01 Martin Stiborský wrote:
> Zasílám kus kódu, kde mám onen nefungující signál ... šoupnul jsem to
> na pastebin, bude to přehlednější ...
>
> http://www.pastebin.cz/show/5135

ShortQuestion nie je potomok ziadneho QWidget-u.

A ani to vytvorenie GUI nie je uplne koser. Tu je o tom nejaky pokec: 
ttp://doc.trolltech.com/4.4rc1/designer-using-a-component.html



--
Dusan
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] PyQt4 a problém se signály

2008-04-21 Tema obsahu Martin Stiborský
Zasílám kus kódu, kde mám onen nefungující signál ... šoupnul jsem to
na pastebin, bude to přehlednější ...

http://www.pastebin.cz/show/5135

Po kliknutí na tlačítko, by se na stdout mělo vypsat "hoho", neděje se
vůbec nic :(
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] cherrypy + ajax

2008-04-21 Tema obsahu Marek Palatinus
2008/4/21 Jaroslav Lukesh <[EMAIL PROTECTED]>:

> Ajax není PUSH, ale PULL


Jde to jednoduse nasimulovat:

V JS udelejte bezny setInterval s periodou cca 1s (klidne i mene), ve volane
funkci vytvarejte request na serveru.
V pythonu na serveru po requestu z javascriptu zkontrolujte, jestli se
provedla ta akce, na kterou javascript ceka. Pokud ne, pockejte sekundu
(klidne i mene) a test opakujte max x-krat, pote v nejhorsim vratte prazdny
request. Jedina nevyhoda toho mechanismu je vyssi pocet connection na
serveru pri paralelnim pristupu k aplikaci (request neni vyrizen behem
0.00nic sekundy, ale muze tam viset treba 10 sekund), zato efekt je super -
pouzivam to u sveho ajax vieweru logu apache2.

Na zaver prikladam kus kodu (psano pomoci jQuery a Pythonu) pod licenci
"delejte si s tim co chcete" :-) :

//funkce volana po 100ms v javascriptu, ziskava XML a parsuje do stranky
function checkLog() {
user = $('#seluser').val()
log = $('#sellog').val()

if(!user || !log || working) return;

$('#status').text('reading...')
working = true

$.get('log.py/show?user='+user+'&log='+log+'&size='+size+'&filter='+$('#filter').val(),
function(data) {

working = false
$('#logarea').prepend($('data', data).text())

if($('#logarea').text().length > 100) {
$('#logarea').text($('#logarea').text().substr(0,90))
}

size = $('size', data).text()
$('#status').text('')
})
}

# funkce v pythonu resici HTTP pooling, vraci data pokud jsou, jinak ceka
par sekund
def show(req, user, log, size, filter):
global logpath

if user == '_master':
logfile = "%s/%s"%(logpath, log)
else:
logfile = "%s/%s/%s"%(logpath, user, log)

fp = open(logfile, 'r')

size = int(size)
if size == 0:
size = os.path.getsize(logfile)
size -= min(size, 3000)
fp.seek(size)
lines = _readlinesWait(fp, filter)
del lines[0]
else:
fp.seek(size)
lines = _readlinesWait(fp, filter)

size = os.path.getsize(logfile)
fp.close()

ret = ''
for l in lines:
ret = "%s%s"%(l, ret)

return "%s%s"%(size, ret)

def _readlinesWait(fp, filter):
tries = 5
while(tries):
tmp = fp.readlines()
lines = []

for l in tmp:
if filter != '' and l.find(filter) == -1:
continue

if l.find('log.py/') == -1:
lines.append(l)

if len(lines): break

tries -= 1
time.sleep(1)

return lines

Snad Vam to k necemu bude prospesne...

S pozdravem
MP
-- 
gtalk/jabber:[EMAIL PROTECTED] <[EMAIL PROTECTED]>
email/msn:[EMAIL PROTECTED] <[EMAIL PROTECTED]>
icq:360-737-802
tel:+420 724 249 422
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python