[python] Vyhodnocení jednoduchých výrazů

2018-08-22 Tema obsahu Petr Blahos
Přátelé,

doporučíte mi někdo knihovnu pro vyhodnocení jednoduchých matemetických
výrazů se symboly? Představuju si to asi takto: Budu mít text typu:
expr = """R=1000*(VAR1+VAR2/2)-VAR3"""

a pak udělám:
result = knihovna.funkce(expr, {"VAR1": 54, "VAR2": 8", "VAR3": 982})

Případně ještě knihovna.zkontroluj_vyraz(expr).
Potřebuju tam opravdu jenom + - * / a závorky.

Díky,
Petr
--
http://www.blahos.com/ 
http://traceability.cz/
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


[python] Jednostránkový cheat-sheet v češtině

2018-08-20 Tema obsahu Petr Blahos
Přátelé,

nemáte někdo jednostránkový (klidně oboustraný) papír (pdfko) v češtině
s popisem struktury základních řídících struktur v pythonu? (cykly, if-else,
definice funkcí, volání funkcí)

Potřeboval bych to vytisknout, a když se mě díte zeptá, jak se dělá tohle,
tak si to tam společně najdeme.

Díky,
Petr
--
http://www.blahos.com/ 
http://traceability.cz/
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] :-)

2018-04-10 Tema obsahu Petr Blahos
Asi budu v menšině, ale parsovat a znovu skládat - to bych v tomto případě
nedělal.

separator = "&" if "?" in reload_redirect['Location'] else "?"
reload_redirect['Location']  += separator + "param=1"

--
Petr

http://www.blahos.com/ 
http://traceability.cz/

2018-04-10 14:05 GMT+02:00 starenka . :

> aha, pozde. mazu se. kthxbai
>
> ---
> In Perl you shoot yourself in the foot, but nobody can understand how you
> did it. Six months later, neither can you. | print 'aknerats'[::-1]
>
> On Tue, Apr 10, 2018 at 2:04 PM, starenka .  wrote:
>
>> a co urlparse?
>>
>> ---
>> In Perl you shoot yourself in the foot, but nobody can understand how you
>> did it. Six months later, neither can you. | print 'aknerats'[::-1]
>>
>> 2018-04-10 13:41 GMT+02:00 :
>>
>>> Ja by som najskor zozbieral vsetky parametre do pola a potom tesne pred
>>> odoslanim hlaviciek:
>>>
>>> if redirect_parameters:
>>>  reload_redirect['Location'] += "?%s" % "&".join(redirect_parameters)
>>>
>>>
>>>
>>>
>>>
>>>
>>> Citát Petr Messner :
>>>
>>>
>>> Nevim, neznam, asi uz ani nejsem webovy vyvojar :D

 Navrhuju to schovat do funkce:

 reload_redirect['Location'] = append_redirect_param(
 reload_redirect['Location'], 'param=1')

 def append_redirect_param(...):
 


 Petr M.


 2018-04-10 13:09 GMT+02:00 Vláďa Macek :

 Zdar,
>
> vyhlasuju soutez o nejhezci alternativu pro toto:
>
> reload_redirect['Location'] += '#param=1'.replace('#', '&' if '?' in
> reload_redirect['Location'] else '?')
>
> Webovi vyvojari jiste zalezitost znaji.
> Tesim se ;-)
>
> Vlada
>
>
>
>>>
>>>
>>> ___
>>> Python mailing list
>>> python@py.cz
>>> http://www.py.cz/mailman/listinfo/python
>>>
>>> Visit: http://www.py.cz
>>>
>>
>>
>
> ___
> Python mailing list
> python@py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>
>
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] Kus paměti na numpy array

2018-01-11 Tema obsahu Petr Blahos
Jo, numpy.ctypeslib.as_array funguje. Takže:

def img_cb(buffer, buffer_size, cnt):
# tady ten buffer potřebuju dostat do numpy array
np_a = numpy.ctypes.as_array(buffer, shape=(1944, 2592, 3))


Díky,
Petr




2018-01-11 13:54 GMT+01:00 Petr Messner <petr.mess...@gmail.com>:

> Ahoj, co numpy.frombuffer?
>
> https://docs.scipy.org/doc/numpy-1.13.0/reference/
> generated/numpy.frombuffer.html
>
> Nebo:
>
> https://stackoverflow.com/questions/23930671/how-to-
> create-n-dim-numpy-array-from-a-pointer
>
> Snad neradím blbosti, s numpy jsem takhle ještě nepracoval.
>
> PM
>
>
> Dne středa 10. ledna 2018 17:08:23 UTC+1 Petr Blahos napsal(a):
> > Ahoj,
> >
> >
> > přes ctypes volám něco, co volá zpět můj callback. V tom callbacku je
> jeden
> > z parametrů pointer na unsigned char, a délka pole. No a já bych
> potřeboval
> > buď toto pole dostat do numpy array. Nevíte, jak na to?
> >
> >
> > Volání vypadá takto:
> >
> >
> >
> > def img_cb(buffer, buffer_size, cnt):
> > # tady ten buffer potřebuju dostat do numpy array
> >
> >
> >
> >
> >
> > cb_tp = ctypes.WINFUNCTYPE(ctypes.c_long, ctypes.POINTER(ctypes.c_ubyte),
> ctypes.c_long, ctypes.c_void_p)
> > cb_f = cb_tp(img_cb)
> >
> >
> >
> > volání_funkce_která_nastaví_callback(0, 1, cb_f, 1)
> > volání_funkce_která_odstartuje_volání_callbacku(0, None, False, True)
> >
> >
> >
> >
> > Ta data budu muset kopírovat. Dokážu udělat:
> >
> >
> > a = numpy.array(buffer[0:buffer_size], dtype=numpy.uint8)
> >
> >
> >
> > ale to je strašně pomalé.
> >
> >
> > Předem díky.
> > --
> > Petr
>
> ___
> Python mailing list
> python@py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


[python] Kus paměti na numpy array

2018-01-10 Tema obsahu Petr Blahos
Ahoj,

přes ctypes volám něco, co volá zpět můj callback. V tom callbacku je jeden
z parametrů pointer na unsigned char, a délka pole. No a já bych potřeboval
buď toto pole dostat do numpy array. Nevíte, jak na to?

Volání vypadá takto:

def img_cb(buffer, buffer_size, cnt):
# tady ten buffer potřebuju dostat do numpy array


cb_tp = ctypes.WINFUNCTYPE(ctypes.c_long, ctypes.POINTER(ctypes.c_ubyte),
ctypes.c_long, ctypes.c_void_p)
cb_f = cb_tp(img_cb)

volání_funkce_která_nastaví_callback(0, 1, cb_f, 1)
volání_funkce_která_odstartuje_volání_callbacku(0, None, False, True)


Ta data budu muset kopírovat. Dokážu udělat:

a = numpy.array(buffer[0:buffer_size], dtype=numpy.uint8)

ale to je strašně pomalé.

Předem díky.
--
Petr
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] par dotazu od zacatecnika v SQL

2017-12-29 Tema obsahu Petr Blahos
>
>
> A jiná otázka trochu bokem: je správné/vhodné vnutit zákazníkovi
> databázovou platformu?
> Pokud byste to chtěli prodávat, tak zákazník může mít své preference.
>
> A tak zase je rozdíl mezi správné a realita. Správné je jistě nenutit,
realita je taková,
že v lepším případě dá dodavatel na výběr mezi 2-3 RDBMS, jindy řekne
(ovšem až
po realizaci obchodu): jestli chcete těchto pár vlastností, bude to muset
být Oracle.

Paradoxně, pokud jsi malý, budeš se snažit udělat to podle přání zákazníka,
pokud
jsi velký, bude se zákazník muset přizpůsobit,

Petr
--
http://petr.blahos.com/
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] par dotazu od zacatecnika v SQL

2017-12-28 Tema obsahu Petr Blahos
>
>
> Začínat s jazkem SQL je předčasná optimalizace. Začni s ORM. Doporučil
> bych SQLAlchemy ORM nebo Django (pokud chceš dělat webové aplikace). Na
> drtivou většinu věcí ti to bude stačit. Jazyk SQL je pro běžné potřeby
> zbytečně nízkoúrovňový. Psát, testovat a udržovat kód se syrovým SQL je
> velká ztráta času.
>
>
:-) To je o úhlu pohledu. Aby člověk věděl, co v databázi vůbec lze
efektivně udělat, musí
chápat ten relační způsob myšlení, a obávám se, že ORM jej od toho spíš
může odvést.
Navíc když nebude mít python, bude mít pořád to SQL, které asi bude volat z
jakéhokoliv
jazyka, nebo možná někdy dokonce přímo. A nebude se divit, co je to ten
select, protože
v sqlalchemy ORM se přece píše query...

Tak nic. Půjdu spát...
--
Petr
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] par dotazu od zacatecnika v SQL

2017-12-27 Tema obsahu Petr Blahos
>
> > Jsem stará konzerva a myslím si že začátečník by měl začínat jednoduše.
> > Vyhnul bych se SQLAlchemy a ORM.
> > Když jsem se snažil si zjednodušit život, většinou jsem si zavařil.
>

Já souhlasím, samozřejmě, když chcete používat ať už ORM nebo jenom
QL, tak je potřeba vědět, co se děje pod tím...

Petr
--
http://petr.blahos.com/
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] par dotazu od zacatecnika v SQL

2017-12-27 Tema obsahu Petr Blahos
Ahoj, já si jenom dovolím doplnit, že když budeš dělat webovou aplikaci v
nějakém
frameworku, tak tam bude nějak vyřešen životní cyklus transakce, např.
v Pyramid+SQLAlchemy běžně tak, že v handleru máš k dispozici ORM session
(což je něco, pomocí čeho se s ORM pracuje), a automatický commit nebo
roll-back.

Dál, s SQLAlchemy nemusíš jet pomocí ORM, má také query language (QL),
kterým
sestavíš a spustíš dotaz - nějakej overhead tam samozřejmě je, ale je menší
než
u ORM. Já, když mám malé množství recordů, tak použiju ORM, když dělám
nějakej přehled, tak použiju QL.

Petr
--
http://petr.blahos.com/




2017-12-25 12:59 GMT+01:00 Petr Messner :

> Ahoj,
>
> pymysql a mysqldb jsou db drivery - klientské knihovny pro přístup do
> databáze, umožňují provádět SQL dotazy, transakce a tak.
>
> ORM je knihovna, která uvnitř typicky používá ten db driver (v SQLAlchemy
> je součástí connection stringu informace, který driver se má použít) a
> umožňuje pracovat s databází "objektovým způsobem". Konkrétně SQLAlchemy je
> "filosoficky" založená na design patternech Data Mapper a Unit of Work,
> jiná ORM (myslím že např. to Djangové) mohou preferovat design pattern
> Active Record. To píšu proto, kdybys chtěl dál zkoumat, proč a jak to
> funguje a jaké jsou alternativy a výhody/nevýhody jednotlivých přístupů.
>
> ORM může a nemusí být vhodné pro menší a větší projekty. Samozřejmě můžeš
> kombinovat ORM a SQL přístup. Některé dotazy je jednodušší zapsat přímo
> přes SQL, jindy je zase joinů anebo sloupců tolik, že ORM dost šetří práci.
> Nebo pokud chceš používat stored procedures a další funkcionalitu SQL
> databáze, tak asi budeš chtít přímo SQL.
>
> Co se týče volby mezi mysqldb a pymysql, tak dnes bych asi volil pymysql.
>
> Víc SQL dotazů samozřejmě můžeš dělat přes jedno spojení i přes jeden
> kurzor. Víc kurzorů potřebuješ, když chceš dělat SQL dotazy zatímco teprve
> zpracováváš výsledky jiného SQL dotazu. V tvém příkladu si ale ty výsledky
> nejdřív načteš všechny z kurzoru do paměti, takže je OK znovu použít ten
> kurzor.
>
> Celá tahle abstrakce s kurzory by měla být v Pythonu pro všechny SQL
> databáze stejná, je to definované v PEP 249: https://www.python.org/dev/
> peps/pep-0249/
>
> These objects represent a database cursor, which is used to manage the
>> context of a fetch operation. Cursors created from the same connection are
>> not isolated, i.e., any changes done to the database by a cursor are
>> immediately visible by the other cursors.
>
>
> Jinak bych tě ještě upozornil, ať se vyvaruješ *SQL injection*. Správný
> přístup je použít v SQL zástupné symboly.a konkrétní data dodat "bokem":
>
> self.cursor.execute('INSERT INTO values VALUES ('', NOW(), %s)', (row[0],
> ))
>
> Kdyžtak tady je ukázka "jednoduché" webové aplikace používající sqlite
> (napřímo), vzhledem k podobnosti všech driverů (díky PEP 249) by to skoro
> takhle vypadalo i s MySQL: https://github.com/messa/db-workshop-web-app/
> blob/dokonceno/anketa.py
>
> A tady je varianta s SQLAlchemy: https://github.
> com/messa/db-workshop-web-app/blob/sqlalchemy/anketa.py
>
> Další čtení: :)
>
> - https://blog.sqreen.io/preventing-sql-injections-in-python/
> - https://www.fullstackpython.com/databases.html
>
> PM
>
> Dne 25. prosince 2017 11:41 Lubomir Vogl  napsal(a):
>
> Ahoj,
>>
>> potreboval bych poradit s SQL. Hraju si s MariaDB a zajimalo by me :
>>
>> - jaka je nejlepsi knihovna pro praci s SQL ? Zatim jsem nasel (PyMySQL,
>> SQLAlchemy, MySqlDb) Chtel bych se naucit neco co bude mozne pouzit i na
>> slozitejsi projekty
>> - je ORM vhodne i na jednodussi projekty ?
>> - pokud budu v SQL chtit pouzivat vice SQL dotazu, je to mozne udelat
>> pres jedno spojeni (jeden cursor) nebo je nutne mit vice otevrenych spojeni
>> ? Viz nasledujici priklad - jedno otevrene spojeni
>>
>>
>>  sql = "SELECT * FROM portal WHERE typ_id = " + str(typ)
>>  self.cursor.execute(sql)
>>  data = self.cursor.fetchall()
>>  c = self.cursor.rowcount
>>  for row in data:
>>  sql1 = "INSERT INTO values VALUES ('',NOW(),0," + str(row[0]) + ")"
>>  try:
>>  self.cursor.execute(sql1)
>>  except:
>>  self.db.rollback()
>> ___
>> Python mailing list
>> python@py.cz
>> http://www.py.cz/mailman/listinfo/python
>>
>> Visit: http://www.py.cz
>>
>
>
> ___
> Python mailing list
> python@py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>
>
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] Překlady programů

