Re: [python] Nesrozumitelne prirazovaci prikazy zamichane mezidefinice standalone funkci v modulu

2007-07-09 Tema obsahu Jan Matejka

Mozna pomuze tento priklad:


def dekoruj_funkci(f): #funkce, ktera vytvari FUNKCI 
def dekorovana(): #vytvorime novou funkci obalujici funkci f
print pred volanim
f()
print po volani
return dekorovana

def index():
print index

index=dekoruj_funkci(index) #prekryjeme puvodni funkci index (do promenne
index vlozime novy obsah (funkci) navraceny funkci dekoruj_funkci)
index() #volani prekryte fynkce


Jan Matejka

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


Re: [python] Reports

2007-06-29 Tema obsahu Jan Matejka
Za zvážení stojí cesta přes HTML a tisk pomocí wxPython, který má k tomuto
účelu prostředky.
Jan Matějka

 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On 
 Behalf Of mtip
 Sent: Friday, June 29, 2007 1:54 PM
 To: python@py.cz
 Subject: [python] Reports
 
 Zdravim,
 nema nekdo zkusenosti s tvorbou datovych tiskovych sestav v pythonu ?
 A treba jestli existuje neco jako Report Designer pro python ?
 Nebo jak rychle vytvorit tabulkovou tiskovou setavu na 
 zaklade databazovych dat ?
 
 A nebo jak nejlepe resit tisk z pythonu ?
 
 Diky za podnety.
   
 
 --
 Mirek N.
 
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python
 

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


Re: [python] rozšírenie Pythonu v C++

2007-04-13 Tema obsahu Jan Matejka
Je docela možné, že na cílovém počítači chybí nejaká c++ runtitime knihovna
z msvc8.
Zkus se pomocí prohlížeče závislostí podívat jaké knihovny tvůj modul
importuje.
Od verze 8 je nutno msvcrt knihovny distribuovat pomocí balíčku od MS (jde
stáhnout z webu) nebo ručně do aplikačního adresáře, ale je třeba se zabývat
manifestem. viz:
http://msdn2.microsoft.com/en-us/library/ms235285(VS.80).aspx
Jan Matějka


 

 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On 
 Behalf Of [EMAIL PROTECTED]
 Sent: Friday, April 13, 2007 11:05 AM
 To: [EMAIL PROTECTED]
 Subject: [python] rozšírenie Pythonu v C++
 
 Dobrý deň.
 
 Začal som programovať program v pythone, no po čase som 
 zistil, že jedna operácia je príliš časovo náročná. Preto som 
 ju prepísal do C++ a vytvoril modul, ktorý sa dá volať z Pythonu.
 Postupoval som podľa tohto tutorialu: 
 http://www.python.org/doc/1.5.2p2/ext/win-cookbook.html
 Modul som skompiloval v MS Visual Studiu 2005.
 Všetko fungovalo ako malo, podarilo sa mi program podstatne 
 zrýchliť...Dnes som však narazil na malý problém. Mnou 
 vytvorený modul sa dá použiť len na mojom počítači, inak nikde nejde.
 Chybový výpis:
 
 Traceback (most recent call last):
   File gui.py, line 218, in openfile_2
   File gui.py, line 351, in OnDiff
   File moduly\py_diff.pyc, line 12, in module
   File moduly\py_diff.pyc, line 10, in __load
 ImportError: DLL load failed: This application has failed to 
 start because the application configuration is incorrect. 
 Reinstalling the application may fix this problem.
 
 Je nutné kompilovať moduly pre každý počítač zvlášť_? (To je 
 pre mňa neprijateľné - nemôžem ľudí nútiť, aby si inštalovali 
 Visual Studio) Alebo sa mi podarilo niečo pokaziť_? Máte s 
 týmto niekto skúsenosti_?
 Poprípade aspoň odkaz na nejaký funkčný návod/tutorial.
 
 ___
 Python mailing list
 [EMAIL PROTECTED]
 http://www.py.cz/mailman/listinfo/python
 

___
Python mailing list
[EMAIL PROTECTED]
http://www.py.cz/mailman/listinfo/python


Re: [python] V jakém jazyce je napsán modul re

2007-04-03 Tema obsahu Jan Matejka
 Svou rychlostí (při jednoduché substituci) několikanásobně 
 zaostává například za Perlem, což by tomu odpovídalo.