2017-12-05 Tema obsahu Petr Blahos
Jako tohle?

#: centipede/exc.py:56
msgid "Not warmed-up"
msgstr ""

Nene, to je jenom poznámka, spíš pro Tebe, abys věděl, kde to případně v
kódu najít,
a opravit, když to nedává smysl.

--
Petr







2017-12-05 11:21 GMT+01:00 Ctibor.Plasek :

> Ahoj.
> Díky moc za rady - teda spíš za nasměrování :-) Konečně vím, co mám
> hledat...
> Sice to zatím moc nechápu (zdá se mi, že se odkazuje na určitý přesný
> řádek v kódu,
> což by asi bylo nešťastné při jakémkoliv doplňování - takže to nakonec asi
> nebude pravda)
>
> Ctibor
> -- Původní e-mail --
> Od: Ondrej Tuma 
> Komu: python@py.cz
> Datum: 23. 11. 2017 8:09:17
> Předmět: Re: [python] Překlady programů
>
> Hoj,
>
> GTK+ používá gettext také.
>
> V Pythonu používám přímo gettext modul:
> https://docs.python.org/3/library/gettext.html?highlight=gettext#module-
> gettext
> Narozdíl od klasické C knihovny, se s ním pracuje o něco lépe a
> pohodlněji.
>
> Mezi ty nejznámější programy na správu překladů patří poedit
> https://poedit.net/.
>
> A rozhodně zajímavým Michalovým počinem je Weblate
> https://weblate.org/. Zatím mám u něj jeden free software a to teprve
> pár dní, takže zkušenosti nemám,
>
> Ondra
>
> V Thu, 23 Nov 2017 01:15:47 +0100
> Petr Messner  napsáno:
>
> > Ahoj,
> >
> > gettext je standard. Zkus se podívat na tyto odkazy - pokud neděláš
> > web, tak si ty webové věci od toho odmysli :)
> >
> > - https://docs.djangoproject.com/en/2.0/topics/i18n/
> > - https://docs.djangoproject.com/en/2.0/topics/i18n/translation/
> > - http://babel.pocoo.org/en/latest/
> >
> > Pokud používáš nějaký framework (webový, qt, gtk, ...), najdi si
> > dokumentaci o internacionalizaci (i18n) k němu :)
> >
> > Obecně chceš soubor a ne databázi, protože soubor budeš mít normálně v
> > gitu, kolegové posílat pull requesty na to apod. S formátem gettextu
> > umí pracovat hromada nástrojů, včetně statické analýzy kódu pro
> > vyhledávání nepřeložených řetězců, výpočet translation coverage...
> >
> > PM
> >
> > Dne 23. listopadu 2017 0:32 Ctibor.Plasek 
> > napsal(a):
> >
> > > Ahoj.
> > > Přemýšlím nad následujícím problémem - jak jednoduše vytvořit
> > > vícejazyčnou verzi programu.
> > > Vytvořit databázi, nebo textové soubory? Jakým nejlepším způsobem
> > > říct programu, že pokud je zapnutá volba "česky"¨
> > > tak že první v menu bude "Soubor", když anglicky tak že to bude
> > > "File" atd. Určitě jste už tyto problémy řešili, tak jsem se chtěl
> > > zeptat, co a jakým způsobem je nejvýhodnější (i pro event. další
> > > rozšíření překladů)
> > >
> > > Díky za rady
> > >
> > > ___
> > > Python mailing list
> > > python@py.cz
> > > http://www.py.cz/mailman/listinfo/python
> > >
> > > Visit: http://www.py.cz
> > >
> > >
>
>
>
> --
> Ondřej Tůma 
> www: http://ipv6.mcbig.cz jabber: mc...@jabber.cz twitter: mcbig_cz
> ___
> Python mailing list
> python@py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>
>
> ___
> Python mailing list
> python@py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>
>
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] Vice balicku v jednom setup.py

2016-08-25 Tema obsahu Petr Blahos
Řekl bych, že to není ani jedno. něcoapp je serverová aplikace, ke které se
přistupuje přes nějaké síťové API, něcolib je vpodstatě soubor se sadou
konstant,
které klient použije při komunikaci s něcoapp. Klient nepotřebuje něcoapp,
ale jenom těch pár konstant. Vpodstatě analogie hlavičkového souboru z C.

Ale instalovat na klienty celou něcoapp by znamenalo asi 15 dalších
závislostí,
a to není ono (navíc na některých platformách ani nejsou).

--
Petr



2016-08-25 13:29 GMT+02:00 Ondrej Tuma <konfere...@webjet.cz>:

> Hoj,
>
> úvahy tohoto typu řeším nejméně jednou do roka :-) V dané situaci sem
> došel k následujícímu:
> * Pokud necolib má smysl použít jen v necoapp, nemá smysl aby
>   to byly dva balíčky.
> * Pokud je necoapp jen jakési how-to, nebo ukázka jak použít
>   necolib, možná by ani neměl existovat necoapp v balíčku, nebo
>   nechť je součástí necolib např. v nějakém share adresáři
> * Pokud je necoapp primární účel necolib, tedy z 99% nikdy
>   nebude potřeba necolib bez necoapp nech je necoapp normalni
>   binarni soucast necolib (takhle to ma treba distutils a
>   nástroje rst2XXX)
> * No a pokud je rozumná pravděpodobnost, že necolib bude
>   použito i jinde než v necoapp, tak nechť to jsou normálně dva
>   balíčky v extra adresářové struktuře.
>
> Ondra
>
> V Thu, 25 Aug 2016 09:53:25 +0200
> Petr Blahos <petrbla...@gmail.com> napsáno:
>
> > Ahoj,
> >
> > mám takovou situaci: Aplikační server s nějakým API, a pro funkci
> > toho API potřebuju poskytnout klientům nějaké konstanty. Takže
> > myšlenka je ta, že budu mít 2 balíčky, něcolib - knihovna a
> > něcoapp - aplikace. Oba budou žít v jednom source tree, jako třeba
> >
> > něco/
> > něco/setup.py
> > něco/něcolib/__init__.py
> > něco/něcoapp/__init__.py
> >
> > a na klientovi se bude instalovat jenom něcolib.
> >
> > V jednom setup.py bude 2x volání setup, jednou pro něcolib, jednou pro
> > něcoapp, takže
> >   setup.py akce
> > udělá tu akci pro oba balíčky.
> >
> > Zajímalo by mě, jestli je na tomto přístupu podle vás něco špatně,
> > pokud ano tak co.
> >
> > Díky,
> > Petr
>
>
>
> --
> Ondřej Tůma <mc...@zeropage.cz>
> www: http://ipv6.mcbig.cz   jabber: mc...@jabber.cz   twitter: mcbig_cz
>
> ___
> Python mailing list
> python@py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Re: [python] Vice balicku v jednom setup.py

2016-08-25 Tema obsahu Petr Blahos
No, ty konstanty právě budou v tom samostatném balíčku něcolib, ale ve
stejném source tree
a s něcoapp mají společný setup.py. Takže ten setup.py pak vygeneruje
balíčky něcoapp
a něcolib.

--
Petr


2016-08-25 10:01 GMT+02:00 Petr Messner <petr.mess...@gmail.com>:

> Co ty konstanty vyčlenit do samostatného balíčku?
>
> PM
>
> Dne 25. srpna 2016 9:53 Petr Blahos <petrbla...@gmail.com> napsal(a):
>
>> Ahoj,
>>
>> mám takovou situaci: Aplikační server s nějakým API, a pro funkci
>> toho API potřebuju poskytnout klientům nějaké konstanty. Takže
>> myšlenka je ta, že budu mít 2 balíčky, něcolib - knihovna a
>> něcoapp - aplikace. Oba budou žít v jednom source tree, jako třeba
>>
>> něco/
>> něco/setup.py
>> něco/něcolib/__init__.py
>> něco/něcoapp/__init__.py
>>
>> a na klientovi se bude instalovat jenom něcolib.
>>
>> V jednom setup.py bude 2x volání setup, jednou pro něcolib, jednou pro
>> něcoapp, takže
>>   setup.py akce
>> udělá tu akci pro oba balíčky.
>>
>> Zajímalo by mě, jestli je na tomto přístupu podle vás něco špatně,
>> pokud ano tak co.
>>
>> Díky,
>> Petr
>>
>> ___
>> Python mailing list
>> python@py.cz
>> http://www.py.cz/mailman/listinfo/python
>>
>> Visit: http://www.py.cz
>>
>
>
> ___
> Python mailing list
> python@py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

[python] Vice balicku v jednom setup.py

2016-08-25 Tema obsahu Petr Blahos
Ahoj,

mám takovou situaci: Aplikační server s nějakým API, a pro funkci
toho API potřebuju poskytnout klientům nějaké konstanty. Takže
myšlenka je ta, že budu mít 2 balíčky, něcolib - knihovna a
něcoapp - aplikace. Oba budou žít v jednom source tree, jako třeba

něco/
něco/setup.py
něco/něcolib/__init__.py
něco/něcoapp/__init__.py

a na klientovi se bude instalovat jenom něcolib.

V jednom setup.py bude 2x volání setup, jednou pro něcolib, jednou pro
něcoapp, takže
  setup.py akce
udělá tu akci pro oba balíčky.

Zajímalo by mě, jestli je na tomto přístupu podle vás něco špatně,
pokud ano tak co.

Díky,
Petr
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Re: [python] dynamický vstup klávesnice do stránky s formulářem pod Windows

2016-04-06 Tema obsahu Petr Blahos
Ano ano, úplně stejné je to i na debianu s Gnome3 (tedy při české
klávesnici to píše česká písmenka
místo čísel, přesněji řečeno nepíše to čísla místo písmenek).
--
Petr


2016-04-04 8:48 GMT+02:00 Petr Blahos <petrbla...@gmail.com>:

> To, co jsem psal jsou jenom moje doměnky, ale jestli to tak je, tak to bude
> fungovat stejně na každým OS. Až půjdu s počítačem kolem USB čtečky,
> tak to vyzkouším...
>
>
> --
> Petr
>
>
> 2016-04-04 1:50 GMT+02:00 Jakub Vysoky <ja...@borka.cz>:
>
>> Hehe, omlouvam se, obcas proste zapomenu, jak uzasna architektura ty
>> windows jsou :)) Diky za objasneni.
>>
>>
>> On Sunday, April 3, 2016, Petr Blahos <petrbla...@gmail.com> wrote:
>>
>>> Ahoj, nevím, jak čtečky karet, ale u USB čteček barkódů je tohle
>>> naprosto standardní
>>> chování. HID standard jsem nestudoval, ale jelikož klávesnice neví, jaká
>>> je na počítači
>>> nastavená klávesníce, tak nemůže poslat, že je to znak 9, ale musí
>>> poslat 10. klávesa
>>> ve 2. řadě (čili scan kód). Z toho prostě moc není cesta ven.
>>>
>>> Zatím všechny čtečky barkódů, který jsem potkal měly možnost nastavení,
>>> aby neposílaly
>>> čísla z horní řady klávesníce, ale z numerické klávesnice, a aby
>>> posílaly vždy velká/malá
>>> písmenka.
>>>
>>> To, že to posílá do aktivního okna (dokonce do políčka s focusem), to
>>> tak prostě opravdu je.
>>> Existuje hack - detekovat, jestli to píše opravdu rychle - pak je to
>>> čtečka.
>>> Proto mám raději sériové verze těchto zařízení (u čteček barkódů vždy
>>> existuje),
>>> ale s tím se zase blbě leze do web browseru (jde to, ale blbě).
>>>
>>> --
>>> Petr
>>>
>>>
>>>
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Re: [python] dynamický vstup klávesnice do stránky s formulářem pod Windows

2016-04-04 Tema obsahu Petr Blahos
To, co jsem psal jsou jenom moje doměnky, ale jestli to tak je, tak to bude
fungovat stejně na každým OS. Až půjdu s počítačem kolem USB čtečky,
tak to vyzkouším...


--
Petr


2016-04-04 1:50 GMT+02:00 Jakub Vysoky <ja...@borka.cz>:

> Hehe, omlouvam se, obcas proste zapomenu, jak uzasna architektura ty
> windows jsou :)) Diky za objasneni.
>
>
> On Sunday, April 3, 2016, Petr Blahos <petrbla...@gmail.com> wrote:
>
>> Ahoj, nevím, jak čtečky karet, ale u USB čteček barkódů je tohle naprosto
>> standardní
>> chování. HID standard jsem nestudoval, ale jelikož klávesnice neví, jaká
>> je na počítači
>> nastavená klávesníce, tak nemůže poslat, že je to znak 9, ale musí poslat
>> 10. klávesa
>> ve 2. řadě (čili scan kód). Z toho prostě moc není cesta ven.
>>
>> Zatím všechny čtečky barkódů, který jsem potkal měly možnost nastavení,
>> aby neposílaly
>> čísla z horní řady klávesníce, ale z numerické klávesnice, a aby posílaly
>> vždy velká/malá
>> písmenka.
>>
>> To, že to posílá do aktivního okna (dokonce do políčka s focusem), to tak
>> prostě opravdu je.
>> Existuje hack - detekovat, jestli to píše opravdu rychle - pak je to
>> čtečka.
>> Proto mám raději sériové verze těchto zařízení (u čteček barkódů vždy
>> existuje),
>> ale s tím se zase blbě leze do web browseru (jde to, ale blbě).
>>
>> --
>> Petr
>>
>>
>>
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Re: [python] dynamický vstup klávesnice do stránky s formulářem pod Windows

2016-04-03 Tema obsahu Petr Blahos
Ahoj, nevím, jak čtečky karet, ale u USB čteček barkódů je tohle naprosto
standardní
chování. HID standard jsem nestudoval, ale jelikož klávesnice neví, jaká je
na počítači
nastavená klávesníce, tak nemůže poslat, že je to znak 9, ale musí poslat
10. klávesa
ve 2. řadě (čili scan kód). Z toho prostě moc není cesta ven.

Zatím všechny čtečky barkódů, který jsem potkal měly možnost nastavení, aby
neposílaly
čísla z horní řady klávesníce, ale z numerické klávesnice, a aby posílaly
vždy velká/malá
písmenka.

To, že to posílá do aktivního okna (dokonce do políčka s focusem), to tak
prostě opravdu je.
Existuje hack - detekovat, jestli to píše opravdu rychle - pak je to čtečka.
Proto mám raději sériové verze těchto zařízení (u čteček barkódů vždy
existuje),
ale s tím se zase blbě leze do web browseru (jde to, ale blbě).

--
Petr





2016-04-02 2:48 GMT+02:00 Jaroslav Vysoký :

> Mám osobní zkušenost (gympl Rce), že čtečka karet se takhle debilně chová.
> Aby to četlo kódy karet korektně, musí být zapnuta EN klávesnice, jinak to
> píše diakritiku.
>
> Je to samozřejmě v nějakém softu ve widlích, takže co je konkrétně na
> vině, to neví ani sám pán bůh, a i velký Bill pouze tuší...
>
> Ale abych okennímu světu nekřivdil, možná to skutečně posílá scan kódy.
>
> J.V.
>
>
> Dne 2. dubna 2016 2:26 Jaroslav Vysoký 
> napsal(a):
>
>> Mám osobní zkušenost (gympl Rce), že čtečka karet se takhle debilně
>> chová. Aby to četlo kódy karet korektně, musí být zapnuta EN klávesnice,
>> jinak to píše diakritiku.
>>
>> Je to samozřejmě v nějakém softu ve widlích, takže co je konkrétně na
>> vině, to neví ani sám pán bůh, a i velký Bill pouze tuší...
>>
>> J.V.
>>
>>
>> Dne 2. dubna 2016 1:31 Jakub Vysoky  napsal(a):
>>
>> take mi to prijde jako nejaka divocina, to je opravdu zpusob, jak se
>>> ctecky prstu pouzivaji? to ze se to chova jako klavesnice (HID zarizeni)
>>> bych jeste chapal. ale nutnost spolehat se na zrovna zapnuty layout
>>> klavesnice ci aktivni okno, to uz se mi tolik nezda..
>>>
>>> 2016-03-31 22:25 GMT-07:00 Ing. Vladislav Ludík :
>>>
 To vypadá velmi nadějně.
 Bohužel musím dnes odjet na Slovensko a vracím se až v neděli.
 Nestihnu to odzkoušet.

 Mám jen jednu pochybnost o funkci "listener.php".
 Jde o to, že má čtečka je aktivována modulem ( napsaným v C# ), který
 po spuštění běží na pozadí Windows.
 Jeho chování je takové, že po přečtení UHF tagu odešle interní znaky
 klávesnice na místo, kde je zrovna aktivní okno a kurzor myši.
 V mém programu je to input okno. Tam se znaky čteného tagu objeví.
 Má to pro zajímavost také tu nepříjemnou vlastnost, že pokud není
 klávesnice přepnutá do US,
 znaky jsou interpretovány zástupnými znaky, jak je kódování například
 klávesnice CES zobrazí.
 To ale umím překódovat, v tom problém není.
 Co se týká intervalu čtení, tam bude vhodné dát po vynulování pauzu
 určitě, čtečka je schopná načíst čip několikrát po sobě.

 Zatím díky za pomoc.

 Vláďa

 Dne 31.3.2016 v 16:54 Martin Čech napsal(a):

 Co neco takoveho?
 https://jsfiddle.net/n0ata9q8/7/

 Martin

 On Thu, Mar 31, 2016 at 10:03 AM Jirka Vejrazka <
 jirka.vejra...@gmail.com> wrote:

> Bohuzel, dnes nemam pristup k PC. Snad se ozve nekdo jiny...
>
> *From: *Ing. Vladislav Ludík
> *Sent: *čtvrtek, 31. března 2016 16:02
> *To: *Konference PyCZ
> *Reply To: *Konference PyCZ
> *Subject: *Re: [python] dynamický vstup klávesnice do stránky s
> formulářem pod Windows
>
> AJAXem určitě ano. Bohužel moje pokusy byly neúspěšné. Nebyl by nějaký
> příklad kódu, který bych mohl vyzkoušet ?
>
>
> Dne 31.3.2016 v 15:54 Jirka Vejrazka napsal(a):
>
> To je resitelne jednoduchym Ajaxem, ne? Nebo mi neco unika?
>
>  Jirka
>
> *From: *Ing. Vladislav Ludík
> *Sent: *čtvrtek, 31. března 2016 15:48
> *To: *python@py.cz
> *Reply To: *Konference PyCZ
> *Subject: *[python] dynamický vstup klávesnice do stránky s
> formulářem pod Windows
>
> Zdravím všechny,
>
> mám problém, který bych rád vyřešil lépe.
>
> Popis:
> Příruční čtečka UHF RFID čipů je připojena pomocí USB.
> Tato čtečka simuluje klávesnici.
> Webová aplikace běží na Windows, používám Cherrypy. To ale není
> podstatné. Kód je HTML a JS, popřípadě PHP.
> Po přiložení čipu odešle v mém případě čtečka číslo čipu, což je 24
> znaků do* input* pole formuláře.
> Po stisku *SUBMIT *se pak číslo dále zpracovává.
>
> Chtěl bych však vylepšit snímání znaků ze čtečky nejlépe tak, že
> stránka bude očekávat 24 znaků (jako z klávesnice)
> a poté je předá ke zpracování dynamicky sereru, například v nějakém
> časovém intervalu. Tedy bez ručního odesílání.
>
> Je to řešitelné ?
>
> Díky Vláďa
>
>

Re: [python] OT: Coding style

2015-11-27 Tema obsahu Petr Blahos
2015-11-27 16:46 GMT+01:00 Petr Přikryl :

> Já jsem si říkal, že už jsem to někde viděl. Používáte pořád wxPython pro
> Python 2,
> nebo už zkoušíte verzi pro Python 3? (Phoenix).
>
> Sice wxPython 3, ale pořád python 2.

(Neměli jsme tady konvenci, že si tykáme?)

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

Visit: http://www.py.cz

Re: [python] Coding style

2015-11-27 Tema obsahu Petr Blahos
Děkuju všem za tipy. Já to vpodstatě vidím stejně (kromě negativních názorů
na ternární
operátor, inu C je mi pořád nejbližší). evt je event ve frameworku wx,
evt.Skip() znamená,
že se bude event dál zpracovávat. Velký písmeno je tam proto, že ten
framework holt má
velký písmena :-)

--
Petr



2015-11-26 20:10 GMT+01:00 Jan Bednařík <jan.bedna...@gmail.com>:

> Ahoj, 'evt.Skip' je metoda nebo třída? Podle názvu (velkého písmena na
> začátku) to vypadá na třídu, ale podle toho příkladu to vypadá na metodu.
>
> 2015-11-26 8:26 GMT+01:00 Petr Blahos <petrbla...@gmail.com>:
>
>> Ahoj, co považujete za lepší coding style?
>>
>> if evt:
>> evt.Skip()
>>
>> nebo
>>
>> evt.Skip() if evt else None
>>
>> ?
>>
>> Dík,
>> Petr
>>
>> ___
>> Python mailing list
>> python@py.cz
>> http://www.py.cz/mailman/listinfo/python
>>
>> Visit: http://www.py.cz
>>
>
>
> ___
> Python mailing list
> python@py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

[python] Coding style

2015-11-25 Tema obsahu Petr Blahos
Ahoj, co považujete za lepší coding style?

if evt:
evt.Skip()

nebo

evt.Skip() if evt else None

?

Dík,
Petr
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Re: [python] Beating the Averages

2015-11-09 Tema obsahu Petr Blahos
Četl jsem to asi před rokem a teď znovu, a klidně bych si o tom i promluvil,
ale tohle chce spíš osobně. Jedeš na pycon? Moc se mi líbí ten poslední
odstavec, ne proto, že specificky zmiňuje Python, ale proto, že říká, že
když
se recruiter zajímá hodně o tu technologickou část, tak je asi mimo.

Já jsem po přečtení dokonce měl i tendenci se učil Lisp, ale nenašel jsem
si na to čas. Učili jste se lisp? Z čeho? A když jsme u Lispu, myslím, že
to byl
Brandon Rhodes, nevím jestli
tady: https://www.youtube.com/watch?v=YklKUuDpX5c
tady: https://www.youtube.com/watch?v=FVEEndIwOSA
nebo tady: https://www.youtube.com/watch?v=x-kB2o8sd5c
že C++oví programátoři dokážou líp komunikovat mezi sebou než Lispoví,
protože Lisp je tak expresivní, že není potřeba moc spolupracovat - každej
si to napíše sám.

Jo a když jsme u hezkých článků, tak pro ty, kdo si myslí, že tím, že je
spasí,
když si budou všechno kompilovat sami:
https://www.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf

--
Petr







http://pysk.blog.root.cz/

2015-11-09 14:46 GMT+01:00 Vladimir Macek :

> Ze Paul Graham je genius, o tom asi mnoho z vas presvedcovat nemusim. Cetl
> jsem zrovna Joela a on odkazal urcitym terminem na clanek
>
> http://www.paulgraham.com/avg.html
>
> Nejdriv jsem se klasicky lekl delky. Prirozene, je 21. stoleti. Ale precetl
> jsem ho cely, slovo od slova. Je to neco uzasneho, moudrost, lehkost,
> diplomacie, spousta veci, ktere by se proste daly citovat, odkryti faktu,
> ktere jsem jen tusil. A krome toho mi to udelalo radost.
>
> Pokud se zajimate o programovani ve vyssim smyslu a ten clanek jste
> necetli, nebo jste ho v minulosti jen preletli, prosim vas, 1) udelejte si
> na nej cas v klidu, 2) venujte mu pozornost, 3) pokud vas zaujme, ozvete se
> mi. Chtel bych si o tom promluvit.
>
> Dik,
>
> --
> :  Vladimir Macek  :  http://macek.sandbox.cz  :  +420 608 978 164
> :  UNIX && Dev || Training  :  Python, Django  :  PGP key 97330EBD
>
> ___
> Python mailing list
> python@py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Re: [python] Roboti, REST, Flask?

2015-09-15 Tema obsahu Petr Blahos
Ještě poznámečka: Pokud bude GET měnit vnitřní stav aplikace, a povede k
němu
nějaký link, tak ho Google klidně navštíví při indexování :-) Nebo jak měl
kdysi takové
to přednačítání odkazů...
--
Petr


2015-09-15 22:33 GMT+02:00 Ales Zoulek :

> Technicky rozdil mezi PUT a GET je minimalni. Je ale konvence, aby akce
> odpovidala tomu HTTP "slovesu".
>
> Uplnym minimem je rozliseni mezi GET a POST. Tzn. GET (narozdil od POST)
> by nemel menit vnitrni stav serveru, pouze ten stav cist.
>
> HTTP REST uz je striktnejsi a popisuje presnejsi pouziti i DELETE, PUT,
> PATCH, etc.
>
> Pokud nemas vylozene duvod to nedodrzovat, tak je lepsi se te konvence
> drzet.
>
>
> A.
>
> On Tue, Sep 15, 2015 at 9:54 PM Marek Nožka  wrote:
>
>> Ahoj
>>
>> On Tue, 15 Sep 2015 08:40:33 +0200 Honza Javorek 
>> wrote to Konference PyCZ :
>>
>> > Jestli mají posílat nějaké informace a těma měnit stav na serveru, tak
>> > musíš použít i něco jiného než GET, pokud se budeme bavit aspoň o
>> samotném
>> > blbém HTTP, když už ne o RESTu.
>>
>> To je právě to, co nechápu. Pokud vezmu množinu jednoduchých akcí jaký je
>> rozdíl mezi
>>
>> GET /123acb/krok
>>
>> a mezi
>>
>> PUT
>> id = "123abc",
>> akce = "krok"
>>
>> Chápu, že když chci poslat nějaký větší objem dat je PUT jistě lepší, ale
>> pokud jde jen o jednoduché povely, co mi PUT nebo DELETE přináší za
>> výhodu?
>>
>> > Já bych ti to klidně nějak zkusil namodelovat, ale k tomu by se hodila
>> > komplet pravidla té hry a možné stavy, do jakých se lze dostat a jak se
>> do
>> > nich lze dostat.
>>
>> Pravidla jsou zatím velice jednoduchá:
>> Server umístí hráče na hrací pole a ukáže jim, kde je poklad. V každém
>> kole
>> lze provést jednu z akcí:
>>   * otoč se o 90° doleva
>>   * otoč se o 90° doprava
>>   * udělej krok
>>
>> Cílem je, za co nejmenší počet kol dosáhnout cíle. Server upozorní pokud
>> by klient šel do zdi nebo pokud chtějí dva hráči vejít na stejné políčko.
>> Počítám, ale časem s rozšířením pravidel o časované bomby, střílení,
>> dobíjení
>> a vybíjení baterií, práce v týmu. Uvidíme jak nám to půjde.
>>
>> Díky
>>   Marek
>> ___
>> Python mailing list
>> python@py.cz
>> http://www.py.cz/mailman/listinfo/python
>>
>> Visit: http://www.py.cz
>>
>
> ___
> Python mailing list
> python@py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