Kdysi jsem porovnával rychlost pythonového hledání v řetezci pomocí
string.find a kompilovaného regulárního výrazu a výsledek byl zhruba stejný.

Tipnul bych si, že ve tvých testech jsi v pythonu nepoužíval kompilovaný
regulární výraz (kompiloval se při každém volání). Tím, že v Perlu jsou
regulární výrazy součástí jazyka, tak má interpretr možnost je zkompilovat
před spuštěním programu.

Jan Matějka

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


Re: [python] problem pri importu knihovny (dll)

2007-02-26 Tema obsahu Jan Matejka
Shání se po _fs.pyd . To je přejmenovaná dll. Pokud je _fs.pyd kdispozici a
přesto je problém, může být způsoben nepřítomností nějaké dll, na které
_fs.pyd závisí.
 
Jan Matějka


  _  

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of
[EMAIL PROTECTED]
Sent: Monday, February 26, 2007 12:54 PM
To: Python
Subject: [python] problem pri importu knihovny (dll)


dobry den,
mel bych jeden dotaz. v pythonu sem naprosty amater. pokousim se rozchodit
viewvc (webova nadstavba nad subversion systemem svn) pod windows. python
bindings jsem nakopiroval do lib/site-sitepackages, do cesty pythonpath jsem
pridal cestu k viewvc knihovnam. a ted pokud se pokousim viewvc rozjed
(prohlidnout v prohlizeci) vyhodi to nasledujici chybu:
 

An Exception Has Occurred


Python Traceback




Traceback (most recent call last):

  File c:\web\subversion\viewvc\lib\viewvc.py, line 3629, in main

request.run_viewvc()

  File c:\web\subversion\viewvc\lib\viewvc.py, line 253, in run_viewvc

import vclib.svn

  File c:\web\subversion\viewvc\lib\vclib\svn\__init__.py, line 25, in
module

from svn import fs, repos, core, delta

  File c:\Web\Python\lib\site-packages\svn\fs.py, line 19, in module

from libsvn.fs import *

  File c:\Web\Python\Lib\site-packages\libsvn\fs.py, line 5, in module

import _fs

ImportError: No module named _fs



v adresari: c:\Web\Python\Lib\site-packages\libsvn\ (soucast python bindings
z svn ktery jsem prekopirovaval) zadny _fs.py neni, pouze _fs.dll , a ted
nevim jestli mi nekde neco chybi, neco v cem je chyba. nemuze nekdo poradit?
omlouvam se za trosku zmateny popis.
 


-=( Alien21 )=- 
 
 

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

Re: [python] problem pri importu knihovny (dll)