[python] Aktualizace balicku pred spustenim

2015-03-23 Tema obsahu Petr Blahos
Ahoj,

kdysi před lety, když jsem ještě netušil, že existují egg a podobné
jsem si udělal takovou věcičku, že když spouštím program, tam
má takový malý spouštěč, ten si šáhne na server, případně stáhne
a rozbalí novou verzi pokud tam je, a pak spustí. No a teď potřebuju
naimplementovat znovu vpodstatě totéž, ale myslím si, že už to někdo
musel udělat dříve a lépe. Nemáte nějaké typy?

Vlastnosti:
* musí to fungovat pod ne-root účtem
* musí to běžet i na windows
* ani snad nehledám nic na centrální správu a instalaci, očekávám, že
ta první instalace proběhne ručně, jde mi o aktualizace
* Python 2.7

Jestli nic není, tak přemýšlím tím směrem, že použiju easy_install --user
packagename
nebo pip install --user packagename s nastavením zdrojového adresáře na
nějakou tu siťovou cestu. Jenom mám obavu, aby to nebylo strašně pomalé.

Rád si přečtu vaše názory.

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

Visit: http://www.py.cz

Re: [python] Lock

2015-02-09 Tema obsahu Petr Blahos
Ahoj,

no, jestli ten kód vypadá opravdu přesně takto, tak dělá tohle:
* vytvoří úplně nový zámek a acquirene ho.
* udělá to sql
* releasene zámek.
No a druhý případný thread dělá to stejné:
* vytvoří úplně nový zámek a acquirene ho.
* udělá to sql
* releasene zámek.
Takže nic ničemu v ničem nezabrání.

Tohle se ale dělá transakcema, a pokud máš MyISAm engine, tak spíš zamčením
patřičných tabulek:
LOCK TABLES platby READ
...
UNLOCK TABLES

--
Petr





2015-02-09 11:42 GMT+01:00 mtip m...@atlas.cz:

 Ahoj,
 narazil jsem na problém se zámkem.

 Mám  aplikaci  na web serveru, která ukládá příznak booolean Zaplaceno
 do MySQL databáze.
 Občas  se ale stane, že potvrzení platby přijde najednou ve stejný čas
 ze dvou zdrojů. Chtěl jsem to vyřešit zámkem, což ale nepomůže.

 Princip kódu:

 from threading import Lock
 lock = Lock()
 lock.acquire()
 try:
 mysql_cursor.execute(SELECT Zaplaceno FROM platby WHERE Id=%s, (1,))
 if mysql_cursor.fetchall()[0]['Zaplaceno'] == 0:
 mysql_cursor.execute(UPDATE Zaplaceno=1 FROM platby WHERE Id=%s,
 (1,))
 mysql_connection.commit()
 # dalsi zpracovani platby...
 finally:
 lock.release()



 Pokud je request spuštěn 2x ve stený čas provede se zpracování platby 2x.
 Přičemž ale SELECT je pod zámkem, takže by se neměl provést mezi SELECT a
 UPDATE druhého threadu.
 Netušíte, kde může být problém?

 Díky za odpovědi.

 Mirek

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

 Visit: http://www.py.cz

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

Visit: http://www.py.cz

Re: [python] Využití Pythonu

2014-12-28 Tema obsahu Petr Blahos


 nedávno jsem se rozhodl, že se naučím další programovací jazyk, alespoň
 trošku. Jeden kamarád, který se v programování vyzná, mi doporučil Python,
 že se uplatní všude. Já bych se chtěl ale zeptat, jak přímo se dá uplatnit?


Dobrý den,

opravdu má docela dost široké uplatnění. Samozřejmostí jsou banality typu
webové stránky nebo aplikace,
s možností napojení na celkem jakoukoliv databází (jak SQL tak NOSQL),
knihovny pro celkem cokoliv
(včetně dnes populárního BigData, Machine Learningu a Natural Language
processing). Z úplně druhé strany,
existují knihovny na grafiku, open gl, psaní her. Nebo pokud vím, tak
raspberry PI jde programovat v Pythonu.
Jsou třeba i knihovny pro čtení i zápis formátů MS Office. Generování pdf.
Posledních asi 7 let dělám v Pythonu
všechno (intranety, webové aplikace, desktopové aplikace - téma: sledování
výroby).



 Jde v tomto jazyce udělat nějaký prográmek který se nebude ovládat v
 konzoli?
 Prostě normální program v normálním Windowsovém okně... Jde to? Má se cenu
 ten Python vůbec učit?


Prográmek zní jako něco malého, ano, jde to taky. Já sám mám i větší
prográmek (odhadem 20-50 různých
obrazovek) ve wxPython (ten má výhodu, že je multiplatformní, něco mi běží
na Macu, něco na Linuxu,
většina na Windows). Jestli se ptáte specificky na Windows, tak existuje
knihovna pywin32, která Vám
zprostředkuje skoro celé Win32 api, jenom s tím rozdílem, že třeba z C nebo
C++ se ty funkce volají hůř.
Stejně je to s OLE (jak se to teď jmenuje? ActiveX?)

Můj skromný odhad je, že Python spíš poroste. Ale s tím uplatněním ve
firmách zatím u nás není tak žhavé
jako třeba java, c++ nebo javascript.

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

Visit: http://www.py.cz

Re: [python] Tkinter

2014-09-14 Tema obsahu Petr Blahos
Ahoj světe,

přepiš si Ahoj světe na Ahoj svete, (bez háčků a bez čárek). Já považuju za
dobrej zvyk
rozhodně to žádných zdrojáků necpat nic jiného než 7 bit ascii. Python se
sice tváří, že
zvládá kódování, ale viditelně ne. Vysvětlení: Na začátku řekneš, že ten
soubor je v
utf8 (# -*- coding: utf-8 -*-) jenžes to kopíroval asi z webových stránek,
a ten soubor se
vytvořil v kódování nativním pro Tvůj OS (asi to bude cp1250).

Když to budeš chtít opravdu česky, tak určitě brzo narazíš na lokalizaci...
--
Petr


2014-09-14 10:17 GMT+02:00 joho...@gmail.com:

 Chci Vás poprosit jestli mi nepomůžete. Učím se programovat v python a
 ted jsem narazil na 11. lekci kde se učí tkinter (
 http://programujte.com/clanek/2005100902-python-11-lekce/ ). Všude se
 píše že se to
 automaticky instaluje s Pythonem. Ale když chci aby mi vypsal jen
 ahoj světě jak je to v článku přesně jak to tam je napsaný to okopíruji
 a dám do pythonu tak mi to hlásí chybu a už nevím co mam nainstalovat
 aby mi to chodilo. Moc prosím můžete mi poradit.

 http://johonek.rajce.idnes.cz/Python#tkinter.jpg

 --

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

Visit: http://www.py.cz

Re: [python] tkinter, treeview, focus a scroll

2014-06-03 Tema obsahu Petr Blahos
Ahoj, vypadá to, že na to je funkce see, jenže v tom __init__u to
nefunguje. Patrně je
potřeba, aby se to všechno vytvořilo a zobrazilo, a pak teprve to může
fungovat. Ono
to vlastně dá rozum, jak může see zobrazit něco v rámci něčeho, co vůbec
není vidět?

Když si do __init__u přidáš:
*self.btn = Button(self)*
*self.btn['text'] = 'select'*
*self.btn['command'] = self.do_select*
*self.btn.grid(row=2, column=0, sticky='ns')*

a pak přidáš funkci
*def do_select(self):*
*self.tree.selection_set('I024')*
*self.tree.see('I024')*

tak po stisku toho tlačítka už to tam nascrolluje.
--
Petr


http://pysk.blog.root.cz/

2014-06-03 11:58 GMT+02:00 zu1234 zu1...@seznam.cz:

 Zdravím vespolek.

 Tvořím GUI aplikaci v tkinteru a je to pro mne docela zápas.

 Narazil jsem na jednu nejasnost a nevím ani jak to na internetu hledat.

 Mám treeview, v něm označím jeden prvek ('134'), on ale je za rohem - není
 vidět.

 Potřeboval bych aby se treeview samo odrolovalo tak, aby označený prvek
 byl viditelný.

 Jak na to? Příklad přikládám.

 Alespoň nějakou nápovědu, prosím :-)

 ZU



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

 Visit: http://www.py.cz

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

Visit: http://www.py.cz

Re: [python] tkinter, treeview, focus a scroll

2014-06-03 Tema obsahu Petr Blahos

 Právě že chci aby se po spuštění programu
 zobrazila naposledy použitá položka.

 Proto mi to tlačítko nevyhovuje.


No, to tlačítko bylo právě na postrčení :-)


 Tak jsem vymyslel zavolání té funkce do_select()
 pomocí metody after() (viz příloha)

 Funguje to, jen mi to připadá dost podivné/amatérské.

 Ne ne. after, nebo třeba wx.CallAfter je běžný postup. Některé frameworky
mají event, který se vyvolá potom, co je okno vytvořeno, možná něco takového
najdeš, ale after je asi vpořádku. Píšu asi, protože přece jenom tk neznám,
ale představuju si to tak, že after se zavolá až bude volno, to znamená
jakmile se běh programu dostane do mainloop, a bude mít čas.

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

Visit: http://www.py.cz

Re: [python] Gtk LED on/off (začiatočník)

2014-03-30 Tema obsahu Petr Blahos
2014-03-26 12:59 GMT+01:00 taz t...@picasa.cz:

 Ja bych se do korespondencniho kurzu taky prihlasil. Sam se nedokopu k
 nicemu.

 Beru Tě na vědomí, a ozvu se. Ber to tak, že z mojí strany je to taky
experiment, a nevím, jestli se to  podaří.

Pro zájemce - diváky: Domluvili jsme se s Lukášem, že to zatím bude
neveřejné, a budeme vás po nějakém čase informovat formou nějakého
digestu.
--
Petr
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Re: [python] Gtk LED on/off (začiatočník)

2014-03-25 Tema obsahu Petr Blahos

 trochu som sa hral s LEDkami a chcel by som tam dorobiť funkciu blikania
 lediek.


[...]


 def cyklus_bliknutia (self, button, name):
 for name in range(4):
 if button.get_active():
 self.leds[int(name)].set_from_file(LED_off.png)   # ak
 je aktívne zhasne LEDku
 else:
 self.leds[int(name)].set_from_file(LED_on.png)# ak
 nie je aktívne, zapne LEDku

 Viem, že je to blobosť hneď z niekoľkých dôvodov:
 1, vo funckii 'blikanie' nevolám funkciu 'cyklus_bliknutia' pretože
 netuším, ako ju zavolať :)
 2, vo funckii 'cyklus_bliknutia' mám síce for, ale zasa neviem, ako
 otestovať postupne všetky tlačítka, keďže to ide cez 'name'.

 Jde o to, co jsme psali u té předchozí otázky: Je tam Gtk.main(), což je
Event loop, která se stará
o to, aby poslala event tam, kam patří. Takže když máš
  button.connect(toggled, handler, ...)
tak ta event loop, musí v okamžiku, kdy se s tlačítkem stane toggle zavolat
handler. Ty potřebuješ,
aby v době, kdy chceš blikat, Ti event loop v pravidelných intervalech
říkala: Teď blikni.

  https://gist.github.com/petrblahos/9769152

To je ten GLib.timeout_add. Všimni si, že já nechám to blikni zavolat
ikdyž je tlačítko vypnuté, a
v handleru blink_timer se dívám, jestli je to tlačítko sepnuté. Tím pádem
ale nebliknu hned jak někdo
zmáčkne tlačítko, ale bliknu to 1/2 sekundy. Navíc to blikání je
konstantní, a nedívá se, co bylo na
obrázku, když se začalo blikat, takže celkově nic moc. No, takhle musí
programátor přemýšlet. Hmm.

[...]


 A teraz otázky:
 Je nejaké presné poradie, podľa ktorého je potrebné uvádzať tieto premenné
 v zátvorke?
 Môžem s nimi pracovať lubovoľne? Mám na mysli tak, že keby som napr. chcel
 moje dve pseudofunckie zlučiť do jednej, môžem použiť niečo ako (self,
 btn_blikanie, button, name)? A ak áno, v akom poradí?

[...]

Já bych se moc nechtěl pouštět do vysvětlování těchto konceptů přes mail, a
navíc na
tak pokročilém tématu, jako je tvorba UI. Bohužel Ti nedokážu poradit
vhodnou literaturu
na začátek, ale zkus si pročíst python.cz, protože v nějakém uceleném
tutoriálu, nebo
knize, to bude popsané konzistentněji, než to dokážeme my, tady na listu.

Tak mě napadlo, jak říkal Moss v IT Crowdu, díle Moss a Němec, občas je
potřeba zkusit
něco nového. Takže jestli chceš, udělám Ti korespondenční kurz tím
způsobem, že dostaneš
úkol, ten vyřešíš (nebo ne), já Ti to opravím, a pošlu další úkol. Teda s
tím, že nemám
rozmyšleno, jestli dokážu udělat ty správné úkoly :-)

-- 
Petr

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

Visit: http://www.py.cz

Re: [python] základná programátorska otázka

2014-03-24 Tema obsahu Petr Blahos
2014-03-24 10:16 GMT+01:00 Lukáš Sliacky lu...@sliacky.eu:

 Začínam s pythonom + Gtk (a vlastne s programovaním vôbec) a stále mi v
 hlave vŕta zásadná otázka:

 Hypoteticky: Chcem urobiť aplikáciu, ktorá bude vedieť reagovať na akciu
 zvonku, napr. kalkulačku, ktorá by ale podporovala klávesové skratky. Robí
 sa to tak, že dám nejaký nekonečný cyklus, ktorý bude čakať, či zvonku
 príde konkrétna klávesová skratka, alebo sa to robí inak?


Ahoj,

Vpodstatě ano, ale ten nekonečný cyklus udělá ten framework (např. Gtk+).
Prvně si uděláš ta okna s ovládacími prvky, na ně připojíš handlery
(window.connect),
spustíš Gtk.main(). V něm vpodstatě je ten cyklus, který v okamžiku, kdy
přijde
nějaká událost, např. kliknutí na tlačítko, časovač, nebo jedna z mnoha
dalších,
tak z ní udělá např. volání toho handleru (led_button_handler, jestlis to
byl Ty).

Popravdě, v Gtk.main není obyčejný cyklus, protože ten by sežral veškerý
procesor,
takže se to musí dělat jinak, ale na této úrovni to stačí.


 Alebo: Mám aplikáciu, ktorá by snímala teplotu na čidle. Musím urobiť
 cyklus, ktorý napr. každých 15 sekúnd prečíta teplotu?


Na to jsou v UI frameworcích časovače. Takže nemáš cyklus, ale  nastavíš si
nějaký ten časovač,
který každých 15s vyvolá událost (pošle zprávu, zavolá handler), ovšem
nevím, jak se to dělá v Gtk.

Případně, já mám IP teploměry, které mi v zadaných intervalech posílají
teplotu třeba jako
HTTP GET. Ale to už jsme někde jinde.

--
Petr

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

Visit: http://www.py.cz

Re: [python] Gtk LED on/off (začiatočník)

2014-03-19 Tema obsahu Petr Blahos
Ahoj,

zkus tohle:
https://gist.github.com/petrblahos/9648800
a klidně se ptej. Ovšem připomínám, že s Gtk nedělám, takže je možné,
že Best Practices jsou někde jinde.

Je tam problém, že se mnohokrát volá set_from_file. Správně by bylo si ty
2 obrázky na začátku nahrát, a potom je jen použít.
--
Petr




2014-03-18 18:19 GMT+01:00 Lukáš Sliacky lu...@sliacky.eu:

 Ahoj Petr,

 ďakujem za ochotu. Rozumiem tomu, čo si chcel povedať, ale žiaľ, toto je
 môj prvý program, takže sa s tým celkom dobre trápim. (Hotovým zdrojákom
 ako tak rozumiem, ale ak mám vyprodukovať niečo z hlavy, je to problém)

 Snažil som sa Tvoj pseudokód preložiť do reálneho kódu, ale na to mám
 príliš málo vedomostí a skúseností.

 Výsledok je tu:

 from gi.repository import Gtk
 import sys

 class LedControl(Gtk.Window):

 def __init__(self):
 Gtk.Window.__init__(self, title=LED Control)
 self.set_border_width(6)
 self.set_default_size(200, 250)

 okno = Gtk.Table(4, 2, True)
 self.add(okno)

 img_LED_on = Gtk.Image()
 img_LED_on.set_from_file(LED_on.png)
 #~ self.add(img_LED_on)

 img_LED_off = Gtk.Image()
 img_LED_off.set_from_file(LED_off.png)
 #~ self.add(img_LED_off)

 widget_LED1 = Gtk.Image()
 widget_LED2 = Gtk.Image()
 widget_LED3 = Gtk.Image()
 widget_LED4 = Gtk.Image()

 widget1 = Gtk.Image()
 widget2 = Gtk.Image()
 widget3 = Gtk.Image()
 widget4 = Gtk.Image()

 button_LED_1 = Gtk.ToggleButton(LED 1)
 button_LED_1.connect(toggled, self.LED_OnOff, 1)
 button_LED_1.set_border_width(2)

 button_LED_2 = Gtk.ToggleButton(LED 2)
 button_LED_2.connect(toggled, self.LED_OnOff, 2)
 button_LED_2.set_border_width(2)

 button_LED_3 = Gtk.ToggleButton(LED 3)
 button_LED_3.connect(toggled, self.LED_OnOff, 3)
 button_LED_3.set_border_width(2)

 button_LED_4 = Gtk.ToggleButton(LED 4)
 button_LED_4.connect(toggled, self.LED_OnOff, 4)
 button_LED_4.set_border_width(2)

 led_widgets = {
 button_LED_1.id: widget1,
 button_LED_2.id: widget2,
 button_LED_3.id: widget3,
 button_LED_4.id: widget4
 }

 okno.attach(button_LED_1, 0, 1, 0, 1)
 okno.attach(button_LED_2, 0, 1, 1, 2)
 okno.attach(button_LED_3, 0, 1, 2, 3)
 okno.attach(button_LED_4, 0, 1, 3, 4)

 #~ widget1.set_from_image(img_LED_off)
 #~ widget1.set_from_image(img_LED_off)
 #~ widget1.set_from_image(img_LED_off)
 #~ widget1.set_from_image(img_LED_off)

 okno.attach = (widget_LED1, 1, 2, 2, 3)
 okno.attach = (widget_LED2, 1, 2, 0, 1)
 okno.attach = (widget_LED3, 1, 2, 1, 2)
 okno.attach = (widget_LED4, 1, 2, 2, 3)

 def LED_OnOff(self, okno, name):
 if okno.get_active():
 status = on
 led_widgets[okno.id].set_from_image(img_LED_on)
 else:
 status = off
 led_widgets[okno.id].set_from_image(img_LED_off)
 print(Tlačítko LED, name, zmenilo stav na, status)


 app = LedControl()
 app.connect(delete-event, Gtk.main_quit)
 app.show_all()
 Gtk.main()

 Našiel by sa niekto ochotný a hlavne trpezlivý, kto by ma posunul kúsok
 ďalej?
 Ďakujem.

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

 Visit: http://www.py.cz




-- 

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

Visit: http://www.py.cz

Re: [python] Gtk LED on/off (začiatočník)

2014-03-18 Tema obsahu Petr Blahos
Ahoj, já v Gtk nedělám, ale aspoň tohle:

v LED_OnOff je proměnná img_LED, která není nikde jinde.

vůbec v tom kódu nevidím důvod, proč by se něco mělo rozsvítit, nebo
zhasnout.

img_LED_on a img_LED_off je widget - nějaký ten prvek, který se někam
umístí. Je to
jeden prvek, tak se umístí na jedno místo. Pokud jej chceš vícekrát, musíš
jich vyrobit
více, a každý z nich umístit. Jedna věc je, že si určitě můžeš nahrát
obrázek jednou,
a pak jej přiřadit více prvkům, jako třeba (pseudo kód, Gtk neumím)

img_led_on = load_image(led_on.png)  # asi neco v gdk
img_led_off = load_image(led_off.png)

widget1 = Gtk.Image()
widget2 = Gtk.Image()
widget3 = Gtk.Image()

button1 = Gtk.ToggleButton(...)
button2 = Gtk.ToggleButton(...)
button3 = Gtk.ToggleButton(...)

# a napr:
led_widgets = {
button1.id: widget1,
button2.id: widget2,
button3.id: widget3,
}

# nastavení obrázku:
widget1.set_from_image(img_led_on)
widget2.set_from_image(img_led_on)
widget3.set_from_image(img_led_on)
# ...

No a pak bude handler:

def LED_OnOff(self, okno, name):
if okno.get_active():
led_widgets[okno.id].set_from_image(img_led_on)
else:
led_widgets[okno.id].set_from_image(img_led_off)
# nektere frameworky vyzaduji volani nejakeho refresh

Nevím, jak je to s ID okna v GTK, možná se identifikuje jinak než přes ID.
Určitě je tu spousta lidí, kteří upřesní to GTK, ale takhle bych to
vprincipu
viděl jako jednoduše pochopitelné.

--
Petr



2014-03-17 22:53 GMT+01:00 lu...@sliacky.eu:

 Ahojte,

 v Pythone som úplný začiatočník a chcem urobiť program, ktorý simuluje
 zapínanie a vypínanie LEDiek v závislosti na ToggleButtonoch.

 Momentálne mám hotové toto:

 from gi.repository import Gtk
 import sys

 class LedControl(Gtk.Window):

 def __init__(self):
 Gtk.Window.__init__(self, title=LED Control)
 self.set_border_width(6)
 self.set_default_size(200, 250)

 okno = Gtk.Table(4, 2, True)
 self.add(okno)

 img_LED_on = Gtk.Image()
 img_LED_on.set_from_file(LED_on.png)
 self.add(img_LED_on)

 img_LED_off = Gtk.Image()
 img_LED_off.set_from_file(LED_off.png)
 self.add(img_LED_off)

 button_LED_1 = Gtk.ToggleButton(LED 1)
 button_LED_1.connect(toggled, self.LED_OnOff, 1)
 button_LED_1.set_border_width(2)

 button_LED_2 = Gtk.ToggleButton(LED 2)
 button_LED_2.connect(toggled, self.LED_OnOff, 2)
 button_LED_2.set_border_width(2)

 button_LED_3 = Gtk.ToggleButton(LED 3)
 button_LED_3.connect(toggled, self.LED_OnOff, 3)
 button_LED_3.set_border_width(2)

 button_LED_4 = Gtk.ToggleButton(LED 4)
 button_LED_4.connect(toggled, self.LED_OnOff, 4)
 button_LED_4.set_border_width(2)

 okno.attach(button_LED_1, 0, 1, 0, 1)
 okno.attach(button_LED_2, 0, 1, 1, 2)
 okno.attach(button_LED_3, 0, 1, 2, 3)
 okno.attach(button_LED_4, 0, 1, 3, 4)

 okno.attach(img_LED_off, 1, 2, 0, 1)
 okno.attach(img_LED_on, 1, 2, 1, 2)
 #~ okno.attach(img_LED_off, 1, 2, 2, 3)
 #~ okno.attach(img_LED_on, 1, 2, 3, 4)

 def LED_OnOff(self, okno, name):
 if okno.get_active():
 status = on
 else:
 status = off
 img_LED=0
 print(Tlačítko LED, name, zmenilo stav na, status)

 app = LedControl()
 app.connect(delete-event, Gtk.main_quit)
 app.show_all()
 Gtk.main()

 ale nedarí sa mi rozchodiť svietenie LEDiek (LED_on.png / LED_off.png) na
 pozíciách vedľa jednotlivých tlačítok (LED 1 je vedľa tlačítka LED 1).

 Tiež sa chcem spýtať, prečo sa načítaný obrázok zobrazuje len jeden krát.
 Napr. keď chcem načítať obrázok LED_on.png 2x pod sebou, zobrazí sa vždy
 len raz:
 okno.attach(img_LED_on, 1, 2, 0, 1)
 okno.attach(img_LED_on, 1, 2, 1, 2)
 (Spodný obrázok sa nezobrazuje.)

 Našiel by sa niekto, kto by mi vedel poradiť? (Ak sú potrebné dodatočné
 informácie, rád ich obratom poskytnem.)

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

 Visit: http://www.py.cz




-- 

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

Visit: http://www.py.cz

Re: [python] Hledám parťáka který by si chtěl zkusit Flask

2014-03-06 Tema obsahu Petr Blahos
2014-03-06 11:18 GMT+01:00 Martin Matoušek martin.matou...@gmail.com:

 Ahoj,
 současně používám C#, ale jsem začátečník Pythonu. Nejlépe se mi učí přímo
 za běhu, při tvorbě nějaké aplikace, nejlépe v kombinaci s někým kdo již
 nějaké zkušenosti má.

 V práci máme nyní požadavek na vytvoření HelpDesk systému, podle konkrétní
 SLA. V projektu se budeme snažit vystříhat složitostem, jak v procesech,
 tak i v technologiích. Prakticky to znamená minimum ajaxu, žádný
 angular.js, apod. Procesně půjde spíš o evidenci požadavků se zobrazením
 zbývajícího času do vyřešení a hlášením na email. Požadavky budou
 zapisovány přímo do helpdesku, nikoliv emailem. Takový projekt mi přijde
 ideální na vyzkoušení nové technologie a na takovou věc tedy někoho hledám.
 [...]


Ahoj,
kdybys netrval na Flask, ale chtěl zkusit Pyramid, tak si můžeme pohovořit.
(Flask je každopádně dobrá volba).
--
Petr
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Re: [python] Filozoficko-průzkumná otázka

2014-02-26 Tema obsahu Petr Blahos

 Pěkný den vinšuji,
 pythonem se neživím, ale dost mě baví, jako nezaměstnaný mám dost času a
 dost mě těší rychlost (možná zdánlivá) pokroku. Tak bych se rád optal - kdo
 z vás se živí pythonem? A ti, kteří ano, co děláte (weby či něco jiného)?