2007-02-26 Tema obsahu Jan Matejka
Stáhněte si prohlížeč závislostí ( http://www.dependencywalker.com/ ) a
zkuste jestli jsou všechny knihovny, které _fs.dll vyžaduje k dispozici
(dostupné na cestě).
Jan Matějka


  _  

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of
[EMAIL PROTECTED]
Sent: Monday, February 26, 2007 2:46 PM
To: Konference PyCZ
Subject: Re: [python] problem pri importu knihovny (dll)


dany adresar (libsvn) obsahuje:
 
__init__.py
__init__.pyc
_client.dll
_core.dll
_delta.dll
_fs.dll
_ra.dll
_repos.dll
_wc.dll
client.py
core.py
delta.py
fs.py
fs.pyc
libsvn_swig_py-1.dll
ra.py
repos.py
wc.py


chyba nastane v tom fs.py na radku: import _fs



-=( Alien21 )=-


  _  

From: Jan Matejka [mailto:[EMAIL PROTECTED]
To: 'Konference PyCZ' [mailto:[EMAIL PROTECTED]
Sent: Mon, 26 Feb 2007 14:05:52 +0100
Subject: Re: [python] problem pri importu knihovny (dll)


Shání se po _fs.pyd . To je přejmenovaná dll. Pokud je _fs.pyd kdispozici a
přesto je problém, může být způsoben nepřítomností nějaké dll, na které
_fs.pyd závisí.
 
Jan Matějka


  _  

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of
[EMAIL PROTECTED]
Sent: Monday, February 26, 2007 12:54 PM
To: Python
Subject: [python] problem pri importu knihovny (dll)


dobry den,
mel bych jeden dotaz. v pythonu sem naprosty amater. pokousim se rozchodit
viewvc (webova nadstavba nad subversion systemem svn) pod windows. python
bindings jsem nakopiroval do lib/site-sitepackages, do cesty pythonpath jsem
pridal cestu k viewvc knihovnam. a ted pokud se pokousim viewvc rozjed
(prohlidnout v prohlizeci) vyhodi to nasledujici chybu:
 

An Exception Has Occurred


Python Traceback




Traceback (most recent call last):

  File c:\web\subversion\viewvc\lib\viewvc.py, line 3629, in main

request.run_viewvc()

  File c:\web\subversion\viewvc\lib\viewvc.py, line 253, in run_viewvc

import vclib.svn

  File c:\web\subversion\viewvc\lib\vclib\svn\__init__.py, line 25, in
module

from svn import fs, repos, core, delta

  File c:\Web\Python\lib\site-packages\svn\fs.py, line 19, in module

from libsvn.fs import *

  File c:\Web\Python\Lib\site-packages\libsvn\fs.py, line 5, in module

import _fs

ImportError: No module named _fs



v adresari: c:\Web\Python\Lib\site-packages\libsvn\ (soucast python bindings
z svn ktery jsem prekopirovaval) zadny _fs.py neni, pouze _fs.dll , a ted
nevim jestli mi nekde neco chybi, neco v cem je chyba. nemuze nekdo poradit?
omlouvam se za trosku zmateny popis.
 


-=( Alien21 )=- 
 
 

 
 

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

Re: [python] Wx Unicode

2007-02-23 Tema obsahu Jan Matejka
 Ano, problém byl v distribuci. Neměl jsem Unicode ale Ansi. 
 Proč distribujou verzi, která nepodporuje Unicode??

Protože některé OS nepodorují Unicode.
Jan Matějka

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


Re: [python] debugování vláken v Eclipse / PyDev

2007-02-14 Tema obsahu Jan Matejka
V nějaké starší verzi jsem pydev ve vláknech úspěšně používal. Taky mi to
fungovalo ve Wings.
Matně si vzpomínám, že tam byla nějaká podmínka, že se musely používat pro
vlákna nějaké pokročilejší třídy (standardní), s těmi nejjednodužšími že to
nefungovalo.
Ono se musí každé vlákno za běhu k debuggeru nějak zaregistrovat.

Jan Matějka


 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On 
 Behalf Of Vaclav Vais
 Sent: Wednesday, February 14, 2007 10:36 AM
 To: python@py.cz
 Subject: Re: [python]debugování vláken v Eclipse / PyDev
 
 Ahoj, to jsem jediný kdo pouziva vlakna, nebo jediny, kdo 
 pouziva Eclipse?
 Máte třeba někdo zkušenosti s jiným editorem?
 Díky
 Vašek
 
 Vaclav Vais napsal:
  Zdravím,
  mám aplikaci s několika vlákny, když dám breakpoint do 
 zdroje, který 
  se pouští ve vláknu tak se debuger nezastaví.
  V hlavním vlákně je vše v pohodě. Poradíte mi někdo, jak 
 mám ladit ve 
  vláknech?
 
  Díky moc za pomoc
 
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python
 

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


Re: [python] Modifikace seznamu bez kopirovnani (byl o SQLite - forma selectovaných dat)

2007-01-08 Tema obsahu Jan Matejka
 Co je na tom divného? Pokud navíc budete vytvářet tuple 
 pomocí enumerate, který je úplně zbytečný pro procházení 
 polem, tak Vás to bude stát paměť i čas. Navíc musíte 
 procházet tuple namísto toho abyste jednoduše přičítal 
 jedničku k indexu, tedy další časová penalizace.

Je to záležitost implementace iterovaného objektu. Pokud je realizován jako
zřetězený seznam, tak nalezení prvku pomocí indexu (bez nějakých
heuristických optimalizací) je časově mnohem náročnější než vrácení
následujícího prvku.
Jan Matějka


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


Re: [python] Modifikace seznamu bez kopirovnani (byl o SQLite - forma selectovaných dat)

2007-01-08 Tema obsahu Jan Matejka
 Drobná chybička, která ale může ovlivňovat výsledek.
 Iterátor vracený funkcí enumerate() vrací dvojice (index, 
 hodnota) a ne (hodnota, index).

děkuji
for v,i in enumerate(l1):
l1[i]=v+1
6.5163242

 Je jasné, že použití enumerate bude pomalejší, než použití 
 xrange(), protože se musí konstruovat navíc ta dvojice a 
 navíc se pak musí rozdělávat na i, v.
ano to vím

Pokud by však platila teze, že čtení prvku seznamu pomocí indexu je pro
velké seznamy pomalé, tak by varianta s enumerate mohla být rychlejší.
Důvodem je to, že získává další hodnotu načtením následujícího prvku v
seznamu (rychlá operace) namísto pomalého přístupu přes index.
Test však ukázal, že uvedená tese neplatí, takže pythovský list() asi není
obyčejný obousměrně svázaný seznam.

Jan Matějka
 

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


[python] vnitřní implementace python listu

2007-01-08 Tema obsahu Jan Matejka
 A není ani důvod aby byl. Každý trochu zkušený programátor by 
 určitě list neimplementoval vnitřně jako obousměrně vázaný 
 seznam, protože tím získá prakticky jenom nevýhody.

OK, asi jsem ovlivněn C++ terminologií z STL. Tam je list struktura, 
která umožňuje rychlé vkládání a přidávání prvků a jako doplněk má možnost
adresace indexem.
Jako pole mi přijde spíš tuple.

 O vnitřní implementaci list napovídá to, že Python má tuple a 
 list, tedy dva objekty dělající de facto to samé (pomiňte teď 
 konstantnost tuple) a tipnul bych si tedy že spíše jde o to, 
 že list alokuje paměť pro indexy dopředu, a že se jedná o 
 obyčejné pole s empiricky vyladěnými algoritmy pro minimální 
 počet alokací a trochu plýtvající pamětí, zatímco tuple bude 
 vnitřně to samé co list, akorát alokuje paměť na indexy přesně.

Aby vkládání do prostředka seznamu nebylo pomalé (nemusely se přesouvat
velké bloky dat)
asi bych to řešil jako seznam nebo strom polí. V případě potřeby vkládání
doprostřed 
pole se pole rozpadne na dvě části. Naopak při velké fragmentaci se spustí 
defragmentační proces, který malá sousedící pole sloučí.

 
 Jinak už jen úvaha, že přístup přes index je pomalejší, než 
 cokoli jiného 

byla řeč o enumeraci (přístup k následujícímu prvku)

je úchylná, protože si fakt neumím představit, 
 že by někdo implementoval pole (tj. něco s neměnnou lineární 
 řadou celočíselných
 indexů) tak, aby přístup přes indexy nebyl superrychlý. 

python list není pole neb umožňuje rychlé vkládání a přidávání a nemá tedy 
neměnnou řadu indexů

 Zvlášť když přístup k poli přes index je suverénně nejčastěji 
 vyžadovaná operace v programu a tím pádem je logické, že je 
 implmentována s ohledem na maximální rychlost.

V mých progremech se indexu vyhýbám mj. proto, že se mi nelíbí.
V C a C++ raději pro iterace seznamů používám iterátory nebo ukazatelovou
aritmetiku 
přijde mi to čitelnější i když se často fakticky jedná o totéž.

Jan Matějka

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


Re: [python] vnitřní implementace python listu

2007-01-08 Tema obsahu Jan Matejka
 Ono jde o to, že si můžete vybrat - některé operace pomalejší 
 a některé rychlejší. Souvislý seznam má extrémně rychlé 
 append, přístup přes indexy, čtení a zápis prvku. Zase 
 pomalejší vkládání doprostřed seznamu.

Ano, souhlasím, do určité velikosti seznamu je souvislý blok nejlepší
reprezentace. 
Zkusil jsem testík vložení 10 záznamů na konec a na začátek seznamu.
Rozdíl je v tomto případě o 2 řády, zjevně je ukládání na začátek seznamu
(pole) pro tuto velikost daleko za limitem efektivity.

for i in xrange(n):
l.append(i)
0.0310001373291

for i in xrange(n):
l.insert(0,n)
5.01599979401


Naštěstí python poskytuje prostředky pro vytvoření vlastních kontejnerů,
takže v připadě potřeby si člověk může udělat svůj specifický i když
přiloženou baterii tohoto druhu bych docela čekal.

Jan Matějka

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


Re: [python] Kompilace

2006-12-28 Tema obsahu Jan Matejka
Ahoj,
tvoje verze pythonu je kompilovaná pomocí MS c kompilátoru (a C knihoven)
verze 7.1. Ten zjevně nemáš na počítači dostupný. Dříve se dal zdarma tento
kompiláor od MS stáhnout jako MICROSOFT VISUAL C++ TOOLKIT 2003 teď jej
však nahradilo Visual Studio express 2005 (to však obsahuje jiné runtime
knihovny). A verze 2003 se bohužel od MS již stáhnout nedá. Snad někde z
archivu nebo p2p.
Nevím, čím je kopilován python 2.5, docela bych věřil, že pomocí VC 2005
(verze 8).
Napiš jak jsi dopadl.
 
 
Jan Matějka
 
 


  _  

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jakub
Vojacek
Sent: Thursday, December 28, 2006 1:57 PM
To: python@py.cz
Subject: [python] Kompilace


Ahoj
 
 
Snžím se naučit psát rozšiřujicí moduly pro python v C. Ale mám problém s
kompilací.
Normálně si tohle uložím jako setup.py
 
from distutils.core import setup, Extension
 
module1 = Extension('demo',
sources = ['spam.c'])
 
setup (name = 'PackageName',
   version = '1.0',
   description = 'This is a demo package',
   ext_modules = [module1])
 
a pak v příkazový řádce: python setup.py build
ale to mi vrátí chybu:
error: Python was built with version 7.1 of Visual Studio, and extensions
need to be built with the same version of the compiler, but it isn't
installed.
 
co s tím ¨mám dělat?
děkuji
 

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

Re: [python] Buducnost Pythonu: lambda, map, filter

2006-11-14 Tema obsahu Jan Matejka
 for line in file('data.txt'):
  print line
 
 Mhm, to vyzera naozaj super, na moje pocudovanie tam netreba 
 ani otvarat/zatvarat file. 
 Len neviem ako to funguje. Nie je to nahodou to iste ako 
 
 f = open(data.txt)
 for line in f.readlines():
  print line
 f.close()

je to spíš jako 
for line in f.xreadlines():

Kde xreadlines() vrací iterátor, který čte soubor postupně na rozdíl od
readlines který přečte soubor najednou do seznamu řádků.

Přidám se ale k nadávání na odstraňování starých prvků jazyka.  Xreadlines
je od verze 2.3 označeno za zastaralé. 

for line in file(data.txt).xreadlines():
...

se mi líbí víc než preferované 
for line in file('data.txt')
...

protože explicit is better than implicit. Xreadlines() totiž vyjadřuje že
se čte po řádcích a nikoliv po bytech,unicode znacích nebo co já vím jakých
jednotkách v souboru.

Jan Matějka

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


Re: [python] file.next() (bylo Buducnost Pythonu: lambda, map, filter)

2006-11-14 Tema obsahu Jan Matejka
 Petr Prikryl
 A k té explicitnosti -- místo xreadlines() bych sice mohl 
 psát __iter__(), ale...
 
 The Zen of Python, by Tim Peters
 
 Beautiful is better than ugly.
 Simple is better than complex.
 Readability counts.
 Special cases aren't special enough to break the rules.
 Although practicality beats purity.

Díky za reakci,
dle mého nedišputovatelného gusta uvedené věty s vyjímkou
Simple is better than complex
Although practicality beats purity
svědčí spíš pro styl xreadlines hlavně proto že tam je ten slovní základ
lines.

Avšak souhlasím s názorem, že soubory se čtou většinou po řádcích takže je
to takto praktické ale mám z toho pocit vyjímky která se mi nelíbí.

Jan Matějka

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


Re: [python] file.next() (bylo Buducnost Pythonu: lambda, map, filter)

2006-11-14 Tema obsahu Jan Matejka
Ono obecnější řešení je udělat parsovací generátory, které by šly použít s
čímkoliv file-like jako vstupním prametrem, a nestrkat parsování to objektu
file. Tedy:

místo
 for line in file(data.txt).lines():
  ...

by bylo:
for line in lines(file(data.txt)):
 ...

místo
 #cteni po UTF znacich
 for char in file(data.txt).chars():

by bylo:
for char in chars(file(data.txt)):

atd.

Výpočetní náročnost by zústala stejná. Generátory mi přijdou jako skvělý
nástroj, škoda že se GvR brání zobecnění do více úrovní zanoření jenž nabízí
stackless python. 

Jan Matějka

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


Re: [python] Buducnost Pythonu: lambda, map, filter

2006-11-13 Tema obsahu Jan Matejka
 Dobře, tohle mě zajímá: Jakou alternativu nabízí Python k 
 foldl (které si přejmenoval na reduce)? U map je to jasné, 
 přeci jen list comprehension ani generator expression nejsou 
 o moc horší, navíc generator expression má lazy sémantiku, 
 což je Good Thing(TN). Ale u toho reduce() trošku tápu.

Taky jsem tápal, ale GvR mi to objasnil na zmíněné stránce:
http://www.artima.com/weblogs/viewpost.jsp?thread=98196

So now reduce(). This is actually the one I've always hated most, because,
apart from a few examples involving + or *, almost every time I see a
reduce() call with a non-trivial function argument, I need to grab pen and
paper to diagram what's actually being fed into that function before I
understand what the reduce() is supposed to do. 

Zrušením reduce() GvR chrání americké lesy.
Jan Matějka

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


Re: [python] class a subclass

2006-11-10 Tema obsahu Jan Matejka
prasečina:

class A:
pass

a=A()
class B:
def kuku(self):
print kuku

a.__class__=B
a.kuku()

kuku

Jan Matějka

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


Re: [python] Dynamicke volani trid

2006-11-07 Tema obsahu Jan Matejka
Pokud se jedná o to vytvořit třídu na základě textu, tak se dá využít funkce
local:

class a:
def fa(self):
print 1

#nalezeni tridy
trida=locals()[a]

#vytvoreni instance nalezene tridy
ai=trida()

ai.fa()

Jan Matějka

 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On 
 Behalf Of Tom
 Sent: Tuesday, November 07, 2006 3:39 PM
 To: python@py.cz
 Subject: [python] Dynamicke volani trid
 
 Zdravim, nevite nahodou nekdo jestli Python umi zavolat 
 metodu tridy s tim, ze jmeno te tridy je kdesi v promenne? neco jako:
 
 class Trida1():
   def self.akce:
 nejaka akce...
 ...
 class Trida2():
   def self.akce:
 jina akce...
 
 
 a = Trida1
 
 a.akce /* by se pak interpretovalo jako Trida1.akce.*/
 
 a = Trida2
 
 a.akce  /* by se pak interpretovalo jako Trida1.akce. */
 
 Diky moc.
 
 Tom
 
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python
 

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


Re: [python] Statické metody v Pythonu

2006-11-07 Tema obsahu Jan Matejka
s použitím dekorátoru

class S(object):
@staticmethod
def staticM(pp):
print pp*2

S.staticM(nazdar )

více:
http://www.ddj.com/184406073

Jan Matějka 

 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On 
 Behalf Of superman
 Sent: Tuesday, November 07, 2006 7:59 PM
 To: Konference PyCZ
 Subject: [python] Statické metody v Pythonu
 
 Nevíte, jak udělat statickou metody v Pythonu, myslím metodu, 
 které není vázána k instanci, tedy self, ale jen ke třídě.
 
 Zkoušel jsem:
 
 class trida:
 
   def static(i):
   print i
 
 
 trida.static(3)
 
 A dostal jsem chybové hlášení, že se Pythonu nelíbí, že 
 předávám číslo a ne instanci. Určitě to nějak jde, ale po 
 pokusu někde se to dočíst to vzdávám. Nevíte jak na to?
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python
 

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


Re: [python] rozsirovani pythonu

2006-10-16 Tema obsahu Jan Matejka
Používal jsem Boost.Python ve verzi 1. Verze 2 je ve snadnosti použití o
dost dál.
http://www.boost.org/libs/python/doc/index.html
Jan Matějka 

 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On 
 Behalf Of Martin Hassman
 Sent: Monday, October 16, 2006 2:32 PM
 To: Konference PyCZ
 Subject: [python] rozsirovani pythonu
 
 Ahoj,
 
 potrebuji z vykonostnich duvodu prepsat par pythonovskych 
 funkci do cecka. Delal jste to uz nekdo?
 
 Kdysi pred lety jsem si trochu hral s nativnim rozsirovanim 
 (includy a lib dodavane s pythonem). Slysel jsem, ze mezitim 
 vznikli nastroje (frameworky), ktere tu praci trochu ulehci. 
 Nevite o tom neco? Po cem byste dnes sahli vy?
 
 Jedna se mi jen nekolik rychlych operaci s velkymi poli, 
 pynumeric nestacil.
 
 Diky
 
 met - martin hassman
 http://www.met.cz/
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python
 

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


Re: [python] kterak vhodne resit architekturu IMAP klienta

2006-09-17 Tema obsahu Jan Matejka
  IMHO oddelovat UI od mailboxu frontou nemá smysl protože UI 
 potrebuje 
  pro zobrazovaní okamzitou odpoved relevantnich dat nebo 
 odpoved data 
  nejsou k dispozici.
 
 Potrebuju chovani ok, mas tu data, data budou za chvili 
 nebo chyba.
Ano.
 
  Naopak parser bych nechal bezet ve zvlastnim threadu.
 
 Jake by to melo vyhody?

Tak jak jsem se na to dival je mailbox z pohhledu UI modul ktery je schopen
okamzite synchronne odpovidat na pozadavky UI. Pokud by UI melo komunikovat
s mailboxem pres frontu, tak by UI muselo, aby mohlo  fungovat, přebírat
funkci cache, kterou chceme mit v mailboxu. 
Uvazoval jsem ze zmeny ke kterym v mailboxu dojde by byly oznamovany ve
stejnem threadu jako bezi UI formou synchronnich zprav, ktere by UI
zachycovalo, tzn. fronta by nebyla nutna. 
Z pohledu parseru by mailbox slouzil jako databaze pro ukladani vysledku
nactenych dat, ukladat by je tam mohl přes frontu. Podobně pozadavky na
komunikaci s imap serverem by si parser odebiral z fronty ktera by byla
plnena mailboxem.

 
  Snazil
  bych se o to, aby daval data v takove podobe, aby sly 
 rychle zaradit 
  do datovych struktur mailboxu, aby aktualizacemi mailboxu nebylo 
  blokovano UI.
 
 Mno, mne se libi to, ze Parser fakt jenom parsuje. Kvuli 
 celkem komplikovane architekture IMAPu se dost brutalni 
 logice v Mailboxu nevyhnu.
 

Pro seriozni diskusi by to asi chtelo rozdelit na vetsi mnozstvi funkcnich
bloku, s tim ze nektere bloku budou moci byt v řešení sloučeny. 
Jan Matejka

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


Re: [python] kterak vhodne resit architekturu IMAP klienta

2006-09-05 Tema obsahu Jan Matejka
Dobrého dne,
jsa asi ovlivněn modelem dokument-view 
bych to videl spis tak, ze mailbox bude s UI komunikovat primo
prostrednicvim metod mailboxu volanych z UI a callbacku kterym
bude mailbox oznamovat UI, ze ze se v mailboxu něco zmenilo.
IMHO oddelovat UI od mailboxu frontou nemá smysl protože UI
potrebuje pro zobrazovaní okamzitou odpoved relevantnich dat
nebo odpoved data nejsou k dispozici.
Naopak parser bych nechal bezet ve zvlastnim threadu. Snazil
bych se o to, aby daval data v takove podobe, aby sly rychle
zaradit do datovych struktur mailboxu, aby aktualizacemi 
mailboxu nebylo blokovano UI.

zdravic Jan Matejka



 Ted resim problem, jak maji tyhle tri slupky spolu 
 komunikovat. Jako uplne prvni vec me napadlo to, ze kazda z 
 nich pobezi ve vlastnim threadu a vsechno si budou rikat pres 
 Queue.Queue (vzdy dvojice mezi jednotlivymi slupkami). Po 
 zapnuti mozku mi ale doslo, ze se Parser a Mailbox daji 
 krasne sloucit - proste v ramci jednoho cyklu thread 
 zkontroluje, jestli po nem neco nechce UI nebo jestli neco 
 neprislo od IAMP serveru.
 
 Zbyva teda vyresit, co s komunikaci mezi Mailboxem a UI. 
 Premyslim o dvojici front, pro kazdy smer jednu. Ve smeru UI 
 - Mailbox proudi prikazy typu smaz zpravu XYZ, ukaz mi 
 razeni do threadu ci dej mi hlavicky zpravy cislo 12, 
 opacne data jako treti megabajt sedme prilohy zpravy cislo 
 13 je \x00...
 

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


Re: [python] Zobrazeni miniframe

2006-08-31 Tema obsahu Jan Matejka
Zrejme je problem v tom, ze v dobe vykonavani popenu je zablokovan
thread ktery je treba aby obslouzil zpravy vykreslujici ten text.
Mozna pomuze pred popen zavolat dlg.redrawwindow nebo neco takoveho.
Druhou, lepsi moznosti je pustit ten popen v extra threadu.
Jan Matejka


 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On 
 Behalf Of Martin Jedlička
 Sent: Tuesday, August 29, 2006 8:05 AM
 To: Konference PyCZ
 Subject: [python] Zobrazeni miniframe
 
 Zdravim, mam takovy problem. Mam aplikaci ve wxPythonu. Po 
 kliknuti na tlacitko provedu nejaky prikaz cmd pomoci popen. 
 Rad bych, aby po dobu, nez se prikaz provede zobrazil nejaky 
 frame (miniframe), ktery by jen napsal neco jako Prosim 
 cekejte Po skonceni prikazu cmd by se miniframe zase 
 zavrel. Toto jsem realizoval pomoci miniframe. Pri volani 
 prikazu to pak vypada takto:
 
 dlg = WaitWindow.WaitWindow(self)
 dlg.Show(True)   
 os.popen(Cmd)
 dlg.Destroy()
 
 
 Miniframe WaitWindow pouze obsahuje text Prosim cekejte 
 Problem je ale v tom, ze po dobu provadeni prikazu se sice 
 miniframe zobrazi, ale nezobrazi se v nem ten text. Misto 
 textu je pouze prazdne misto. Stejny problem je, kdyz tam dam 
 misto textu tlacitko ci cokoliv jineho.
 
 Nevite jak toto vyresit?
 
 Diky za kazdou radu.
 
 Martin
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python
 

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


Re: [python] najdi, nahrad, uloz v ascii subore

2006-08-24 Tema obsahu Jan Matejka
Ahoj,
Pro prepisovani na miste muze byt prakticke pouziti pametove 
mapovanych souboru. V pythonu jsem to ale zatím nepouzil.

Osobne bych ale volil cestu pomocneho souboru, ma to hlavne vyhodu v tom
ze v pripade preruseni zpracovani zustava vstupni soubor neporusen.
H.

 -Original Message-
 presne tak. Prepisovat to primo na miste je samozrejme mozne, 
 ale v pripade, ze se za puvodni slovo pridavaji dalsi znaky 
 (nebo se nekde znaky uberou), znamena to, ze se cela cast 
 souboru za tim slovem musi o urcity pocet znaku posunout. Coz 
 je prakticky vzdycky zbytecne slozite a v pripade vicecetnych 
 editaci v ramci souboru i dost pomale.

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


Re: [python] hibernacia

2006-04-12 Tema obsahu Jan Matejka
Nemam s tim temer zadnou zkusenost ale mozna je resenim
http://www.stackless.com/
nabizi serializaci.
Jan Matejka



 Existuje nejaka moznost spakovat pustenu pythonacku funkciu, 
 zo vsetkymi lokalnymi premennymi aj instruction pointerom 
 (alebo co ma python), ulozit to vsetko do stringu, ukoncit 
 okamzite beh tej fcie a niekedy v buducnosti ju obnovit? (aj 
 v inej instancii pythonu)

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


Re: [python] hibernacia

2006-04-12 Tema obsahu Jan Matejka
Trochu jsem to asi pomatlal nepresnou odpovedi protože tazatel se ptal na
serializaci stavu threadu tedy hibernaci. 
Takze upresnuju http://www.stackless.com/wiki/Pickling je serializace
taskletu, coz je asi to co je potreba, pokud je ovsem pouziti stackless
pythonu prijatelne.

Jan Matejka


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


RE: [python] Unicode řetězce

2006-02-06 Tema obsahu Jan Matejka
 uni_text=text.decode(iso-8859-2).encode(utf-8)
 Vám nechodí?

Mam dojem, ze tazatel ma problem se zapisem unicodoveho retezce do souboru.
Zapisuje ho tam myslim primo, a to selze  pri konverzi unicodoveho znaku na
ascii.
Jak to udelat jinym zpusobem nez unicode prevest napriklad na utf-8 nevim.

Jan Matejka

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