Teď už dělám skoro všechno v Pythonu, kromě občasného udržování jedné
starší aplikace v C++. Dělám IS
(backend, web frontend, desktop frontend) pro sledování výroby a nástroje
pro integraci mezi několika IS.
Mám tu výhodu, že si nástroje vybírám sám, takže to, že jedeme na Pythonu
je moje volba. Pro zajímavost,
k Pythonu jsem se dostal tak, že jsem vybíral vhodný nástroj pro psaní
desktopových aplikací s charakteristikou:
Má to fungovat od včerejška, ale zadání dostaneš zítra. Vybral jsem
wxPython, no a postupně jsem u webu
přešel na Pylons, a kdybych začínal znova, tak bych asi i ten server, co je
v C++ psal v Pythonu.


 A jaké máte vzdělání?


VŠ FEL ČVUT.

--
Petr
http://pysk.blog.root.cz/
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Re: [python] Python problém - elegantnější zápis

2013-11-20 Tema obsahu Petr Blahos

 2013/11/20  bertiks...@gmail.com:
  mám list objektu, a potřebuji zkontrolovat jestli se jeden určitý
 parametr objektu rovná proměnné, a chtěl bych se zeptat, jestli to jde
 udělat elegantněji než takhle? Jde nějak spojit první dva řádky? Jsem pořád
 docela začátečník v Pythonu, takže se předem omlouvám, pokud je to velmi
 jednoduché, nebo to nejde zjednodušit.
 
  for objekt in list_objektu:
  if nazev==objekt.name:
  # něco to dále dělá


(bez znalosti kontextu) si myslím, že to lépe nejde. To Tvoje je
určitě čitelnější, než dělat list comprehension nebo generator
expression. Jiná věc by byla, kdybys to takhle procházel mnohokrát
nebo hledal různé hodnoty. Pak by třeba mělo smysl udělat si dict:

name_objekt_map = collections.defaultdict(lambda:[])
for i in objekt:
  name_objekt_map[i.name].append(i)

for objekt in name_objekt_map[nazev]:
# něco to dále dělá

--
Petr

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

Visit: http://www.py.cz

Re: [python] sháním Pythonistu na full time do Prahy - zajímavý plat :-)

2013-11-09 Tema obsahu Petr Blahos
Jen tak pro zajímavost, je to Lada, nebo Láďa?
--
Petr



2013/11/9 l...@mblue.cz

 Dne čtvrtek, 7. listopadu 2013 20:05:44 UTC+1 tomas.wa...@gmail.comnapsal(a):
  Vím, že ti to nepomůže, ale malinko to má souvislost.
 
  https://plus.google.com/115212051037621986145/posts/R8jEVrobbRj

 Děkuji. :-) Krásný víkend přeji.
 ___
 Python mailing list
 python@py.cz
 http://www.py.cz/mailman/listinfo/python

 Visit: http://www.py.cz




-- 
_
http://sites.google.com/site/petrsstuff/
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Re: [python] Poskozena diakritika pri zpracovani mailu na starsim Ubuntu

2013-10-23 Tema obsahu Petr Blahos
Ahoj,

nepřešlo ubuntu mezi těma verzema z kódování češtiny iso-8859-2 na utf-8?
Myslím, že doma mám jeden 10.04, mohl bych se podívat. Zkusil bych
každopádně na 10.04
   LC_ALL=C mujskript.py
jestli se to píše takhle. Nebo ma 12.04
  LC_ALL=cs_CZ.iso-8859-2 mujskript.py
jestli se to píše takhle, ale pokud to dopadne dobře, tak bych z toho ještě
nic
neusuzoval.

Každopádně:
uodložení trestního oznámení.encode(utf-8) odpovídá tomuto:
   odlo=C5=BEen=C3=AD trestn=C3=ADho ozn=C3=A1men=C3=AD
takže tam je to správně.

Ale odlo=17Een=ED trestn=EDho ozn=E1men=ED
je takovej zvláštní paskvil, který dostanu, když udělám
  odlo\xC5\xBEen\xC3\xAD trestn\xC3\xADho
ozn\xC3\xA1men\xC3\xAD.decode(utf-8)
Takže se tam objeví už dekódovanej string, ale někdo si
myslí, že to má být unicode, a znovu ho dekóduje.

Podezíral bych wxPython, ale to tam asi nemáš ;-)
--
Petr





2013/10/23 mol-pyt...@seznam.cz

 Kecám z hladu, pardon.

 -- Původní zpráva --
 Od: mol-pyt...@seznam.cz
 Datum: 23. 10. 2013
 Předmět: Re: [python] Poskozena diakritika pri zpracovani mailu na starsim
 Ubuntu

 Dobrý den.
 Předpokládám, že ty ukázky dole jsou až z toho odesílaného textu? Takže by
 bylo asi potřeba vidět spíš tu část kódu, která to vytváří. Protože
 rozkódovaný je to dobře, akorát se zakódovalo jako latin2, což neodpovídá
 posílané hlavičce.

 Zdraví,
 MM

 -- Původní zpráva --
 Od: Vladimir Macek ma...@sandbox.cz
 Datum: 23. 10. 2013
 Předmět: [python] Poskozena diakritika pri zpracovani mailu na starsim
 Ubuntu

 Zdravim,

 dodavam klientovi skript pro stazeni mailu z POP3, preformatovani a
 odeslani pres SMTP. Touto metodou beru z puvodniho mailu textovou cast:

 def get_email_text(self, msg):
 
 get plaintext part of the message, or None if none
 
 get_charset = lambda msg: msg.get_content_charset() or
 msg.get_charset() or 'ascii'
 get_payload = lambda msg: unicode(msg.get_payload(decode=True),
 get_charset(msg), 'replace')

 maintype = msg.get_content_maintype()
 if maintype == 'multipart':
 return u'\n'.join(get_payload(part) for part in
 typed_subpart_iterator(msg, 'text', 'plain'))
 elif maintype == 'text':
 return get_payload(msg)
 else:
 return None


 U me na Ubuntu 12.04.3 LTS s Python 2.7 i na Debian Squeeze s Python 2.6
 se maily zpracuji dobre. Zahlavi hlavni casti zdrojaku vysledneho mailu a
 dobre kodovany vyraz odlozeni trestniho oznameni:

 Content-Type: text/html; charset=utf-8
 MIME-Version: 1.0
 Content-Transfer-Encoding: quoted-printable

 odlo=C5=BEen=C3=AD trestn=C3=ADho ozn=C3=A1men=C3=AD


 Nicmene u klienta na Ubuntu 10.04 LTS s Python 2.6 maji vsechny maily
 diakritiku poskozenou, opet zahlavi s stejne slovo blbe kodovane:

 Content-Type: text/html; charset=utf-8
 MIME-Version: 1.0
 Content-Transfer-Encoding: quoted-printable

 odlo=17Een=ED trestn=EDho ozn=E1men=ED


 Vim, ze 10.04 je dost stara verze, ale takhle zlobit? Zaslal mi vypis
 promennych prostredi, nevidim tam nic podezreleho.

 Nesetkal se nekdo z vas s necim podobnym?

 Diky predem,

 Vlada

 ___
 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


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




-- 
_
http://sites.google.com/site/petrsstuff/
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] Začiatočník programuje, alebo čo som zostrojil a nefunguje to

2013-10-13 Tema obsahu Petr Blahos
 Práve som napísal trochu väčší program,lenže keď som ho chcel ukonciť
 normálne tj import system
system.exit()


 prekladač vyhodil chybu a až po 3 minútach ho ukončil.  Tak som ho ukončil
 po svojom a to takto:
  tj  import os
 os.abort()


Ahoj,
program má normálně doběhnout. Ne se nějak ukončovat. Např. můj oblíbený
program:

print Huuu B

normálně doběhne a skončí. Program běží odshora dolů, pokud neřekneš něco
jiného, a skončí tak, že doběhne nakonec a už nemá co dalšího dělat. Když
voláš
sys.exit(), tak to voláš určitě na nějakém místě, kam se ten program dostal,
takže když způsobíš, že toto místo bude na konci, tak nebude potřeba volas
sys.exit(). (Ne system, ale sys)

Např:

for i in range(500):
if 100==i:
print Koncime
sys.exit()

přepíšeš na

for i in range(500):
if 100==i:
print Koncime
break



 táto funkcia funguje. Pekne ho ukonči výpis pamäte cesta a úvodný riadok v
 terminály. Lenže  háčik je vtom že programy nemám takto ukončovať  a preto
 sa pýtam k čomu sa dá ta spomínaná funkcia prirovnať

 klávesy esc alebo kombinácii alt+f4?  a kvôli čomu ich nemám takto
 ukončovať?

 K ničemu bych to nepřirovnával. Esc neslouží k ukončení programu.
--
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] volání funkce, kde název je uložen v proměnné

2013-10-10 Tema obsahu Petr Blahos
2013/10/10 bertiks...@gmail.com

 Ještě bych se chtěl zeptat: jde nějak poslat jako paramtr funkci
 author=request.user,prispevek=prispevek? jde to o že nechci jednotlivě
 posílat proměnné, ale nejlépe to poslat takhle hromadně. Jde to nějak?


Jestli chápu otázku:

def f1(param1=1, param2=2, param3=3):
print param1, param2, param3

f1(**{ param1: 100, param3: 62 })

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

Re: [python] nahrada pip ?

2013-09-06 Tema obsahu Petr Blahos
Ne, že bych to zkoušel, ale podle pypi to vypadá, že pip podporuje Python 3.
https://pypi.python.org/pypi/pip/1.4.1
http://stackoverflow.com/questions/6587507/how-to-install-pip-with-python-3
Nebo jsem něco nepochopil?
--
Petr



2013/9/6 Ondrej Beranek rain...@gmail.com

 pustil jsem se do pythonu 3 zjistuji ze na windows neni nastroj pro
 instalaci ruznych veci napriklad psycopg. pouzilval jsem v minulosti PIP
 ale ten se zda ze zemrel s verzi 2...

 existuje nejake dobre reseni jak / cim pip nahradit ?


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

Re: [python] web

2013-03-04 Tema obsahu Petr Blahos
 vedeli by ste niekto doporučiť nejaký dobrý webový tutoriál pre webové
 programovanie v pythone?

 Našiel som zopár, ale žiadne z toho nevyhovovali.

 Hľadam, nejaký, kde autor zachádza do detailov, ale všetko vysvetluje
 pekne od začiatku. Angličtina nie je problémom.


Sice neodpovím, ale záleží na tom, jestli chceš [A] tutoriál, který vysvětlí
to, jak funguje web, nebo to už víš, a zjišťuješ, [B] jak na to v Pythonu.

Pokud [A], tak bych ani nehledal nic spojené s Pythonem. Začínáš od toho,
co
běhá po drátech. Python a web bude nějaký framework, a to už je dost vysoká
úroveň. Tam se naopak pomalu dostáváš od té abstrakce dolů k tomu co běhá
po drátech.

Pokud [B], tak je to otázka do jakého frameworku půjdeš. Tam máš vpodstatě
3 možnosti:
* Microframework - bottle.py, cherry.py, web.py, ... - jednoduché, ale málo
vestavěných vlastností.
* Monolititcký framework - django, turbogears - všechno v jednom - model,
view, šablony, testováni, lokalizaci ale nemáš moc na výběr.
* Full-stack unassuming framework - pylons/pyramid, asi i flask - umí
všechno, ale musíš si sám vybrat jak. Konkrétně u pyramid je to počáteční
rozhodování dost náročné, a už to chce něco vědět.
Vtip je v tom, že každý Ti poradí jiný framework. Já bych asi začal
nějakým microframeworkem. Jsou micro - dají se vyzkoušet všechny.
A čas ukáže, co dál.
--
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] Python, +GTK, PyGTK - inštalácia....príprava vývojového prostredia

2013-01-09 Tema obsahu Petr Blahos
Pokud vím, tak jenom nějaký experimentální projekt.
http://wiki.wxpython.org/ProjectPhoenix
--
Petr



2013/1/8 ondrej...@gmail.com

 Dňa nedeľa, 30. decembra 2012 16:28:16 UTC+1 Petr Blahos napísal(-a):
  Zdravím.
 
  Pred inštaláciou WxPython 2.8-win32-unicode je potrebné mať na PC
 nainštalovaný Python 2.7.3 ?
 
 Ondrej
 
 
 
  ___
 
 
  Ano. Pokud je wxPython...py27.exe tak ano python2.7, pokud je to
  wxPython...py26.exe
 
 
  tak python 2.6, ještě pozor na 32 a 64 bitů.
  --
  Petr

 A pre Python 3.3 ešte neexistuje zodpovedajúca verzia wxPython ?
Ondrej
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python




-- 
_
http://sites.google.com/site/petrsstuff/
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] program na pozadí Windows

2013-01-09 Tema obsahu Petr Blahos
Pomohlo by nespouštět to přes python.exe ale pythonw.exe? (pokud to
teda byla otázka na python...) Aha, vlastně aby se to nespustilo v konzoli,
tak je potřeba souštět pythonw.
--
Petr



2013/1/9 jirka.vejra...@gmail.com

 Pokus mi pamet slouzi dobre, tak jedna moznost je spustit program tak, aby
 mel pouze ikonku v tray (vpravo dole). Pokud by mel byt uplne schovany a
 bezet i kdyz neni nikdo prihlaseny, je potreba ho zaregistrovat jako sluzbu.

   Ale mozna se pletu, uz je to dlouho co jsem neco podobneho resil.

Jirka

 --Original Message--
 From: Ing. Vladislav Ludík
 Sender: Python
 To: Konference PyCZ
 ReplyTo: Konference PyCZ
 Subject: [python] program na pozadí Windows
 Sent: Jan 9, 2013 19:53

 Zdravím,

 chci aby program běžel na pozadí i bez otevřeného okna pod Windows.

 Existuje něco jako je nohup v Linuxu i ve Windows ?

 Díky

 Vláďa
 ___
 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




-- 
_
http://sites.google.com/site/petrsstuff/
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] No module named wx

2013-01-09 Tema obsahu Petr Blahos
To je divný, mě se wxpython vždycky nainstaloval správně. Máš soubor:
c:/python27/lib/site-packages/wx.pth?
--
Petr



2013/1/9 René Klačan rene.kla...@gmail.com

 Problem bude pravdepodobne v tom, ze nebudes mat zlozku, v ktorej je wx
 nainstalovany v PYTHONPATH, skus na to mrknut.

 Rene

 2013/1/9 ondrej...@gmail.com

 Zdravím.
 Mám python 2.7.3.
 Nainštaloval som wxPython2.8-win32-unicode-2.8.12.1-py27.exe.
 Keď spúšťam jednoduchý skript s modulom wx tak mi hlási:

 import wx
 ImportError: No module named wx

 Kde robím chybu.
  Ondrej
 ___
 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




-- 
_
http://sites.google.com/site/petrsstuff/
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] Python, +GTK, PyGTK - inštalácia....príprava vývojového prostredia

2012-12-30 Tema obsahu Petr Blahos

 Zdravím.
 Pred inštaláciou WxPython 2.8-win32-unicode je potrebné mať na PC
 nainštalovaný Python 2.7.3 ?
Ondrej
 ___

 Ano. Pokud je wxPython...py27.exe tak ano python2.7, pokud je to
 wxPython...py26.exe
tak python 2.6, ještě pozor na 32 a 64 bitů.
--
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] Python, +GTK, PyGTK - inštalácia....príprava vývojového prostredia

2012-12-26 Tema obsahu Petr Blahos
 souhlasím  - wxpython, a není problém aby to bylo plně multiplatformní.

 Pozor! Já píšu primárně ve woknech. Na Macovi mi to chodí, ale na Linuxu
v gtk jsem měl nějaké problémy. Hmm, místo wx.StaticText jsem z nějakého
důvodu musel použíte wx.lib.stattext.GenStaticText. Myslím, že nešla měnit
barva pozadí. Každopádně, jestli chcete multiplatformnost, doporučoval bych
psát to prvně v gtk portu.
--
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] Supervisord + python aplikace pracující s Gitem

2012-05-31 Tema obsahu Petr Blahos

 Ahoj,
 mám python aplikaci a ta pře subrocess dělá různé akce pomocí git
 clienta na serveru.
 Nevím proč, ale když ji pustím přes supervisord, tak mi selžou
 commity, protože se z nějakého důvodu nenačítá nastavení z
 ~/.gitconfig a subprocess vrátí chybu z shellu, ať si nastavím
 username/heslo.
 Zkoušel tomu cpát $GIT_CONFIG přes environment v supervisord.conf,
 nebo exportovat různé env variables z shell skriptu kteří spouští tu
 aplikaci, ale nic...Samozřejmě supervisord je pod rootem a ta aplikace
 opravdu běží pod správným uživatelským účtem.

 Když to spustím ručně, není problém.

 Tuší někde, kde je brouk?


Ahoj,

to sice netuším, ale zkusil bych si vypsat env (systémový) v době,
kdy to běží dobře, a v době, kdy to běží špatně, a porovnat. První
odhad by byla chybějící HOME, ale s Unixem už jsem dlouho nedělal
:-(

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

Re: [python] chyba kódování MySQL

2012-05-23 Tema obsahu Petr Blahos


 *'INSERT INTO zavodnici1 (id, prijmeni, jmeno, rok_narozeni, pohlavi)
 VALUES(Null, %s, %s, %d, %s)' % (PRIJMENI, Jmeno, rok_narozeni,
 pohlavi)*


Jenom doplnění, a vlastně off-topic, a něco co všichní vědí: tohle je MOC
MOC ZLÉ!!!

Pokud používáte MySQLdb, tak
cursor.execute(*'INSERT INTO zavodnici1 (id, prijmeni, jmeno, rok_narozeni,
pohlavi) VALUES(Null, %s, %s, %s, %s)' , (PRIJMENI, Jmeno, rok_narozeni,
pohlavi))*

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

Re: [python] PYTHONPATH

2012-01-24 Tema obsahu Petr Blahos
 Ale jasne,
 Resit, jak to delaji jine unixove programy je sice zajimavy, ale cekal bych, 
 ze na python ml se bude radit standardni reseni pythonu, ne miliony 
 ostatnich.
 To je špatně na tolik způsobů že ani nevím kde začít...

 Za prvé, standartní pythoní způsob je PYTHONPATH (a .pth, ale to je spíš
 bokovka), to je zdokumentovaná součást interpretru. Virtualenv je zvlášt
 balený wrapper, který dokonce ani není ve standartní knihovně.

Mě mate, že tomu říkáš wrapper. Virtualenv nikde nic neobaluje. Virtualenv
nastaví prostředí, vpodstatě udělá PYTHONHOME= PYTHONPATH=, a spustí
interpreter na jisté cestě, což implikuje hledání lib na určité cestě.
Tam se opět nic
ničím neobaluje, jenom se nastaví cesty, na kterých se hledají
knihovny. Podle mě
virtualenv můžeme nazýval lecjak, ale rozhodně ve mě neevokuje wrapper.

 Za druhé, nejsou žádné miliony ostatních, ale jen jeden způsob který
 používají miliony programů: cesty oddělené dvojtečkou v proměnné
 prostředí. Dokonce i Java se toho drží, a to už je tedy něco!

 Za třetí to celé má důvod, pokud standardni reseni pythonu  nebude
 totéž jako jak to delaji jine unixove programy tak máš zásadní

Bude podle Tebe vpořádku (myslím dostatečně unixové), když udělám
PYTHONHOME=cesta_nekam python mujskript.py
? Protože tohle je jeden ze způsobů, jak virtualenv použít.

 problémy s interoperatibilitou. Představ si to naopak - když ty budeš
 potřebovat z pythonu spustit program v javě nebo ruby, je jednodušší
 sáhnout známým způsobem do prostředí nebo zkoumat jaký speciální nástroj
 si jeho autoři zase vymysleli? (nápověda: je to chyták)

Hmm, programy v javě, které jsem před lety potkával já (ant, tomcat,
...), k tomu
přistupovaly tak, že měly spouštěcí shell script, který nastavil JAVA_HOME,
k tomu ANT_HOME nebo tak něco, zpravidla si z ANT_HOME nebo tak něčeho
posbíral knihovny z lib/ext, vytvořil z nich parametr pro -classpath a
spustil javu
z JAVA_HOME. Když bych to dělal z programu a nechtěl spouštět ten skript,
tak bych tohle všechno musel řešit sám. Za domácí úkol si zkusím najít deb
balíček. Každopádně, nejjednodušší je spustit pomocí systémovýho shellu
skript, kterej má na první řádce napsaný, čím se má provést. Např. tím
interpreterem pythonu ve virtualenv.

Aha, když je to chyták, tak správná odpověď je: Je mi jedno, jaký spec. nástroj
si jeho autoři vymysleli, protože spouštím program, ne interpreter
s parametrem
jméno skriptu, a ten program se o obstarání toho spec. nástroje postará sám.

[...]
 soudů: IMO Python deployment je totéž jako Java deployment nebo PHP
 deployment - nesmysl.
Tady se asi něco ztratilo?

Totiž, aby vám nepřipadalo, že tady jenom zbytečně otravuju. Pokud si dobře
vzpomínám, v jakém duchu byla vedená celá tahle diskuze, a to v duchu správného
nastavování environment variables, tak nevidím rozdíl mezi tím, že
použiju virtualenv
(což vpodstatě jen nastaví, kde se hledají knihovny), a nepoužiju
virtualenv, jenom si
nastavím, kde se hledají knihovny. Nadruhou stranu, to, jak se tady
objevilo nastavit
PYTHONPATH systemwide, a ještě k tomu na svoje moduly, mi přijde jako mnohem
větší prasárna, než všechny virtualenvy dohromady.

Kde rozdíl vidím je:
Pro balíčkovací systém:
+ snadná aktualizace všech balíčků
+ bude to fungovat, ikdyž se zaktualizuje python
Pro virtualenv:
+ možnost mít různá prostředí s různými verzemi či sadami knihoven -
umíte to balíčkovacím systémem?
+ možnost použití v OS, kde není balíčkovací systém
+ vlastní balíčkovací systém (pip nebo easy_install) pro případ, že
zrovna pro knihovnu, kterou potřebuju, není rpm/deb

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


Re: [python] PYTHONPATH

2012-01-11 Tema obsahu Petr Blahos
 Zřejmě to lépe nejde. Ale výsledek stojí za to - rozhodně lepší, než
 se snažit mít v systému nainstalované verze modulů, které by byly
 kompatibilní se vším, nebo být nucen izolovat aplikace do virtuálních
 serverů.

 Zpětná kompatibilita je snad normální věc? Nekompatibilita by měla být výjimka
 a ne pravidlo. A když už, v první řadě by to měl řešit balíčkovací systém.

No, nevím. Občas není od věci říct: Tak tady jsme úplně se netrefili,
a v příští
verzi už takhle ne. (webhelpers, webob, pylons, sqlalchemy, nakonec ani python
2 a 3 nejsou tak úplně kompatibilní). Ale to je spíš otázka filozofická.

 Tohle může být úžasná věc když mám přibalené knihovny k nějakému uzavřenému
 bastlu mimo balíčkovací systém, ale to je krajní případ.

virtualenv + ( pip | easy_install) = balíčkovací systém :-)

 V každém případě dotaz se konfliktních knihoven netýkal a používat takovou věc
 jen kvůli nastavení PYTHONPATH mi pořád připadá jako rozbíjení vejce
 atomovkou.

No jo, jenže my nevíme, jak velký vejce to je. A třeba zmutuje, a
značně si rošíří
obzor. Kromě toho, tohle není jenom o tomhle vejci, ale taky sdělení: Hele, my
používáme virtualenv, mrkni na to, může se hodit. Protože jak se o
tom má člověk,
který začíná, dozvědět jinak, než od dobrých kamarádů ve fóru?
--
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] problém modulu na windows 64bit

2011-06-27 Tema obsahu Petr Blahos
 zdravím,
 na 32-bit windows mi program šlape bez chyby ale na 64-bit windowsoch
 dostávam túto chybu:

 Traceback (most recent call last):
  File app.py, line 1040, in do_this_now
  File kinterbasdb\__init__.pyc, line 119, in module
  File kinterbasdb\_kinterbasdb.pyc, line 12, in module
  File kinterbasdb\_kinterbasdb.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.

Ahoj, nebudou tam nějak namíchané verze? Jako 32b python a knihovna pro
interbase a 64b interbase, nebo naopak?
--
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Jaky zpusobem ukladat data do pole

2011-04-01 Tema obsahu Petr Blahos
 Potrebuju vedet, jak se ukladaji data rekneme tomu, kdyz mam XML
 dokument?

Opravdu to má být otázka? A patří to stále k tématu Jaky zpusobem
ukladat data do pole?
Jen na okraj, slušnější formulace by Ti dala větší šanci na lepší odpověď.

 Jaka je reprezentace v Pythonu?

Standardní knihovny xml.dom, xml.sax, popsané ve standardní dokumentaci.

 Existuji nejake postupy?

Ano. Jsou to běžné postupy, používané i v jakýchkoliv jiných jazycích
(sax, dom).
Trochu jiný přístup mají Gnosis Utils http://freshmeat.net/projects/gnosisxml/,
nebo můj pdom https://sites.google.com/site/petrsstuff/projects/pdom, který
není doveden do konce a neposkutuju k němu žádnou podporu, ale může naznačit,
jak na to.
--
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] py.cz (bylo: Re: omezeni globalniho slovniku)

2011-03-17 Tema obsahu Petr Blahos
Já vždycky dlouho váhám, jestli mám vůbec něco psát, pak něco napíšu,
pak si říkám,
že jsem asi neměl.

Takže tahle diskuze vznikla z diskuze o tom, že používat exec na [XXX]
není dobrý
nápad, a padl tam návrh udělat nějaké FAQ, aby se tady věci neomýlaly
pořád dokola.
Já navrhuju do toho FAQ přidat i připomínku, že už probíhaly diskuze o
přeměně fóra
na něco jiného (web, fb), přeměně webových stránek, a nikdy z toho nic
nebylo. Ani
teď z toho nic nebude, protože aby z toho něco bylo, tak by musel
někdo něco dělat.
Ne udělat, ale dělat. Opakovaně, pravidelně, cíleně. Protože, nechte
rozjezd na komunitě
a umře to. (Jako qa.rosti.cz - Nic ve zlém.)

Jo a taky to prosím neberte tak, že se stěžuju, že nikdo nic nebude
dělat, protože
já jsem první v řadě, kdo nebude nic dělat. To je jenom konstatování faktu.

[...]
 Pro rozvoj
 Pythonu je třeba stále podchycovat a udržovat.

Proč? :-) (no flames please. Já jsem trochu víc pro osud. Člověk se
musí postupně
k něčemu dopracovat, a s trochou štěstí to bude to, co mu sedí. S trochou smůly
bude někdo podchycovat a podchytí něco, co tak být nemělo. No nic, zavolám
astrologovi a půjdu spát.)
--
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] py.cz (bylo: Re: omezeni globalniho slovniku)

2011-03-17 Tema obsahu Petr Blahos
 Pro rozvoj
 Pythonu je třeba stále podchycovat a udržovat.

 Proč? :-) (no flames please. Já jsem trochu víc pro osud. Člověk se
[...]
 Já to vnímám více jako sad. Když to necháte osudu, nemáte nic. Pokud
 pečujete a připravujete podmínky, jste pan zahradník a sklizen bude
 velká. Osud může totiž být i ta práce na tom, aby něco bylo. :-)

To bych viděl jako užitečnější na mnohem základnější úrovni, než
na úrovní Pythonu. Třeba když se někdo zeptá na exec, tak odpověď
nezní nepoužívat v Pythonu, ale nepoužívat nikde. (projel jsem si
všechen svůj kód a našel 2x exec :-) ) Neboli: řekni nám
zadání, a my Ti dáme několik návrhů lepšího řešení, ale to nemá být
python, jenom myšlení. Nebo: Q: Jak smazat učitelův počítač? A: Začni
něčím jednodušším, třeba bankou. Zase žádný Python.
Bohužel, taková práce znamená trpělivě odpovídat stovce děcek na
debilní dotazy a doufat, že se 2 z nich chytí. Já spíš věřím tomu, že
ten, kdo si ty znalosti má získat, tak si je nakonec získá bez položení
přímé otázky, a s tím získá mnohem víc.
--
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] omezeni globalniho slovniku

2011-03-04 Tema obsahu Petr Blahos
 Použití bude v programu kde budu globalni a lokalni hodnoty
 upravovat podle udalostí skriptem uloženým v sqlite databázi.
 omezeni tam chci kvuli nechtenemu spusteni treba open() fci.
 Vim ze tohle slovniky neresi ale pro zacatek chci zacit s temi
 promennymi :)

Já váhám, jestli vůbec můžu takhle odpovídat, ale když's chtěl nakopnutí:
Nevím jaké bylo zadání té úlohy, ale vsadím se, že má i lepší řešení.
--
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] omezeni globalniho slovniku

2011-03-04 Tema obsahu Petr Blahos
 tedy kdyz budu mit v globals() {'kafe':5, 'mliko':10} a v externim
 skriptu mi nekdo bude menit mliko [ coz ja nechci] tak aby to hodilo
 treba NameError a kdyz bude menit kafe tak to je povolene.

Já bych doporučoval nemít ty skripty v pythonu, ale v nějakém
jednoduchém jazyku, ten parsovat a vykonávat pomocí jednoduchého
interpreteru napsaného v pythonu. Jestli jde jenom o přiřazení
hodnot do proměnných s jednoduchou aritmetikou, tak je to jednoduché.
Nebo by možná šel nějak použít
http://pypi.python.org/pypi/RestrictedPython ale já bych to nedělal.

 o druha 'jakoby' otazka by asi znela:
 Jak osetrit aby nejaky vtipalek nedefinoval externi skript treba necim
 krasnym jako import os;os.system('**DISK_DELETE**')

Podobná diskuze už tady byla. Probíhalo to tak, že někdo navrhl řešení
a pak někdo další v rámci tohoto řešení navrhl, jak se smaže disk.
--
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] vytvoření proměnných

2010-12-21 Tema obsahu Petr Blahos
 Mám stovky tabulek s různou strukturou , které vstupují do stránek. Některé
 hodnoty se zobrazují přímo a některé se modifikují,

 Na začátku ani nevím, jaké sloupce tabulka má a jak budou modifikovány.
 Tímto si jen ulehčím zápis v programu.:

     tab = 'tabulka'
     SQL = 'DESCRIBE `%s`' % tab
     vysledek = sql(SQL)    # moje funkce sql(SQL) vykoná SQL příkaz
 [...]

No, jestli to nemá být jen nějaká rychlovka, tak doporučuju investovat
čas do SQLAlchemy.
(Doporučuje devět z deseti zubních lékařů.) Jak už se tady zmiňovalo,
SQLAlchemy je něco
jako dokonalé. Já jsem s jeho pomocí asi tak za 3-4 dny (plus tak asi
stejný čas na
rozmyšlenou) napsal jednodušší obdobu Salesforce.com.
--
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Proces vs. vlakno

2010-10-22 Tema obsahu Petr Blahos
 Zacinam si myslet, ze to bude schovane nekde na urovni OS pripadne HW,
 zjistil jsem totiz, ze na mem 32b stroji se to chova jako na tech 64bitech
 ... tak a ted babo rad :) Nejspis to bude schovane nekde pod podporou HW/OS
 neceho, co se jmenuje copy-on-write (zkopiruj procesu data az ve chvili, kdy

Dvě otázky:
* Co je to za OS?
* Nebude to celé nějak jinak?

Trochu mě překvapuje, že ses rozhodl nehledat problém v knihovně omniORB,
ktera slouzi ke komunikaci klientu se serverem. První co mě napadlo bylo:
SocketServer, ForkingTCPServer, ThreadingTCPServer, ale taky můžu být úplně
mimo :-)

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


Re: [python] ORM frameworky v pythonu - zkušenosti

2010-08-18 Tema obsahu Petr Blahos
 rozhodne SQL Alchemy (http://www.sqlalchemy.org/),
+1
Žádný jiný ORM neznám, taky jsem se jim vyhýbal a i z SQLAlchemy jsem dlouho
používal jen expression language, ale to se pomalu mění. SQLAlchemy je geniální.
No, možná jedna vada - moc nepodporuje volání stored procedures (teď
mi asi někdo
vynadá...).

 je to zivý projekt a práce v něm je opravdu parádní. Od jednoduchých věcí, po 
 řadu specialit.
 A nebo, a to je z maličko jiného soudku, použít orm z nejakého web 
 frameworku. Nevím, jaké má být nasazení (desktop, web, server), ale třeba by 
 to šlo.

Já používám SQLAlchemy ve webovém frameworku, i pro standalone aplikace.
--
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] tyden v roce

2010-01-12 Tema obsahu Petr Blahos
 Tohle dementní číslování snad vymysleli managoři jen kvůli statistikám.

Nechci se magorů příliš zastávat, ale pokud nechcete mít jeden
týden označen dvěma čísly, tak budete nadávat buď na toto, nebo
na to, že 28.-31. prosince je 1. týden.
--
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] wxPython - klik na custom widget

2009-02-14 Tema obsahu Petr Blahos
Přátelé,

udělal jsem si ve wxPythonu custom widget, odděděný od wx.Panel, který obsahuje
jenom nějaké wx.StaticLabel. Chtěl bych, aby mi při kliknutí generoval
nějaký ten event.

Teď to dělám tak, že si Bindnu všechny ty StaticLabely a samozřejmě i
ten Panel na,
řekněme EVT_LEFT_DOWN, no a v něm už si udělám nový event, a ten pak pošlu
dál. Nešlo by to ale nějak bez toho, že bych to musel zachytávat pro každé dítě
zvlášť? Nějak nastavit, že děti jsou pro eventy transparentní, nebo tak něco?

Díky,
Petr
_
http://sites.google.com/site/petrsstuff/
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Unicode v databazi utf8

2009-01-19 Tema obsahu Petr Blahos
 No a v databázi mám to pole  jako:
 nchar varchar(40),

Ještě jsem zapomněl napsat, že databázi mám nastavenou tak, aby
vnitřně používala utf8 my.ini:
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8

ale to by myslím nemuselo mít vliv, protože by to stejně měl
překódovávat MySQLdb.

-- 
Petr
_
http://sites.google.com/site/petrsstuff/
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Webserver

2009-01-12 Tema obsahu Petr Blahos
 Pythonovským webserverem zkušenosti? Studoval jsem Twisted, který vypadá
 zajímavě, ale v jeho dokumentaci není nejjednodušší se vyznat.
 Každopádně obsahuje několik balíčků, z nichž každý funguje jako
 webserver a využívá stejný základ jako ostatní. Nejvíc se mi asi líbí
 Nevow, ale nejsem úplně rozhodnut. Nebo myslíte, že je lepší třeba Zope?
 Ten je prý jaksi částečně založený na Twisted a umožňuje rychlý vývoj
 webových aplikací. Další možností je Django. Zkrátka, pokud někdo máte
 zkušenosti s konkrétním frameworkem, byl bych rád, kdybyste se podělili
 o své názory.

Django ma vyhodu v tom, ze jej podporuje google appengine. Nadruhou stranu,
ja jsem se pred case dival na zope, django, a jeste neco, uz nevim co a vsechno
mi to pripadalo nejake divne - jako ze jsem nevedel, kde zacit. Skocil jsem u
kombinace:
   pylons + sqlalchemy
a nemohu si to vynachvalit.

Jinak, nepletes si webserver a webovy framework? Ja jako webovy framework
pouzivam pylons, jako web-server na vyvoj web-server, ktery je zabudovany
v paste, nad kterym je pylons postaven, a na produkcnim serveru mi
bezi apache httpd + modpython.
--
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Mysql

2009-01-12 Tema obsahu Petr Blahos
 import _mysql

 funguje ?

Kdybych se ze zasady nevsazel, tak bych se vsadil bych se, ze to
error: None
pri prekladu neznamena, ze tam nebyla chyba, ale ze tam byla chyba,
kterou ta vec nedovede specifikovat lepe nez None, takze se to neprelozilo,
takze se to ani nenainstalovalo, takze ani nema smysl zkouset
import _mysql

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


Re: [python] Mysql

2009-01-11 Tema obsahu Petr Blahos
 no to je mozne. ale na strankach projektu je maximalne pro py2.5 a soucast
 pythonu 2.6 neni... zkousel jsem to i pres source ale tam to skoncilo na tom
 ze se to pokouselo stahnout jakysi egg soubor setuptools  ve verzi 0.6c5
 ktera ale v v repozitari neni takze jsem zkusil stahnout
 setuptools-0.6c9-py2.6.egg ktery jediny v tom repozitari

No, hlavne na preklad mysqldb by byl potreba nejaky prekladac ccka nebo
c++, a podle toho co jsem kdesi zbezne zahledl i nejaka knihovna, ktera
neni zrovna zdarma. Ops, to jsem ale shanel verzi pro windows. Odhaduju,
ze pro unixy to asi bude jednodussi.

 http://cheeseshop.python.org/packages/2.6/s/setuptools/ byl, upravil
 ez_setup, ovsem pak se to slozilo na tom ze to pouziva zastaranou knihovnu
 md5... takze jsem usoudil ze tudy cesta nepovede.
 Jsem silne zmaten.

setuptools se instaluji napr. takto: NahrajeteStahnete a spustite:
http://peak.telecommunity.com/dist/ez_setup.py

Pak pouzivate
easy_install packagename
napr.
easy_install PIL
easy_install sqlalchemy pylons

Vice info:
http://peak.telecommunity.com/DevCenter/setuptools
http://peak.telecommunity.com/DevCenter/EasyInstall

No ale ja nevim jestli teda s 2.6 nebude problem, ja kvuli mysqldb pouzivat
2.5.
--
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] PDOM

2009-01-05 Tema obsahu Petr Blahos
Přátelé

přidal jsem další kousky dokumentace k PDOM, tentokát nějaké základy a
příklady editace atributů a nodů.

http://sites.google.com/site/petrsstuff/projects/pdom
http://sites.google.com/site/petrsstuff/projects/pdom/attribute-modification-in-pdom
http://sites.google.com/site/petrsstuff/projects/pdom/new-nodes-in-pdom
http://sites.google.com/site/petrsstuff/projects/pdom/object-mapping-in-pdom

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


[python] PDOM

2009-01-04 Tema obsahu Petr Blahos
Dobrý den,
před Vánoci jsem slíbil, že se pokusím releasenout svou knihovničku na
práci s XML soubory.
Něco málo jsem o ní napsal, bohužel času bylo méně, než jsem čekal,
takže to není zdaleka
takové, jak bych sám býval chtěl. Počátek dokumentace a vlastní
knihovnu naleznete zde:

 http://sites.google.com/site/petrsstuff/projects/pdom

(trochu se zdráhám nazývat to knihovnou, protože je to až trapně
jednoduché a malé...)

S přáním hezkého nového roku,
--
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] PDOM

2009-01-04 Tema obsahu Petr Blahos
Dobrý den,
před Vánoci jsem slíbil, že se pokusím releasenout svou knihovničku na
práci s XML soubory.
Něco málo jsem o ní napsal, bohužel času bylo méně, než jsem čekal,
takže to není zdaleka
takové, jak bych sám býval chtěl. Počátek dokumentace a vlastní
knihovnu naleznete zde:

 http://sites.google.com/site/petrsstuff/projects/pdom

(trochu se zdráhám nazývat to knihovnou, protože je to až trapně
jednoduché a malé...)

S přáním hezkého nového roku,
--
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] jak na xml

2008-12-18 Tema obsahu Petr Blahos
 Ahoj je tomu téměř přesně rok co jsem naposled sáhnul na python. Dneska jsem
 se dostal k tomu že bych znovu potřeboval
 jeho služby. Řeším úlohu jejíž součástí je přečtení XML souboru a změna
 (přesněji přepsání) některých hodnot (dat).

Před časem jsem se nechal inspirovat trochu sqlalchemy a trochu Gnosis
Utils (http://freshmeat.net/projects/gnosisxml/) a napsal jsem něco, co
přečte xml a udělá z něj objekt. Vpodstatě to funguje tak, že tagy se
převedou na objekty, a attributy na member variables - jak se to řekne
česky? Bylo to velmi konfigurovatelné a umělo to i zapisovat. Bohužel
to teď není připraveno k release (žádná dokumentace, dlouho jsem na
to nešáhl, neumí to namespaces, není to asi moc rychlé, určitě tam bude
spousta chyb), ale jestli chcete, mohl bych to přes Vánoce zkusit dát
dohromady.
--
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python