Re: [python] Spracovávanie e-mailov v mboxe (Thunderbird)

2019-09-20 Tema obsahu Jan Bednařík
Proč prostě nepoužiješ IMAP? Můžeš přes něj označit zprávy jako přečtené
(seen) a Thunderbird je uvidí označené jako přečtené taky.

Honza

pá 20. 9. 2019 v 9:44 odesílatel Jirka Vejrazka 
napsal:

> Jestli to chces delat na klientovi, tak mas myslim jedinou moznost -
> interakci s bezicim TB. Ale zda se, ze to neni nic jednoducheho. Existovala
> na to knihovna v Pythonu, ktera ale prestala byt podporovana. Jedina
> aktualni moznost, jakou jsem nasel, je
> https://github.com/mdn/webextensions-examples/tree/master/native-messaging
> - a to uz bych to uprimne receno zkusil napsat primo v tom JavaScriptu,
> ktery je stejne potreba.
>
> Kdysi (pred temer 15 lety) jsem psal v Pythonu doplnek pro Outlook, ale
> tam je to API preci jen o neco stabilnejsi. V Mozilla svete se to API pro
> doplnky (addony) obcas uplne zmeni :(
>
>   Jirka
>
> On Thu, 19 Sep 2019 at 19:57, ZdPo Ster  wrote:
>
>> Primárne sa snažím napasovať na (fungujúci) process/workflow. Mám takú
>> blbú predstavu, že sw sa má prispôsobiť ľuďom a nie naopak ;-)
>> Preto som sa pýtal hneď na začiatku, či s tým má niekto skúsenosti.
>> Ak sa to s mailboxom nedá, tak idem skúšať to riešiť na servery.
>> Len ma provokuje, že TB vie za pár okamihov označiť (aj všetky) e-maily
>> ako prečítané/neprečítané a ja cez python nie :- (
>>
>> On Thu, 19 Sep 2019 at 12:59,  wrote:
>>
>>> Ahoj,
>>>
>>> IMAP NEvymazava e-maily zo serveru, toto robi POP3 (a aj tam je to, v
>>> modernejsich implementaciach, mozne vypnut). Aj mne pride ako hlupost
>>> riesit to sposobom, ako sa o to pokusas, snazis sa ohnut softver
>>> sposobom, na ktory nebol navrhnuty.
>>>
>>> Modifikacia e-mailov v mboxe nie je jednuduchy ukon, kedze tie e-maily
>>> su tam ulozene pekne a sebou v jednom velkom subore - ak chces upravit
>>> nejaky e-mail v strede toho suboru, vsetky ostatne data sa musia
>>> 'posunut'.
>>>
>>> Pozri pripadne sem:
>>> http://kb.mozillazine.org/Edit_large_mbox_files
>>>
>>> Skus nam pripadne blizsie popisat, co presne chces urobit (preco chces
>>> tie e-maily takto oznacovat?).
>>>
>>> azur
>>>
>>>
>>>
>>>
>>> Citát ZdPo Ster :
>>>
>>> > Takto: použiť štandardné knižnice nebol problém (t.j. nájsť e-mail
>>> > spĺňajúci kritéria, extrahovať prílohy). Ja sa potrebujem napasovať do
>>> > existujúce procesu, kde IMAP neviem použiť (keď používateľ spustí
>>> > emailového klienta, tak sa emaily zo serveru stiahnu a vymažú,
>>> rozfiltrujú
>>> > do lokálnych priečinkov (kt. sú vlastne Thunderbird mailboxy), nad
>>> ktorými
>>> > by fungoval môj skript).
>>> >
>>> > Problém je, ako označiť, že e-mail bol prečítaný (t.j. spracovaný) a v
>>> > tomto prípade je to asi Thunderbird /Mozilla (resp. e-mail klient)
>>> > špecifická záležitosť. Thunderbird podporuje len mailbox.
>>> > Čo som hľadal na nete, tak skoro všetko sa točí o tom, ako čítať, resp.
>>> > vytvoriť email. Ale ak tomu dobre chápem, tak ja potrebujem e-maily
>>> > modifikovať. V mailboxe, kde je 30-70 tisíc e-mailov. Ideálne tak, aby
>>> môj
>>> > skript nevyžadoval vypnúť e-mailového klienta...
>>> >
>>> > Zdenko
>>> >
>>> > On Thu, 19 Sep 2019 at 08:59, Lumír Balhar 
>>> wrote:
>>> >
>>> >> Ahoj.
>>> >>
>>> >> A musí to být řešení šíté na míru Thunderbirdu? Mám par skriptů,
>>> které mi
>>> >> různým způsobem manipulují s poštou, ale všechny to dělají skrze IMAP
>>> přímo
>>> >> na serveru a tak je pak výsledek synchronizovaný ze serveru na všechna
>>> >> propojená zařízení.
>>> >>
>>> >> Jinak Python má ve tsandardní knihovně moduly pro práci s emaily v
>>> různých
>>> >> formátech (Mailbox, Maildir).
>>> >>
>>> >> Hezký den.
>>> >> Lumír
>>> >>
>>> >> Dne středa 18. září 2019 10:28:16 UTC+2 ZdPo Ster napsal(a):
>>> >> > Ahojte,
>>> >> >
>>> >> >
>>> >> > máte nie skúsenosti so spracovávaním e-mailov v mboxe?
>>> >> >
>>> >> >
>>> >> > Môj problém je, ako označiť, že (spracovaný) email bol prečítaný.
>>> >> >
>>> >> >
>>> >> > Kontext: potrebujem skript, ktorý raz denne prebehne emaily (v mbox
>>> >> formate / Thunderbird) označené ako neprečítané. Ak e-mail nespĺňa
>>> kritériá
>>> >> (odosielateľ, príloha), tak ho označí ako prečítaný... (Thunderbird
>>> používa
>>> >> pre neprečítané emaily status "X-Mozilla-Status: " po prečítaní ho
>>> >> zmení na "X-Mozilla-Status: 0001")
>>> >> >
>>> >> >
>>> >> > Zdenko
>>> >> ___
>>> >> 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 mailing list
> python@py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>

[python] Pozvánka na Olomoucké Pyvo v červnu

2019-06-22 Tema obsahu Jan Bednařík
Ahoj!

Pokud vám nevyšel PyCon CZ, přijďte na report na Olomoucké Pyvo (prý se
dozvíme, proč PyCon v Olomouci nebude?!).
A taky se můžete dozvědět jak na elektroniku s Pythonem, respektive s
MicroPythonem.

Už ve středu v Olomouci:
https://pyvo.cz/olomouc-pyvo/2019-06/
https://www.facebook.com/events/425035344866767/

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

Visit: http://www.py.cz


[python] Olomoucké Pyvo duben

2019-04-23 Tema obsahu Jan Bednařík
Ahoj,

podlední středa je už zítra a s ní Olomoucké Pyvo, kde si povíme něco o
knihovně Celery a nasazení Pythonu v měřicí technice. Tak se stavte :-)

https://pyvo.cz/olomouc-pyvo/

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

Visit: http://www.py.cz


[python] Únorové Pyvo v Olomouci

2019-02-25 Tema obsahu Jan Bednařík
Ahoj,

na webu kvůli technickým potížím program ještě není, ale Olomoucké Pyvo ve
středu bude. Martin Čurlej si připravil přednášku na téma Monitoring
microservic. A pak budou klasicky improvizované lightning talky a volnější
diskuse. Tak se stavte budete-li mít cestu kolem.

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

Visit: http://www.py.cz


[python] Olomoucké Pyvo - Monitoring microservic s pohádkou

2019-01-25 Tema obsahu Jan Bednařík
Ahoj,

zvu vás na první Olomoucké Pyvo v roce 2019. Bude s přednáškou o
monitoringu microservic. A doplněné bude pohádkou s dobrým koncem. A jak už
to bývá, zabrousíme do různých dalších témat okolo Pythonu a programování
vůbec.

Událost je na webu: https://pyvo.cz/olomouc-pyvo/
A na FB: https://www.facebook.com/events/407973533308114/

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

Visit: http://www.py.cz


Re: [python] Editor pro děti

2018-04-09 Tema obsahu Jan Bednařík
Kouknul bych na roboty Edison - https://meetedison.com

Dají se programovat přes bloky ala Scratch (EdBlocks), tak i pokročilejší
bloky (EdWare) a python-like programování (EdPy). Je to všechno
multiplatformní - editory běží v prohlížeči. Roboti se programují přes
audio výstup.

Honza

2018-04-09 16:46 GMT+02:00 Ondrej Tuma :

> Jde mi o interakci s okolním světem. A pythonu podvrhnout rozhraní je
> snadné. Stejným kódem pak ovládat malé autíčko nebo mini plotter je můj
> cíl. A to nemluvím o micropythonu, který běží na čipu za pár korun ;)
>
> Kdyby byl nějaký vizualizer ala Scratch pro python (vím že je pro
> Arduino Wiring, ale to mě připadá zbytečně nízkoúrovňový), tak by to
> bylo super.
>
> Nicméně Scratch a podobné projekty budu teprve zkoumat hlouběji.
>
> Ondra
>
> V Mon, 9 Apr 2018 16:12:27 +0200
> "starenka ."  napsáno:
>
> > Hoj,
> >
> > Scratch nevyhovuje?
> >
> > ---
> > 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-09 16:07 GMT+02:00 Ondrej Tuma :
> >
> > > Hoj,
> > >
> > > chystám se učit děti mimo jiné i programovat. Nechci s nimi dělat
> > > nějaké složité úlohy, spíše to bude ovládání nějakých jednoduchých
> > > robotů, želví grafika atd. Počítá se s dětmi na druhém
> > > stupni.
> > >
> > > Zajímalo by mě, zda máte tip na nějaký fakt jednoduchý, ideálně
> > > multiplatformní editor. Nejlepší by bylo kdyby byl v češtině, ale
> > > to už bych asi chtěl moc. Zatím jsem našel Thonny, ten vypadá
> > > dostatečně jednoduše.
> > >
> > > Dík za tipy
> > > --
> > > Ondřej Tůma 
> > > https://ipv6.mcbig.cz https://keybase.io/mcbigtwitter:
> > > mcbig_cz
> > >
> > > ___
> > > Python mailing list
> > > python@py.cz
> > > http://www.py.cz/mailman/listinfo/python
> > >
> > > Visit: http://www.py.cz
> > >
> > >
>
>
>
> --
> Ondřej Tůma 
> https://ipv6.mcbig.cz https://keybase.io/mcbigtwitter: 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] par dotazu od zacatecnika v SQL

2017-12-29 Tema obsahu Jan Bednařík
Myslím si, že doporučovat někomu, kdo chce používat databázi, čisté SQL,
aby zjistil jak to uvnitř databáze funguje, je stejné, jako doporučovat
někomu, kdo se učí programovat v Pythonu, aby začal s Assemblerem a C, aby
zjistil, jak ten počítač funguje.


2017-12-29 9:52 GMT+01:00 zu1234 :

>
> Dne 28.12.2017 v 22:19 Petr Blahos napsal(a):
>
>
>> 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...
>
> Ano, přidám par dalších otázek:
> Dejme tomu že začnu 'bez SQL'. Vyvíjím program, mám v něm chyby, které
> dělají chyby v databázi.
>

Od toho tě chrání to ORM (stabilní, testované). Musel bys asi narazit na
bug přímo v ORM knihovně, aby ses do takové situace dostal. Oproti tomu se
syrovým SQL se do takové situace dostaneš snadno.


> Pokud se vyhnu SQL, jak budu schopen zkontrolovat svoje data?
>

Cest je spousta. Základ jsou testy (ale to i v případě použití SQL). ORM
lze obvykle používat v shellu, tak se dá databáze pohodlně prohlížet. A
obvykle se hodí mít po ruce nějaké GUI k databázi.


> Opravit v datech následky mých chyb nebo chyb uživatele?
>

ORM ti obvykle nedovolí takové chyby udělat.


> Změnit strukturu dat z důvodu změny koncepce?
>

ORM knihovny mají nástroje pro tvorbu databázových migrací. Obvykle umí
migrace pro většinu změn struktury vygenerovat automaticky, což se hodí,
protože je to věc, kde se dá nasekat spousta tragických chyb.


> Program zastírá realitu která je v databázi.
>
> 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.
>
> ___
> 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] par dotazu od zacatecnika v SQL

2017-12-28 Tema obsahu Jan Bednařík
Ahoj,

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.

Záleží na projektu, ale když už náhodou budeš potřebovat něco, s čím si
tyhle ORM efektivně neporadí, tak to bude vyjímečná situace. V takových
situacích si většinou poradíš tím, že budeš trochu študovat manuály a
googlit, a zjistíš, že to často taky jde efektivně i s ORM. A když ne, tak
data vytaháš a zpracuješ je v Pythonním kódu. A když dat bude moc, a tohle
efektivně taky nepůjde, tak se naučíš pracovat s SQLAlchemy Core nebo
nastuduješ trochu toho syrového SQL.

Co se týče databáze, MySQL/MariaDB bych se vyhnul obloukem. Není ACID
(ačkoliv se tím pyšní), autocommituje změny schématu i během transakcí (cca
10 let stále neopravený a zřejmě neopravitelný bug). Při běžném použití tě
to nepotrápí. Ale jakmile se projekt rozjede a začneš dělat migrace
schematu a dat, tak tě to dřív nebo později pěkně vyjebe. Stalo se mi to v
životě asi třikrát, z toho dvakrát na nových projektech, kdy jsme MySQL
dali "ještě jednu šanci" protože PostgreSQL nebyla z nějakého důvodu
jednoduše k dispozici. S ORM můžeš opustit MySQL/MariaDB relativně snadno,
ale proč s ní vůbec začínat, když je tam (krom jiných neduhů) taková past?!

Doporučil bych PostgreSQL. S tou se nedá šlápnout vedle pro jakýkoliv
projekt. Má i zajímavé "NoSQL" fičury, jako datové typy JSON a hstore,
které stojí za pozornost.

SQLite může být taky dobrá volba, ale záleží na projektu. Její super fičura
je snadno použitelná databáze v RAMce, což se hodí hlavně pro testy.

Honza


2017-12-25 11:41 GMT+01:00 Lubomir Vogl :

> 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


Re: [python] potvrzení o přečtení, doručení

2017-11-24 Tema obsahu Jan Bednařík
Co třeba poslat to datovou schránkou?

Honza

2017-11-24 16:33 GMT+01:00 Ing. Vladislav Ludík :

> Zdravím všechny,
>
> občas bych potřeboval od adresáta potvzení o přečtení či soručení.
>
> Používám konstrukci SMTPLIB.
>
> Poradí někdo, jak to udělat či vyžádat ?
>
> Díky V.L.
>
> ___
> 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] Pyvo v Olomouci

2017-11-06 Tema obsahu Jan Bednařík
Ahoj,

ve čtvrtek 9.11. se uskuteční první Olomoucké Pyvo. Tak kdo bydlíte v
blízkém okolí, zhruba mezi Plzní a Košicemi, tak doražte :-)

https://pyvo.cz/olomouc-pyvo/

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

Visit: http://www.py.cz


Re: [python] Django a debianí balí?kovací systém

2016-07-14 Tema obsahu Jan Bednařík
2016-07-14 10:06 GMT+02:00 Pavel Schön :

> > Není náhoda, že když jsi hledal nějaký Django projekt zabalený jako
> balíček pro Debian, tak jsi nic moc nenašel.
>
> Jeden jsem našel, bohužel nefunguje. (
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=809746 )
>
> > Není náhoda, že když jsi hledal nějaký Django projekt zabalený jako
> balíček pro Debian, tak jsi nic moc nenašel.
>
> Protože kdyby Debian měl přebírat každou "blbost" z PyPi, tak je zahlcen
> tisíci neužitečnými balíčky. Ty nejlepší jsou samozřejmě k dispoziti i v
> Debianu. Osobně preferuju instalaci z apt, pip beru až jako poslední
> možnost.
>

Je škoda, že mezi těmi nejlepšími není třeba to Django. V Debianu stable je
několik let stará verze, a když chce člověk aktuální, nezbývá než
alternativní apt repozitáře, s kdo ví jakými bezpečnostními riziky. A další
pythonní balíčky jsou na tom podobně, pokud tam vůbec jsou.

Při standardní instalaci z PyPI je jistota okamžité dostupnosti aktuálních
verzí a bezpečnostních aktualizací.


> > Proč bys v prvé řadě chtěl z univerzálního Pythonního projektu dělat
> balíček > specifický pro nějakou linuxovou distribuci?
>
> Třeba protože jej chce doručit do mainline Debian nebo má na lokální síti
> apt repository. Nebo prostě jej chce instalovat pomocí dpkg -i, což je
> naprosto legitimní způsob.
>

Proti gustu žádný dišputát :-)



> ___
> 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] [spam][ignore] ad knihovnicka

2016-05-02 Tema obsahu Jan Bednařík
Tady je to komplet: https://twitter.com/ThePracticalDev/media :-)

2016-05-02 12:29 GMT+02:00 ViNiL :

> Ahoj,
>
> po nedavne hezke diskuzi o javascriptu, webu a vubec mi to neda... :-)
>
> http://imgur.com/gallery/vqUQ5
>
>
> V.
>
>
> ___
> 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] Python na frontendu, Brython

2016-04-23 Tema obsahu Jan Bednařík
Ono to není zas tak růžové, že by všichni přecházeli z CoffeeScriptu,
TypeScriptu, apod. na čístý ES2015 + Babel. Lidi jsou zvyklí, že JS už
nikdo nepíše. Je to hrozně old-school a vůbec to není trendy. Seriozní
projekty dneska všechny frčí na js2js: https://eleks.github.io/js2js/

Honza

2016-04-23 8:59 GMT+02:00 Honza Javorek :

> V JS vznikly transpilery hlavně proto, že jazyk zaostával vývoj své
> vlastní komunity. CoffeeScript, TypeScript, Dart, kdovíco, se pak snažily
> dohnat chybějíci syntactic sugar a fičury. CS byl asi nejpoužívanější a
> třeba v Apiary v něm máme podle mě 80 % codebase, byla to děsná móda a
> hlavně se to lidem jako třeba já, Pythoňák, nebo Rubystům, psalo mnohem
> snáz. S příchodem specky ECMAScript 6 (přejmenovaného na ES2015, protože
> chtějí vydávat specku snad každý rok nebo tak něco) ale komunita hromadně z
> transpileru prchá a migruje na tohle, případně na transpiler z ES2015 (tzn.
> JavaScriptu budoucnosti) do ES5 (tzn. JavaScriptu přítomnosti), zvaný
> Babel. Transpilery budoucnost už postrádají, většinu jejich výhod vyzobal
> samotný JS ve svých nových verzích. Sice je pořád plný chlupatých závorek,
> z nichž se nám Pythoňákům můžou chlupy ježit, ale díky jiným syntactic
> sugar srandám to není až taková super pruda to psát a člověku nepřijde, že
> to je úplně matlácký jazyk. Když to není frotnend ale server, tak máš navíc
> Node.js kde je aspoň minimální základní knihovna (takže nepotřebuješ
> isArray nebo left pad nebo co jsou ty největší skandální npm balíčky teď -
> ty lidi používají kvůli browseru, ne kvůli serveru) a už se to dá aspoň
> trochu používat.
>
> Stejně bych raději psal Python, ale jen jsem chtěl napsat, že se to s tím
> JS lepší a celkem se to dá, na serveru aspoň teda. A jelikož si připadám
> jako JS insider na Py diskusi, chtěl jsem vám osvětlit ty věci kolem
> transpilerů (když už se na ně zavedla řeč).
>
> Čau,
> Honza
>
>
> 2016-04-22 19:48 GMT+02:00 Libor Jelínek :
>
>> Ahoj pánové!
>> Já bych taky s dovolením přispěl svým názorem: JS je fakt hrozný a proto
>> je pro něj tolik transpilerů asi. Osobně se JS vyhýbám obloukem :-)
>>
>> V Java světě, odkud pocházím, jsou transpilery do Javy nesmírně populární
>> a potvrzuju, že výborně použitelné. Appky jakoby desktopové plné formulářů,
>> záložek, tiskových sestav, oken ap. by jen v JS snad ani psát nešli.
>>
>> Pracoval jsem s hodně velkými složitými appkami napsanými ve
>> SmartGWT/Vaadin (vše na GWT) a Eclipse RAP. Četl jsem dost článku jak si
>> třeba Dropbox tým chroctá, když přesali svůj web UI do CoffeScriptu, MS
>> jakýsi web do TypeScriptu ap.
>>
>> Úžasný mi přijde v tomhle oboru "štítím se JS" přijde Google Dart. Pro
>> GWT existoval Python port Pyjamas, který ale už je asi mrtvý. Na větší
>> webový projekt bych určitě transpiler zvážil. (Toto od Javascripterů asi
>> schytám...)
>>
>> Hezký víkend!
>> Libor
>> ___
>> 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] Coding style

2015-11-26 Tema obsahu Jan Bednařík
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 :

> 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

Re: [python] Roboti, REST, Flask?

2015-09-29 Tema obsahu Jan Bednařík
2015-09-11 10:29 GMT+02:00 Marek Nožka :

> Ahoj
>
> Potřeboval bych malou radu. Učím programování(Python) na SŠ. Takže jsem
> vymyslel(okoukal), že si budeme hrát na Roboty. Bude to tahová hra.
> Jednotliví roboti(studenti) se připojí k serveru a budou mezi sebou
> soutěžit
> o nejlepší algoritmus, který projde bludištěm podle zadaných pravidel.
>
> Na serverovou část jsem chtěl použít Flask a vytvořit jednoduché REST API.
> Řeším ale jak mám obsloužit více klientů tak, aby na sebe navzájem počkali.
> Každý klient by měl říct, kam táhne. Ale odpověď můžu poslat až potom, co
> všichni pošlou požadavek. Napadli mě dvě řešení.
>
> 1) Klient pošle požadavek a čeká na odpověď. Stream odpovědi se ale zastaví
>a čeká se až se ozvou další klienti. Tohle nevím jak bych ve Flasku
>udělal -- pokud to tedy vůbec jde. Pokoušel jsem se to vygooglit ale na
>nic kloudného jsem nepřišel.
>


Ahoj. Tohle se ti ve Flasku, Djangu, aj. synchronních frameworcích bude
dělat špatně. Použiješ-li asynchronní aiohttp, můžeš efektivně obsluhovat
všechny requesty z Robotů "paralalně" (můžou paralelně čekat s odpovědí).
Složitost implementace s aiohttp je zhruba stejná jako ve Flasku.

http://aiohttp.readthedocs.org/en/stable/



Nicméně na tento problém se REST, respektive HTTP, zrovna moc nehodí (leda
ty websockety). Vhodnější by bylo použít Pub/Sub. Měly by stačit dva topicy
(channely), něco jako:

1. Round
 - hra na něj dělá publish povelu, že je možné táhnout další kolo
 - všichni roboti sem dělají subscribe a reagují na povel

2. Move
 - hra se sem dělá subscribe a reaguje na tahy robotů
 - roboti sem dělají publish tahů

Pro jednoduchost rozchození můžeš použít jako Pub/Sub broker třeba Redis.
Má dobrou knihovnu jak pro asynchronní Pyhon aioredis, stejně tak pro
klasický synchronní přístup redis-py.

https://github.com/aio-libs/aioredis
https://github.com/andymccurdy/redis-py

Honza



2) Klient pošle požadavek a za nějakou chvilku se zeptá jestli má
>server už odpověď. To je zase více složitosti na straně klienta.
>
> Protože jsem nic podobného zatím nikdy nedělal, budu vděčný za každou
> připomínku, poznámku nebo radu. Co za knihovnu/framework byste mi
> doporučovali.
>
> Dky
>Marek
>
> --
>  @ @ @ Marek Nožka
>  '.@
>  :*`@   email: marek <@t> tlapicka  net
>  `*'   jabber: tlapicka <@t> mitranet  cz
>   ::  web: http://tlapicka.net/
>   `'
>   `'   Powered by Debian GNU/Linux
>   `.**'
> ¨¨
> ___
> 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] Pulnocni rozjimani :-)

2015-05-11 Tema obsahu Jan Bednařík
Trošku z jiného soudku:

$ python3
Python 3.4.3 (default, Mar 23 2015, 04:19:36)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type help, copyright, credits or license for more information.

 class Account:
... def deposit(self, amount):
... print('saved:', amount)
...
 class SecureAccount(Account):
... def safe_deposit(self, amount):
... print('*secure transaction begin*')
... super().deposit(amount)
... print('*secure transaction end*')
...
 sa = SecureAccount()
 sa.safe_deposit(100)
*secure transaction begin*
saved: 100
*secure transaction end*

 class Thief(Account):
... def deposit(self, amount):
... print('STOLEN:', amount)
...
 class MyAccount(SecureAccount, Thief):
... pass
...
 ma = MyAccount()
 ma.safe_deposit(200)
*secure transaction begin*
STOLEN: 200
*secure transaction end*


Honza

2015-05-11 23:57 GMT+02:00 Matěj Cepl mc...@cepl.eu:

 On 2015-05-11, 20:53 GMT, Honza Král wrote:
  Jen pozor, ze tohle je chovani CPythonu, tedy jedne z implementaci a
  nikoli definice chovani pythonu, nelze tedy na to spolehat a
  porovnavani integereru by se melo vzdy provadet pres == a nikdy pres
  is, i kdybychom meli 1000% jistotu, ze to budou jen cisla od 0 do 10.
  Honza Král

 Skutečně, neni Python jako Python:

 $ jython
 Jython 2.7b4 (default:3672e624962a, Feb 13 2015, 04:59:14)
 [OpenJDK 64-Bit Server VM (Oracle Corporation)] on java1.7.0_79
 Type help, copyright, credits or license for more information.
  a = 256
  b = 256
  a is b
 True
  a = 257
  b = 257
  a is b
 True
 
 $

 Zajímavě,

 Matěj
 --
 http://www.ceplovi.cz/matej/, Jabber: mceplatceplovi.cz
 GPG Finger: 89EF 4BC6 288A BF43 1BAB  25C3 E09F EF25 D964 84AC

 The ratio of literacy to illiteracy is a constant, but nowadays
 the illiterates can read.
 -- Alberto Moravia
 ___
 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] Volba web-frameworku (a pár menších dotazů)

2015-03-03 Tema obsahu Jan Bednařík
Snad bych jen dodal, že Python sám o sobě obsahuje standardní knihovnu kde
jsou tuny modulů, které se obvykle taky nevyužívají. A kupodivu nikdo si na
nějaký MB navíc nebo zbytečný modul nestěžuje.

Honza

2015-03-03 7:34 GMT+01:00 Honza Javorek m...@honzajavorek.cz:

 jdi_do_prdelní argumenty nikoho nic nenauci a k diskusi neprispejou.
 Trpelivost treba jo :) A je dobry brat v uvahu, ze tady nejde o to
 pretlacit toho druhyho a napichnout ho na kul, ale poskytnout novackum
 dostatek argumentu pro to, aby se rozhodli podle sve hlavy.

 H

 2015-03-03 1:00 GMT+01:00 Jaroslav Vysoký vys...@borka.cz:

 Aleši, jseš borec! (Honza J. teda taky.) Ve chvíli, kdy mně už by se
 drali na ret jdi_do_prdelní argumenty, ty takhle hezky odpovíš!

 J.



 Dne 2. března 2015 23:32 Ales Zoulek ales.zou...@gmail.com napsal(a):

 Tak skoro mam takovej pocit, ze mensi (ve smyslu objemu 3rd party kodu)
 rozhodne nebude i znamenat mensi kod o ktery se staram. Skoro bych rekl,
 ze toho vlastniho kodu bude vic - vazne tak bude dal jenodussi a lepsi?
 Nerekl bych... Marne premyslim jak je to s mnozstvim lidi, jejichz cas na
 opetovne vynalezani a opravovani kola nema cenu nekolika MB na disku s
 kodem, ktery prosel mnoha tisici hodin vyvoje a testovani.

 Jiste, muze byt vzdycky zajimave si ze studijnich ucelu zkusit
 re-implementovat vyresene problemy - od bubble sortu pres wsgi handler. Ale
 delat tu kvuli predstave, ze se tak doberu lepsiho a jednodussiho kodu, ze
 se mi vyplati si ty veci psat a udrzovat sam nez pouzit ci vylepsit to, co
 uz je hotove - to snad ne.


 A.

 On Mon, Mar 2, 2015 at 10:14 PM Radek Holý radekholypub...@gmail.com
 wrote:

 Tak to nevím. Kdyby chtěl někdo spočítat průměr ze sekvence čísel, asi
 mu taky nebudeme cpát hned numpy. Tuhle jsem někde viděl, že Qt má funkci,
 která vrátí cestu k adresáři, kam daná platforma ukládá data aplikací.
 Kdyby někdo hledal takovou funkci, asi mu taky nebudeme hned radit Qt,
 pokud zrovna nehodlá psát GUI...

 Se zkušenostmi z práce můžu říct, že existuje velké množství lidí,
 kterým záleží na tom, kolik MB ve výsledku aplikace, kterou chtějí
 nainstalovat, zabere na disku. Vývojáři posedlí kontejnery by také
 pravděpodobně dokázali obhájit, proč je velikost na disku důležitá.

 A jak už jsem psal, menší = jednodušší = lepší.
 --
 Radek


 Dne 2. března 2015 17:38 Honza Javorek m...@honzajavorek.cz
 napsal(a):

 Rozdil mezi Pythonem a PHP je v tom, ze kdyz nainstalujes knihovnu a
 neco z ni nepouzijes, tak se to vetsinou nespousti :) Tzn. kdyz v PHP
 vezmes Symfony a udelas na nej request, pri kazdem requestu se spousti 
 cele
 Symfony a vsechny soubory v nem. U Pythonu se pouzije jen to, co se
 potrebuje - co naimportujes.

 Tudiz argument Django obsahuje spoustu neceho, co nepotrebuju, je
 vlastne nesmysl. Resp. ano, obsahuje, ale to ze to nepotrebujes ti v nicem
 nevadi, akorat si pri `pip install django` pockas o sekundu dele.

 H

 2015-03-02 16:21 GMT+01:00 Matěj Cepl mc...@cepl.eu:

 On 2015-03-02, 10:07 GMT, Marcus Scalpere wrote:
  Na Django jsem myslel hned na začátku, ovšem po mnoha úvahách
  a radách mi to opravdu přijde jako dělo na vrabce. Určitě bych
  to nějak splácal časem, ale kupu toho, co Django umí
  nepotřebuji (v podstatě potřebuji jen pár formulářů), možná
  později, až budu chtít dotvořit něco jako učební pomůcku, pak
  to možná bude vhodná volba. Ale každopádně ta kniha je dost
  poučná a mám choutky to aspoň zkusit

 Nikdo Tě nenutí to celé používat a co se týče instalace tak to
 není o nic složitější nežli 'sudo yum install python-django'
 (nebo apt-get varianta).

 Nejmenší projekt s djangem je pár řádek a ještě generovaných
 skriptem. Možná, že až napíšeš několik website rozměrů nasa.gov
 budeš chtít něco jiného ale do té doby fakt nevidím důvod proč
 si psát framework sám.

 Hezký den,

 Matěj
 ___
 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 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 mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Re: [python] Volba web-frameworku (a pár menších dotazů)

2015-02-19 Tema obsahu Jan Bednařík
2015-02-18 21:58 GMT+01:00 Pavel S pa...@schon.cz:

 Ahoj. Vykaslal bych se na vsechny frameworky, prestoze jiste maji sve
 kvality (django, flask apod.).

 Pokud jsi zvidavy clovek a chces se neco naucit, jak funguje HTTP, napis
 si framework vlastni.

 Pro zacatek nepotrebujes zadny webserver. Zacal bych u modulu wsgiref,
 vezmi hello world aplikaci (
 https://docs.python.org/2/library/wsgiref.html#examples ), napis
 abstrakci nad request a response, potom nejaky URL router. Pozdeji az budes
 potrebovat formulare, udelas si abstrakci na formulare.

 Do ceho bych se radeji nepoustel je vlastni sablonovy system. Tam bych
 vzal osvedcene jinja2. Pokud bude treba databaze, doporucuji SQLAlchemy.

 Az si timhle projdes, nabidky se jiste objevi (to je ta monetarizace
 know-how).

 Hodne stesti!



Až si tím projde, tak se nabídky neobjeví. Nikdo nechce platit lidi, kteří
rádi vymýšlejí kolo a řeší věci, co dávno vyřešil někdo jiný.

Python je jazyk s batteries included. Obvykle se stačí poohlédnout po
hotových knihovnách a ty využít. A ve většině případů jsou ty hotové
knihovny mnohem lepší, než kdyby si je člověk psal sám (protože jsou
výsledkem spolupráce a zkušeností více lidí).


A když bych se měl vyjádřit k tématu, tak v zásadě souhlasím s těmi kdo
doporučují Django. Má výbornou dokumentaci, spoustu návodů, a spoustu
hotových komponent, který spolu dobře fungují (ORM, templaty, formuláře,
cache, ...), a stačí je prostě použít když je potřeba. Ale co vidím jako
podstatnější je to, že Django člověka vede k tomu, jak si uspořádat kód do
nezávislých komponent (modely, views, templaty, management commandy, ...).
Jak vytvářet malé nezávislé aplikace použitelné ve více projektech. Atp.


Myslím si, že pro zkušeného borce není problém poskládat si vlastní
framework na nějakém mikroframeworku jako Flask. A zkušený borec určitě
dokáže psát kód tak, aby z toho nebyl špagetový moloch. Nicméně nejsou
všechny ty Flaskové weby ve výsledku jako Django v bledě modrém, jen s více
úsilím? V čem jsou tak zásadně odlišné, že stojí za tu námahu? Jen pocit
poskládal jsem si to sám, nebo Flask je trendy! nestačí. Ale nepochopte
mě špatně, nemám nic proti Flasku. Je parádní nástroj na malé webíky,
proxy, atp. Nicméně jakmile člověk potřebuje postavit velký web a
potřebuje přidat ORM, formuláře, templaty, atd., je lepší zvolit framework,
který tyhle komponenty obsahuje v základu.

Jak se říká: Na velké projekty Django. A na malé projekty taky Django,
protože i malý projekt se může časem rozrůst.

Honza



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

2015-02-11 Tema obsahu Jan Bednařík
Já bych snad jen dodal, že obrovská síla Pythonu je v tom, že je
multiparadigmatický, a umožňuje volit objektový, funkcionánlní, či
procedurální přístup pro řešení konkrétních problémů. A myslím si že
dobrého programátora nedělá to, že dokáže všechno naprogramovat v jednom
oblíbeném paradigmatu, ale že dokáže volit to nejelegantnější řešení pro
daný problém.

Není problém pokud nevím, jak něco vyřešit. Problém je, když znám jen jedno
řešení.

Honza

2015-02-11 10:08 GMT+01:00 Vladimir Macek ma...@sandbox.cz:

 On 10.2.2015 20:50, Honza Král wrote:
  2015-02-10 20:36 GMT+01:00 Radek Holý radekholypub...@gmail.com:
  V Pythonu dělám skoro 9 let a pořád platí, že kdykoliv někde
  narazím na reduce, map apod. tak mě to vždy zdrží a chvíli mi
  trvá, než pochopím o co jde. List comprehensions se mi čtou
  snadněji - přirozeněji. Nehledě na to, že ty funkcionální
  záležitosti jsou skoro vždy spojené s deklarací jinak zbytečných
  funkcí se složitým významem, nebo ještě komplikovanějšími lambda
  funkcemi. Každopádně je to prostě otázku vkusu/zvyku... Jedním z
  problémů může pro mě být ta prefixová notace. Vypadá to jako Lisp
  :-)

 Doufám, že se shodneme, že to je věc osobních preferencí a nebudeme si to
 navzájem vyčítat. :-) Zajisté můžu považovat za elegantnější vytáhnout
 filtrační nebo transformační logiku do extra funkce s komentáři a pak jí
 předhodit do filter/map než to patlat do třířádkového C-G. Podotýkám pro
 jistotu znovu, že používám jak filter/map + zřídka reduce, tak C-G, vždy
 podle svého citu pro vhodnost. Snažím se dodržovat Zen.

 Kdykoli píšu \, trošku uvnitř umřu.


  Vidim to uplne stejne, proto jsem byl prekvapen kdyz tady slysim
  zastance filter/map/... Ja osobne se k nim skutecne uchyluji jen
  obcas kvuli vykonu a v situaci kdy je naprosto jasne, co to bude
  delat.

 To poslední negrokuju. :-) Jasné je snad v Pythonu vše, proto ho máme rádi,
 ne? :-)


  Ještě mě zarazilo to stáhneme 10 URL. S tím mám vždy osobní
  problém. Jakmile někdo volá map, aniž by ho zajímala návratová
  hodnota volané funkce, považuji to za chybu. Nehledě na to, že v
  Pythonu 3 map vrací iterátor, takže se kvůli tomu ještě typicky
  map obaluje do list... V těchto případech vždy preferuji
  klasický for cyklus. Ale opět je to jen můj názor.

 Dovoluji si i zde spíše nesouhlasit, zejména se slovem typicky.
 Přetypování tohoto typu snad používáme až tehdy, kdy je to nutné, ne?
 Pokud někde dostanu iterátor, je hromada případů, kdy se elegantně a
 efektivně použije přímo.


  Naprosty souhlas, parkrat jsem videl volani map ci list
  comprehension bez zajmu o vysledek a take s tim mam problem - je to
  plytvani (zbytecne se alokuje list) a je to hure citelne.

 Nedochází mi, kde jste vzali, že spojuju příklad se stažením 10 URL s
 map(), psal jsem zrovna, že jsem na tom příkladu ilustroval C-G. Ale i na
 map() se to dá použít

 map(urllib.urlopen, ('http://www.seznam.cz', 'http://google.com',
 'http://ibm.com'))

 Též nerozumím tomu, jak jste vyvodili, že se jak v tomto případu, tak v tom
 mnou prve zmíněném s C-G nezajímám o návratovou hodnotu.

 Jednak jsem to zmiňoval jako rychlou ukázku C-G jakožto konstruktu pro
 studenty (kde se navc netvoří profesionální kód), za druhé mohu dostat
 všechny potřebné informace vč. stavových a za třetí... kam se vám poděl
 EAFP (https://docs.python.org/2/glossary.html)?


  Mimochodem v python3 uz reduce ani neni builtin (byl presunuty do
  functools) a i Guido to vidi obdobne:
  http://www.artima.com/weblogs/viewpost.jsp?thread=98196

 S tím souhlasím, nic proti. Sám jsem psal, že ji používám zřídka.

 Děkuji za diskusi, štvete mě jen malinko. :-)

 Vl.

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

2015-02-09 Tema obsahu Jan Bednařík
Jestli potřebuješ aplikaci, která je nezávislá na druhu databáze, použij
SQLAlchemy, která ti poskytne abstrakci nad různými databázovými backendy.

Jinak na myisam i innodb je špatné to, že nejsou ACID a dříve nebo později
tě někde pořádně vypečou. Jak už psal Honza Král, 99% problémů s databází
je MySQL. Jestli neděláš jen nějaký hobby projektík pro sebe, použij raději
PostgreSQL.

Honza


2015-02-09 17:36 GMT+01:00 mtip m...@atlas.cz:

  Já tedy nevím, co je třeba na myisam špatného pro práci s penězi.
 1. Potřebuju aplikaci, která je více nezávislá na druhu databáze.
 2. Transakce pro write to neřeší, jedině read a tu vzhledem k možné době
 trvání zámku nechci použít

 Nicméně už sem to vyřešil jednoduše viz tip Honzy:

 A samozrejme, jako vzdy, je lepsi varianta bezzamkova:
 UPDATE Zaplaceno = 1 FROM platby WHERE id=%s AND Zaplaceno = 0

 Mirek
 
 9. února 2015, 17:10:21, napsal jste:

  Transakce jsem použít nechtěl, protože databáze nemusí být innodb
 dokonce ani mysql.


 Takové databáze jsou pro aplikace pracující s penězi nejlepší. Už chybí
 jen náhodné mazání uložených dat.

 PM

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

2015-02-09 Tema obsahu Jan Bednařík
2015-02-09 18:50 GMT+01:00 Petr Messner petr.mess...@gmail.com:

 V čem není InnoDB ACID, při nastavení patřičného isolation levelu?



InnoDB má solidní bug v transakcích, kvůli kterému nesplňuje ACID. Neumí
udělat rollback ALTERu, takže ALTER se autocommituje vždy, i když zbytek
transakce se normálně rollbackuje. Dříve či později na to narazí každý, kdo
dělá migrace databáze. V horším případě to skončí ztrátou dat a rozbitím
databáze (osobní zkušenost).

Bug je již témeř 8 let nahlášen a nikdo ho evidentně neřeší:
http://bugs.mysql.com/bug.php?id=28727

Honza




 PM

 Dne pondělí 9. února 2015 Jan Bednařík jan.bedna...@gmail.com napsal(a):

 Jestli potřebuješ aplikaci, která je nezávislá na druhu databáze, použij
 SQLAlchemy, která ti poskytne abstrakci nad různými databázovými backendy.

 Jinak na myisam i innodb je špatné to, že nejsou ACID a dříve nebo
 později tě někde pořádně vypečou. Jak už psal Honza Král, 99% problémů s
 databází je MySQL. Jestli neděláš jen nějaký hobby projektík pro sebe,
 použij raději PostgreSQL.

 Honza


 2015-02-09 17:36 GMT+01:00 mtip m...@atlas.cz:

  Já tedy nevím, co je třeba na myisam špatného pro práci s penězi.
 1. Potřebuju aplikaci, která je více nezávislá na druhu databáze.
 2. Transakce pro write to neřeší, jedině read a tu vzhledem k možné době
 trvání zámku nechci použít

 Nicméně už sem to vyřešil jednoduše viz tip Honzy:

 A samozrejme, jako vzdy, je lepsi varianta bezzamkova:
 UPDATE Zaplaceno = 1 FROM platby WHERE id=%s AND Zaplaceno = 0

 Mirek
 
 9. února 2015, 17:10:21, napsal jste:

  Transakce jsem použít nechtěl, protože databáze nemusí být innodb
 dokonce ani mysql.


 Takové databáze jsou pro aplikace pracující s penězi nejlepší. Už chybí
 jen náhodné mazání uložených dat.

 PM

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

2015-02-09 Tema obsahu Jan Bednařík
2015-02-09 16:35 GMT+01:00 Honza Král honza.k...@gmail.com:

 ne, o tom jsem nemluvil, predpokladam python 3 :)

 Materializuje se kvuli predani do intersection - viz operator '*'


To se dá vyřešit třeba nahrazením:

... set.intersection(*map( ...

za:

... reduce(set.intersection, map( ...

a je to čistě funkcionální (bez ohledu na to jestli je to Pythonic).



 Mě se líbí explicitní použití funkcí map() a filter(), protože je to pro
 začátečníka čitelnější a pochopitelnější, než List Comprehension

 Tohle me zajima - ja mam presne opacnou zkusenost. Bavime se o
 zacatecnicich v programovani (s temi mam zkusenost ja), ci jen
 zacatecniky s pythonem, ale programatory?



Myslím si, že pro člověka, který vidí poprvé map a filter a List
Comprehension, je snažší najít si v dokumentaci co dělají funkce map a
filter a pochopit je samostatně. Protože to jsou dvě oddělené věci. Zatímco
když se použije List Comprehension kombinující map i filter v jednom
zápise, tak je tam toho na rozluštění a pochopení více. A taky ten List
Comprehension nejde snadno dohledat v dokumentaci, protože z kódu není
poznat, jak se to jmenuje (neobsahuje klíčová slova jako map či filter).

Nějakou zásadnější osobní zkušenost s výukou nemám. Ale minimálně na škole
jsem se setkal s tím, že se úplní začátečníci učí nejdříve funkcionální
paradigma, tak by ten map a filter mělo být snadné pochopit pro kohokoliv.
Nicméně naučit se místo toho v Pythonu rovnou List Comprehension určitě
není na škodu.

Honza



 Honza Král
 E-Mail: honza.k...@gmail.com
 Phone:  +420 606 678585


 2015-02-09 16:34 GMT+01:00 Pavel S pa...@schon.cz:
  Jeste pokud bychom se chteli zbavit 'materializace seznamu uprostred',
 lze in-place pouzit itertools.ifilter a itertools.imap.
 
  Dne pondělí 9. února 2015 16:17:52 UTC+1 Pavel S napsal(a):
  Na pythonu je krasne, ze jedna a tataz vec lze udelat mnoha zpusoby a
 ja nabidnul jeden z nich:
 
  * nemeni vnitrni stav oproti reseni s pop()
  * nepouziva operator  na setu, cimz me nenuti zjistovat, co tento
 operator vlastne dela. (intersection je jasne...)
  * nepouziva list comprehension
  * je rozepsane do vice radku, primocare a jasne citelne
  ___
  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] Lock

2015-02-09 Tema obsahu Jan Bednařík
Jo, MariaDB je na tom stejně, viz.:
https://mariadb.com/kb/en/mariadb/sql-statements-that-cause-an-implicit-commit/

2015-02-09 22:03 GMT+01:00 zu1234 zu1...@seznam.cz:

  MariaDB je to stejně špatně?

 Dne 9.2.2015 v 21:13 Jan Bednařík napsal(a):


 2015-02-09 18:50 GMT+01:00 Petr Messner petr.mess...@gmail.com:

 V čem není InnoDB ACID, při nastavení patřičného isolation levelu?



  InnoDB má solidní bug v transakcích, kvůli kterému nesplňuje ACID. Neumí
 udělat rollback ALTERu, takže ALTER se autocommituje vždy, i když zbytek
 transakce se normálně rollbackuje. Dříve či později na to narazí každý, kdo
 dělá migrace databáze. V horším případě to skončí ztrátou dat a rozbitím
 databáze (osobní zkušenost).

  Bug je již témeř 8 let nahlášen a nikdo ho evidentně neřeší:
 http://bugs.mysql.com/bug.php?id=28727

  Honza



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

2014-07-07 Tema obsahu Jan Bednařík
Ahoj,

jedete někdo na EuroPython a/nebo PyData do Berlína? Mohli bychom se tam
potkat a prohodit pár slov v češtině či slovenčině.

Honza
___
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 Jan Bednařík
Ahoj,

můžeš tam použít Generator Expression:

for objekt in (obj in list_objektu if obj.name == name):
pass

Honza

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á
 ___
 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] Python problém - elegantnější zápis

2013-11-20 Tema obsahu Jan Bednařík
Mám tam chybu :-)

for objekt in (obj for obj in list_objektu if obj.name == name):
pass

2013/11/20 Jan Bednařík jan.bedna...@gmail.com:
 Ahoj,

 můžeš tam použít Generator Expression:

 for objekt in (obj in list_objektu if obj.name == name):
 pass

 Honza

 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á
 ___
 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] How To again

2013-08-20 Tema obsahu Jan Bednařík
Ahoj Jardo,

widget má specifický význam, rozhodně není pravda, že nic neznamená. Záleží
na kontextu v jakém je použit. Pokud myslíme widgetem komponentu v GUI, což
je tvůj případ, překládá se jako ovládací prvek.

Honza


2013/8/20 Tovim jaak...@gmail.com

 Ahoj Pavle a Petře.

 Pavlovy wjeci:

 ... zvýraznění, že se jedná o Python 3
V How to Think je to v názvu, v textu o Tkinteru to doplním
 ... překlep a chybějící mezera - doplním
 ... odkaz na originál
V zápatí je odkaz na autora a jeho stránku, autor souhlasí;
originál je plný balastních textů
 ... odkazy na hlavní stranu
Na každé stránce je odkaz na všechny ostatní, tedy i na tu úvodní.
Vypustím asi odkazy na stránky aktuálně otevřené.


 Petrovy wjeci:

Ten widget jeden! Nebo vidžet? S widgetem či vidžetem,
oboje má svoji mouchu. Piškot mi přijde zábavný.
V textu používám piškot i widget, takže nevím.
Ápropo: specifické na původním termínu je to, že nic neznamená.
Podobnou specifikou převodu může být v duchu Létajícího cirkusu
to, že je mírně střelený.

 Děkuji za připomínky.
 Jarda


 -Original Message-
 From: Python [mailto:python-boun...@py.cz] On Behalf Of g...@post.cz
 Sent: Tuesday, August 20, 2013 9:19 AM
 To: Konference PyCZ
 Subject: Re: [python] How To again

 Na první straně:

 * Já bych nějak zvýraznil, že se jedná o Python 3.
 * oprava překlepu skriptovacíPjazyk Tcl...
 * oprava from tkinter import* --- from tkinter import *
 * dal odkaz na originál

 Na ostatních stranách bych udělal odkaz na hlavní stranu třeba přes logo
 nebo nadpis Tutoriál.

 Pavel

 Petr Přikryl napsal(a), dne 20.8.2013 8:54:
  Ahoj,
 
  Navrhuji korekci překladu pojmu widget v http://tkinter.py.cz.
  Nejjednodušší by bylo ponechat widget a důkladně to ze všech stran
  vysvětlit. Asi se nepodaří vymyslet něco českého, co by bylo podobně
 specifické a obecně přijatelné.
 
  Petr
 
  __
  Od: Tovim jaak...@gmail.com
  Komu: 'Konference PyCZ' python@py.cz
  Datum: 18.08.2013 17:08
  Předmět: [python] How To again
 
  Buďte zdrávi pánové a dámy.
 
 
 
  Právě jsem zavěsil doplněný překlad How To Think Like
 
  a Computer Scientist in Python (3) na http://howto.py.cz
 
  o překlad textů k Tkinteru (http://tkinter.py.cz)
 
  a dovoluji si vás na to upozornit.
 
 
 
  Rád bych znal vaše názory.
 
  Tovim
 
 
 
 
 
  --
 
  ___
  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

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

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

Re: [python] Suma podle klice slovniku v seznamu

2013-04-16 Tema obsahu Jan Bednařík
2013/4/16 Jaroslav Lukesh luk...@seznam.cz

 Ahoj a díky za rozšíření obzorů.

 Jsou to data ne zrovna jednoduše vycucaná z databáze, o nějaké dočasné
 tabulcev sqlu  jsem uvažoval protože je nad tímto selektivně sečteným
 výsledkem víc operací, ale připadalo mi to jako ne příliš čisté řešení.
 Otrocky s pomocnýma proměnnýma to taky jde, ale chtěl jsem vědět, jeslti na
 to není nějaký fígl, protože mi připadalo logické, aby pro práci nad poli a
 slovníky bylo aspoň trochu něco jako je v sql.



Je na to spousta nástrojů, třeba ty itertools. Chce to jen méně zkoušet
metodou pokus omyl a více koukat do nápovědy :-)



 Ale mám s tím trošku problém, izoloval jsem problém pro tento příklad až
 příliš moc, protože se mi nedaří jej rozšířit o 'c', tedy pro tento vstup
 (podotýkám jen, že hodnota 'c' je stejná pro všechny 'a'):

 [{'a':4,'b':3,'c':9},{'a':4,'**b':5,'c':9},{'a':1,'b':3,'c':**
 7},{'a':3,'b':2,'c':6}]

 chtěl tento výstup:

 [{'a': 4, 'b': 8, 'c':9}, {'a': 1, 'b': 3, 'c':7}, {'a': 3, 'b': 2, 'c':6}]



Jde to třeba takto (upravené řešení od Honzy Javorka):

from itertools import groupby
from operator import itemgetter

def summarize(data):
return [{'a': a, 'b': sum(map(itemgetter('b'), group)), 'c': c} for (a,
c), group in groupby(data, itemgetter('a', 'c'))]


A kdybys to chtěl pomocí cyklů, tak třeba takto:

from itertools import groupby
from operator import itemgetter

def summarize(data):
groups = groupby(data, itemgetter('a', 'c'))
out = []
for (a, c), group in groups:
b = sum(map(itemgetter('b'), group))
out.append({'a': a, 'b': b, 'c': c})
return out


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

Re: [python] Suma podle klice slovniku v seznamu

2013-04-15 Tema obsahu Jan Bednařík
Myslím že to využití groupby je parádní. Je to snadno čitelné, jednoduché a
elegantní řešení. Těžko to půjde napsat čitelnějí pomocí cyklů. Ostatně
právě kvůli tomuto příkladu existuje funkce groupby.

Jen bych to lehce vylepšil použitím operator.itemgetter místo těch lambda
funkcí, tzn.:

from operator import itemgetter

get_a = itemgetter('a')
get_b = itemgetter('b')



2013/4/15 Honza Javorek jan.javo...@gmail.com

 Jde to samozřejmě v podstatě one-linerem, ale bude to nečitelný.



 from itertools import groupby


 def summarize(data):
 get_b = lambda x: x['b']
 get_a = lambda x: x['a']
 return (
 {'a': val, 'b': sum(map(get_b, group))}
 for (val, group)
 in groupby(data, key=get_a)
 )

 data = [{'a': 4, 'b': 3}, {'a': 4, 'b': 5}, {'a': 1, 'b': 3}, {'a': 3,
 'b': 2}]
 print list(summarize(data))  # [{'a': 4, 'b': 8}, {'a': 1, 'b': 3}, {'a':
 3, 'b': 2}]



 Já bych to udělal normálně cyklama, ať se v tom jde vyznat.

 H



 2013/4/15 starenka . staren...@gmail.com

 Ahoj, dal sem si malyho panaka, abych to pochopil, ale porad nechapu,
 pokud by ti nahodou slo o sumu cisel u klicu, tak collections.Counter:

  import collections
  c = collections.Counter()
  for one in [{'a':4,'b':3},{'a':4,'b':5},{'a':1,'b':3},{'a':3,'b':2}]:
 ... c.update(one)
 ...
  c
 Counter({'b': 13, 'a': 12})

 Ale asi chces neco jinyho, v tom pripade mi to asi lip vysvetli,
 protoze jsem z pomalejsich

 s
 ---
 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]


 2013/4/15 Jaroslav Lukesh luk...@seznam.cz:
  Dobrý den,
 
  existuje na toto nějaký jednoduchý fígl?
 
  mám zdroj (první dva slovníky jsou za sebou abyste je nemuseli hledat,
 jinak
  jsou rozmístěná všeljak)
  [{'a':4,'b':3},{'a':4,'b':5},{'a':1,'b':3},{'a':3,'b':2}]
 
  a chci ve výsledku sesumírovat všecky b podle stejného klíče a, takto:
 
  [{'a':4,'b':8},{'a':1,'b':3},{'a':3,'b':2}]
 
  hodnota klíče a je obecná, tedy je to text, ne číslo.
 
  Děkuji, JL.
  ___
  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

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

Re: [python] otázka ohladom mojho štýlu písania v OOP

2013-01-12 Tema obsahu Jan Bednařík
Ahoj,

v prvé řadě bych doporučil nastudovat si PEP-8, což je doporučení (de-facto
standard) jak psát kód v Pythonu. http://www.python.org/dev/peps/pep-0008/

Honza



2013/1/12 Roman Beno romanbeno...@gmail.com

 http://programujte.com/anonymni-profil/170094/

 Dobrý deň,

 chcel by som sa spýtať na váš názor ohľadne môjho štýlu písania programov
 v OOP.
 Rád prijmem akukolvek kritiku, mojim cielom je sa v tomto ohľade zlepšit a
 v tejto oblasti som si nie som príliš istý.

 Tu sú ukážky mojich kódov:

 # -*- coding: utf-8 -*-
 #Definícia triedy###
 class Fibonacci:
 Fibonacciho trieda
 def __init__(self,a=0,b=1,pocet_cisiel=10,default=0):
 Vyrobíme stavebný materiál pre fibonaccciho postupnosť.
 self.a=a
 self.b=b
 self.pocet_cisiel=pocet_cisiel
 self.default=default
 def proces(self):
 print(self.a,self.b,end= )
 while True:
 self.a=(self.a+self.b)
 self.default+=1
 if self.default=self.pocet_cisiel:
 print(\n)
 break
 print(self.a,end= )
 # postupnost bude a,b,a,b,a,b... tento blok je pre všetky a
 self.b=(self.a+self.b)
 self.default+=1
 if self.default=self.pocet_cisiel:
 print(\n)
 break
 print(self.b,end= )
 # a tento pre všetky b
 #Hlavný program##
 MojaInstancia=Fibonacci(pocet_cisiel=20)
 MojaInstancia.proces()


 
 Tu je další:

 # -*- coding: utf-8 -*-
 # program Záznamník adries
 # tréning Tkinter + OOP
 # autor JA, dnes
 # ver. 1.0
 # * opravená chyba pri vytvárani poľa pre zadávaní adresy, použitá
 neexistujúca farba okna
 # * opravená chyba pri vytváraní tlačítka ukončujúceho okno zadávania,
 použitý neexistujúci názov prvku
 # * zmenené umiestnenie a veľkosť tlačítka pre zavretie okna pri pridávaní
 adries
 # ver. 1.1
 # * opravená chyba pri potvrdení voľby mena pri pridávaní mena, použitá
 neexistujúca premenná
 # * opravená chyba pri potvrdení voľby mena pri pridávaní adresy, použitá
 neexistujúca premenná
 # ver. 1.2
 # * polia pre zadávaní mena aj adresy sa po zadaní oboch údajov teraz
 vymažú (ich hodnota)m
 #   uživatel ich teraz nemusí zadávať sám
 # * opravená chyba pri  načítaní údajov zo zoznamu, použitá neexistujúca
 premenná
 # ver. 1.2.1
 # * opravená chyba pri zobrazovaní načítaných údajov,použitá neexistujúca
 premenná
 # ver. 1.3
 # * opravená chyba pri vytváraní tlačítka na zavretie okna načítania
 údajov, použitá neexistujúca
 #   premenná
 # * opravená chyba pri zobrazovaní načítaných údajov (druhá chyba v
 tomto), použitá neexistujúca premenná
 # * zmenený text niektorých tlačítok v úvodnom menu
 # * v popisku okna sa teraz zobrazuje aj aktuálna verzia programu
 # ver. 1.3.1
 # * pri načítaní údajov upravená oddelovacia čiara údajov
 # * zmenené rozmery tlačítka ukončujúceho okno načítania údajov
 # ver. 1.3.2
 # * v okne ukladania súboru zmenená farba informačného textu na
 prehľadnejšiu
 # * opravená chyba pri ukladaní súborov, použitá neexistujúca premenná
 # ver. 1.4
 # * opravená chyba pri ukladaní súborov, použitá ďalšia neexistujúca
 premenná
 # * zmenená farba riadku pre chybové hlásenia v okne ukladania dát na
 prirodzenú bledomodrú
 # * pridaná možnosť odstránenia položiek zo zoznamu

  from tkinter import *
 import sys
 import os

 class Zaznamnik:
 Toto je trieda môjho záznamníku

 def __init__(self):
 self.hlavneOkno=Tk()
 self.hlavneOkno.title(Záznamník, Ver. 1.4)
 self.adresy=[]
 self.zoznamMena=[]

 def program(self):
 Táto časť programu bude mať za úlohu čisto len grafiku hlavného
 menu (nie logiku).

 self.HOuvodnypopisokLabel=Label(self.hlavneOkno,bg=lightblue,text=Vitajte
 v mojom záznamníku adries.\nDúfam, že sa vám bude páčiť.)
 self.HOuvodnypopisokLabel.grid(row=0,column=0,sticky=W+E+N+S)
 # uvodny popisok - label - ktorý nás privíta v programe

 self.HOtlacitkoZadavatAdresy=Button(self.hlavneOkno,bg=lightblue,activebackground=lightgreen,text=Pridať
 adresy do záznamníka)
 self.HOtlacitkoZadavatAdresy.grid(row=1,column=0,sticky=W+E+N+S)
 # tlačítko, ktoré by malo umožniť zadávanie adries

 self.HOtlacitkoOdstranitAdresy=Button(self.hlavneOkno,bg=lightblue,activebackground=lightgreen,text=Odstrániť
 adresu zo záznamníka)
 self.HOtlacitkoOdstranitAdresy.grid(row=2,column=0,sticky=W+E+N+S)
 # tlačítko, ktoré by malo umožniť odstránenie adries

 self.HOtlacitkoUlozit=Button(self.hlavneOkno,bg=lightblue,activebackground=lightgreen,text=Uložiť
 do súboru)
 self.HOtlacitkoUlozit.grid(row=3,column=0,sticky=W+E+N+S)
 # tlačítko, ktoré by malo umožnit uloženie do súboru

 

Re: [python] py2exe

2010-03-05 Tema obsahu Jan Bednařík
Pythonní knihovny připoj ke svému projektu. Stačí aby byly v nějakém
adresáři, který přidáš na začátek sys.path Například pokud máš knihovny v
podadresáři (oproti spouštěcímu skriptu) pojmenovaném 'lib', udělej na
začátku:

import os.path
os.path.insert(0, os.path.abspath('lib'))

a poté je můžeš bez problémů importovat.

Ale stejně jako u interpretru Pythonu platí, že pokud se jedná o nějakou
běžnou knihovnu (PyGTK apod.), je lepší ji nainstalovat do systému (do
site-packages) a stejně tak potřebný podpůrný software (např. GTK+ pro chod
PyGTK). Na první pohled se to možná nezdá, ale ve Windows není běžné, aby
každý program obsahoval všechno co potřebuje k chodu (např. .NET).

Honza


2010/3/4 Petr Zlamal p.zla...@gmail.com

  Problem je, ze ja vyuzivam dalsi knihovny tretich stran a konkretne
 knihpvnu vtk jsem musel pro sve potreby zkompilovat.
 Vepro

 Jan Bednařík napsal(a):

 Programy pro Windows napsané v Pythonu (nebo využívající Python) to obvykle
 řeší v instalátoru. Při instalaci se podívají, jestli je Python přítomen,
 pokud ne, nainstalují ho sami.

 Honza


 2010/3/3 Petr Zlamal p.zla...@gmail.com

 Nemusi to byt jeden soubor. Balikem myslim obrazne mit slozku se skripty,
 ktera bude fungovat nezavisle na naninstalovanych soucastich na konkretnim
 pocitaci. Samozrejme na konretni platforme.

 Petr Mach napsal(a):

 Jednim balikem myslis jeden soubor? To je dost neobvykle, obvykle se
 program sklada z rady souboru.

 2010/3/3 Petr Zlamal p.zla...@gmail.com p.zla...@gmail.com:


  Jeste me napada. Existuje nejaky lepsi zpusob jak distribuovat pythoni
 skripty i s potrebnumi knihovnami v jednom baliku?
 Vepro

 Petr Zlamal napsal(a):

 To jsem jiz zkousel a v podstate si myslim ze je to supl parametru z
 prikazove radky.

 Petr Messner napsal(a):

 Zkus to nějak přidat do 
 includes:http://www.py2exe.org/index.cgi/ScipyImportProblems

 PM

 2010/3/3 vepro p.zla...@gmail.com p.zla...@gmail.com:


 Pratele,
 Zkousim udelat exe soubor pomoci py2exe pod win7 64bit. Uz jsem dosel do
 kroku kdy kompilace probehne a vytvori se exe soubor. V prubehu kompilace
 dojde k vypsani klasicke hlasky: The following modules appear to be missing
 + celkem obsahly seznam (musim rici, ze v aplikaci vyuzivam celkem dost
 externich knihoven: vtk,qt4,scipy). Nicmene po spusteni exe souboru program
 havaruje a v logu je zminka o nemoznosti natazeni modulu z balicku scipy.
 ImportError: No module named streams

 Myslim si, ze chyba musi byt v kompilaci pomoci py2exe jelikoz aplikace
 pri pusteni z interpretu funguje.

 Prikaz kterym kompiluji:
 python setup.py py2exe --includes sip,vtk,scipy,numpy

 Nejak nevim, proc nektere moduly pribali do kompilace a nektere ne. Umi
 nekdo poradit?
 Diky
 Vepro
 ___
 Python mailing list


 ___
 Python mailing listpyt...@py.czhttp://www.py.cz/mailman/listinfo/python




 ___
 Python mailing listpyt...@py.czhttp://www.py.cz/mailman/listinfo/python

  ___
 Python mailing listpyt...@py.czhttp://www.py.cz/mailman/listinfo/python



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


 --

 ___
 Python mailing listpyt...@py.czhttp://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

Re: [python] py2exe

2010-03-04 Tema obsahu Jan Bednařík
Programy pro Windows napsané v Pythonu (nebo využívající Python) to obvykle
řeší v instalátoru. Při instalaci se podívají, jestli je Python přítomen,
pokud ne, nainstalují ho sami.

Honza


2010/3/3 Petr Zlamal p.zla...@gmail.com

  Nemusi to byt jeden soubor. Balikem myslim obrazne mit slozku se skripty,
 ktera bude fungovat nezavisle na naninstalovanych soucastich na konkretnim
 pocitaci. Samozrejme na konretni platforme.

 Petr Mach napsal(a):

 Jednim balikem myslis jeden soubor? To je dost neobvykle, obvykle se
 program sklada z rady souboru.

 2010/3/3 Petr Zlamal p.zla...@gmail.com p.zla...@gmail.com:


  Jeste me napada. Existuje nejaky lepsi zpusob jak distribuovat pythoni
 skripty i s potrebnumi knihovnami v jednom baliku?
 Vepro

 Petr Zlamal napsal(a):

 To jsem jiz zkousel a v podstate si myslim ze je to supl parametru z
 prikazove radky.

 Petr Messner napsal(a):

 Zkus to nějak přidat do 
 includes:http://www.py2exe.org/index.cgi/ScipyImportProblems

 PM

 2010/3/3 vepro p.zla...@gmail.com p.zla...@gmail.com:


 Pratele,
 Zkousim udelat exe soubor pomoci py2exe pod win7 64bit. Uz jsem dosel do
 kroku kdy kompilace probehne a vytvori se exe soubor. V prubehu kompilace
 dojde k vypsani klasicke hlasky: The following modules appear to be missing
 + celkem obsahly seznam (musim rici, ze v aplikaci vyuzivam celkem dost
 externich knihoven: vtk,qt4,scipy). Nicmene po spusteni exe souboru program
 havaruje a v logu je zminka o nemoznosti natazeni modulu z balicku scipy.
 ImportError: No module named streams

 Myslim si, ze chyba musi byt v kompilaci pomoci py2exe jelikoz aplikace
 pri pusteni z interpretu funguje.

 Prikaz kterym kompiluji:
 python setup.py py2exe --includes sip,vtk,scipy,numpy

 Nejak nevim, proc nektere moduly pribali do kompilace a nektere ne. Umi
 nekdo poradit?
 Diky
 Vepro
 ___
 Python mailing list


 ___
 Python mailing listpyt...@py.czhttp://www.py.cz/mailman/listinfo/python




 ___
 Python mailing listpyt...@py.czhttp://www.py.cz/mailman/listinfo/python

  ___
 Python mailing listpyt...@py.czhttp://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

Re: [python] Python a Windows Mobile letos

2010-03-03 Tema obsahu Jan Bednařík
Ahoj,

jen jedna technická - Windows Mobile jsou dnes de-facto mrtvá platforma,
takže začínat vývoj pro ně nemá příliš smysl. Počkej si na specifikace
nových Windows Phone 7, hodně věcí tam bude úplně jinak a staré aplikace s
největší pravděpodobností nebudou úplně kompatibilní.

Případně bych doporučil zaměřit se na Maemo, tam by neměl být žádný problém,
případně kouknout jak je na tom s podporou Pythonu Android a iPhone OS.

Honza


2009/11/12 Radek Holý radekholypub...@gmail.com

 Ahoj,
 chtěl bych se Vás zeptat, jak je to v této době s vývojem aplikací v
 Pythonu pro Windows Mobile.
 Našel jsem akorát PythonCE a ten už se (zdá se mi) pár let nevyvíjí.
 1) Existuje ještě jiná možnost?
 2) Ještě mě napadlo, že by se to možná dalo řešit IronPythonem nebo
 JPythonem. Je to tak?
 Děkuju, Radek
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python

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

Re: [python] Python a Windows Mobile letos

2010-03-03 Tema obsahu Jan Bednařík
Vzhledem k tomu, že Windows Phone 7 mají úplně jinou filosofii GUI (jsou
dělané na ovládání prstem, nikoliv stylusem), předpokládá se, že
kompatibilita bude problém. Ale uvidíme co v Microsoftu vymysleli, zatím se
v otázce kompatibility oficiálně nevyjádřili.

Honza


2010/3/3 Radek Holý radekholypub...@gmail.com

 Samozrejme o ostatnich mobilnich platformach taky uvazuji, ale tam
 vim, ze to nejak pujde. Proto o nich nemluvim. Zatimco Windows Mobile
 nejdou.
 IronPython udajne bohuzel nejde (pokud se to nezmenilo), protoze neni
 kompatibilni s .NET compact framework.
 O tom, ze Windows Phone 7 budou uplne jine jsem slysel, ale myslel
 jsem, ze to je zas jen marketing (predelaji vzhled a spoji se
 socialnimi sitemi) - netusil jsem, ze bude zmena i v oblasti
 kompatibility aplikací.
 Ale i tak by se mi libila kompatibilita s Windows Mobile, protoze
 aspon v mem okoli jsou hodne rozsirene.

 Radek




 Dne 3. března 2010 13:01 Martin Stiborský martin.stibor...@gmail.com
 napsal(a):
  Nejlépe je na tom s Pythonem Maemo, je to absolutně bez problémů,
  programování jako na desktopu.
  Na iPhone to s Pythonem jde taky, ale není to zrovna příjemné
  programování, já jsem na to nervy neměl.
 
  2010/3/3 Jan Bednařík jan.bedna...@gmail.com:
  Ahoj,
 
  jen jedna technická - Windows Mobile jsou dnes de-facto mrtvá platforma,
  takže začínat vývoj pro ně nemá příliš smysl. Počkej si na specifikace
  nových Windows Phone 7, hodně věcí tam bude úplně jinak a staré aplikace
 s
  největší pravděpodobností nebudou úplně kompatibilní.
 
  Případně bych doporučil zaměřit se na Maemo, tam by neměl být žádný
 problém,
  případně kouknout jak je na tom s podporou Pythonu Android a iPhone OS.
 
  Honza
 
 
  2009/11/12 Radek Holý radekholypub...@gmail.com
 
  Ahoj,
  chtěl bych se Vás zeptat, jak je to v této době s vývojem aplikací v
  Pythonu pro Windows Mobile.
  Našel jsem akorát PythonCE a ten už se (zdá se mi) pár let nevyvíjí.
  1) Existuje ještě jiná možnost?
  2) Ještě mě napadlo, že by se to možná dalo řešit IronPythonem nebo
  JPythonem. Je to tak?
  Děkuju, Radek
  ___
  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
 
 
 
 
  --
  S pozdravem
  Martin Stiborský
 
  Jabber: st...@njs.netlab.cz
  ___
  Python mailing list
  Python@py.cz
  http://www.py.cz/mailman/listinfo/python
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python

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

[python] Pracovní příležitost

2009-10-22 Tema obsahu Jan Bednařík
Dobrý den,

doufám že tu nikomu nebude vadit nabídka práce, přece jen jí v této
oblasti v ČR není mnoho.

Hledáme do týmu programátora webových aplikací v Djangu (Pythonu). Čím
více znalostí a zkušeností s Pythonem a Djangem, tím lépe. Není to
však nutná podmínka, důležité je vědět oč jde a ochota (nadšení) učit
se nové věci.

Požadavky:
 - zkušenosti s programováním webů v některém skriptovacím jazyku
(Python, Ruby, PHP,...)
 - dobrá znalost XHTML a CSS
 - základní znalosti relačních databází a SQL
 - znalost jQuery/JavaScript výhodou
 - základní znalost GNU/Linux či podobných OS
 - angličtina
 - němčina výhodou
 - zodpovědnost a spolehlivost
 - schopnost práce v týmu i samostatně plnit úkoly

Nabízíme:
 - HPP případně práci na ŽL
 - zázemí nadnárodní firmy
 - dobré platové ohodnocení
 - pružnou pracovní dobu

Primárně se jedná o práci z domu (komunikace přes internet), ale 1x až
2x týdně se scházíme v kanceláři v Prostějově. Tzn. pracovní doba je
40h týdně a většinou je jen na Vás, jak si čas zorganizujete. Tento
systém od Vás vyžaduje schopnost organizovat si čas a zodpovědnost.
Prvních pár dní/týdnů spolupráce bude pochopitelně potřeba scházet se
častěji.

V případě zájmu mne kontaktujte na jan.bedna...@gmail.com nebo +420 733 163 988

Přeji pěkný den

Jan Bednařík
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] pymssql a collation

2009-09-08 Tema obsahu Jan Bednařík
Po připojení (vytvoření cursoru) proveď SQL:

SET NAMES 'cp1250';

Info zde: http://molhanec.net/mysql_cestina_minifaq.html

Honza


2009/9/8 zu1234 zu1...@seznam.cz:
 Pokud se připojím na MS-SQL databázi pomocí pymssql dostávám data v kódování
 cp852 ('dosová čeština') přesto že kódování dat je Czech_CI_AS což je cp1250
  ('windows čeština').
 ???
 Je to vlastnost nebo chyba?
 Dá se to změnit?

 ZU
 ___
 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] Filozofická otázka ohledně synt axe

2009-04-21 Tema obsahu Jan Bednařík
Přeji pěkný den,

narazil jsem na takový filozofický problémek ohledně syntaxe zdrojového kódu.


Mám třeba takový kód (foo může být None):

if foo:
x = foo.fce()
else:
x = bar.fce()


Šlo by to napsat elegantněji takto:

x = foo or bar
x = x.fce()


Dnes mě ale napadlo napsat tohle:

x = (foo or bar).fce()


Nějak se mi to nelíbí, nesedí mi to volání metody na závorce, ale
hlavně asi proto že jsem to nikdy nikde neviděl. Co myslíte, je vhodné
to tak psát?


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


Re: [python] chci se naučit python

2009-04-20 Tema obsahu Jan Bednařík
Ahoj,

souhlasím, tutoriál je ideální začátek.

Důležité čtení je PEP 8 - doporučení/standard pro psaní zdrojových
kódů. http://www.python.org/dev/peps/pep-0008/

Pak si prolítni Language Reference http://docs.python.org/reference/ a
Library Reference (pro začátek stačí do 7. kapitoly)
http://docs.python.org/library/

Jinak v Linuxu stačí:
$ python
a pustí se ti interpretr, kde můžeš zkoušet cokoliv (je to nejlepší
kalkulačka ;-)

A vzhledem k tvým zkušenostem bych předem zmínil jednu věc z OOP -
zapomeň na settery a gettery :-) Python má implementován princip
zapouzdření lépe než je běžné v jiných OO jazycích. Přistupuje se
přímo k atributům a jen když je třeba, přetěžíš funkci/chování pro
čtení či přiřazení hodnoty atributu zpětně pomocí tzv. properties.

Honza



2009/4/20 Leos Pol leos@firma.seznam.cz:
 Ahoj,

 pri tvych zkusenostech bych se nevrhal na nejakou knizku, ale prosel bych si
 tutorial na http://docs.python.org/tutorial/. Zabere ti to dva dny a budes
 vedet vsechno pro to, abys zacal. Pak uz staci jen programovat a
 programovat. Ale zalezi na cloveku, jak je zvykly se ucit...

 Leo

 Jakub Fišer wrote:

 Zdravíčko!

 Chci proniknout do tajů pythonu, nejdřív spíš po stránce jazyka samotnýho,
 pak
 možná vývoje aplikací nad pygtk (příp. jiný běžný toolkit, na tom už
 tolik
 nesejde).

 Mam zkušenosti s Javou, C/C++, Pascalem/Delphi, Bashem a principy
 objektového
 programování chápu dobře, jde mi jen o pochopení specifik pythonu, vyvíjet
 budu
 v Linuxu a FreeBSD.

 Co byste mi doporučili za literatutu, případně weby? Google toho zná
 spoustu,
 ale neřeke mi žádný zkušenosti...

 díky,

 -miky



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

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


Re: [python] Více proměnných ve smyčce FOR

2009-03-01 Tema obsahu Jan Bednařík
Musíš z toho nejdřív udělat seznam obsahující tuple, než to proženeš
forem. Třeba takto:

...
for n, c in map(lambda a,b: (a,b), nazvy, cisla):
...

Honza


2009/3/1 Vasco vasco@gmail.com:
 Zdravím,
 řeším v Pythonu následující problém:

 mám dvě proměnné:
        nazvy = ['jedna', 'dva', 'tri', 'ctyri']
        cisla =  [1, 2, 3, 4]

 Potřebuji vytvořit slovník, který bude obsahovat něco takového:
        vysledek = {'jedna': 1, 'dva': 2, 'tri': 3, 'ctyri': 4}

 Napadlo mně použít tento způsob s využitím FOR:
        vysledek = {}
        for n, c in nazvy, cisla:
                vysledek[n] = c

        print vysledek

 Při zpracování dojde k chybě: ValueError: too many values to unpack

 Očividně je ten způsob zápisu 'for' špatný. Mám ale pocit, že jsem někde
 něco podobného viděl. Proto bych se rád zeptal. Dá se toto řešit výše
 uvedeným způsobem (jen mám někde syntaktickou chybu), anebo jsem úplně
 vedle a podobná konstrukce v Pythonu nejde?

 S pozdravem,
 Vasco
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python

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


Re: [python] Python a VisualBasic 5

2009-02-26 Tema obsahu Jan Bednařík
Otázka je jaký toolkit používáš, možností je spousta. Stačí si jen
vybrat, co ti bude vyhovovat - Tk, PyGTK, PyQt, wxPython,... Pokud
chceš vyloženě navrhovat GUI v GUI, koukni např. na PyGlade.

Honza

2009/2/26 martin jirasek jer...@seznam.cz:

 Ja to propojeni potrebuju z duvodu zbytecne sloziteho vytvareni GUI v
 pythonu. Vytvarim aplikace kde se vyuziva velkeho nnozstvi vstupu vystupu a
 takze python je v tomto pro mne dost neohrabany.

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


Re: [python] PyGTK, crontab, a já :)

2009-02-04 Tema obsahu Jan Bednařík
Proč tam to pygtk vůbec je, když ho nepoužíváš? Pyinotify je zcela
samostatný modul a nepotřebuje ke svému chodu GTK ani X server.

Honza


2009/2/3  calis.mar...@seznam.cz:
 Hmm,
 A: tá proměná by měla být DISPLAY=:0?
 pygtk nepouzivam, jenom modul pynotify
 B: Jakou má ten DBUS trvanlivost? Po dobu celé session? protože já ten script 
 spouštím každou hodinu takže už mam grafický rozhraní nastartovaný..




  Původní zpráva 
 Od: slush sl...@slush.cz
 Předmět: Re: [python] PyGTK, crontab, a já :)
 Datum: 03.2.2009 20:37:18
 
 Je to, jak psal Filip, složitější, každopádně to má řešení.

 a) v crontabu by na začátku měla být korektně nastavena proměnná DISPLAY,
 která řekne aplikaci, s kterým X serverem má povídat. Případně jsem teď
 našel čistě pythoní řešení na
 http://www.le-web.org/2008/11/06/pygtk-how-to-display-a-systray-icon-from-a-cronjob/

 b) D-BUS funguje na principu klient (Vaše aplikace) - server (DBUS daemon)
 modelu. Pokud aplikaci pouštíte jako root, může komunikovat jen se
 systémovou DBUS sběrnicí (na které mmj visí HAL apod). Pokud je crontab
 uživatelův, aplikace si může vybrat systémovou nebo session sběrnici
 (existuje separátně pro každého přihlášeného uživatele). Co děláte v
 aplikaci špatně je, že předpokládáte, že DBUS již běží. Já bych to řešil
 periodickým pokusem o připojení a při neúspěchu neukončoval aplikaci (a
 předpokládal, že dbus za chvíli naběhne).

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

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


Re: [python] Python a ukazatele

2009-01-15 Tema obsahu Jan Bednařík
2009/1/15 Vlada Macek tut...@sandbox.cz:
 martin jirasek wrote:
 Dobrý den, zajímalo by mne, zda Python zná něco jako ukazatele.
 Kouknul jsem na pár webových stránek, ale moudřejší z toho nejsem,
 vypadá to spíš, jako by toto python neuměl.

 Primo ukazatele nema, protoze vlastne nejsou potreba.

Pro upřesnění bych dodal, že prakticky všechny identifikátory v
Pythonu jsou ukazatele. Chovají se tak nějak intuitivně - při
přiřazení nějaké hodnoty dojde ke kopii té hodnoty, zatímco při
přiřazení instance objektu dojde jen k vytvoření dalšího ukazatele na
ten sám objekt.

Asi takto:

 a = 1
 b = a
 a = 2
 print a
2
 print b
1

 c = [1, 2, 3]
 d = c
 c[0] = 9
 print c
[9, 2, 3]
 print d
[9, 2, 3]

 def f(x):
... x[0] = ahoj
...
 e = [1, 2]
 f(e)
 print e
['ahoj', 2]


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


Re: [python] mod_python - problém s vícenás obným spuštěním jednoho skriptu

2009-01-13 Tema obsahu Jan Bednařík
No zkusil bych ten script napsat podle manuálu. V publisher handleru
se nepoužívá req.write(), ale na konci každé funkce použiješ return
kterým předáš celou stránku. Viz. mauál
http://www.modpython.org/live/current/doc-html/hand-pub.html nebo
pěkný tutoriál na http://webpython.codepoint.net/mod_python_tutorial

Honza

 Doufám, že se najde někdo, kdo něco takového již řešil. Ještě přidám
 kód, který je potřeba k simulaci problému:

 def index(req):
import time
req.content_type=text/plain
req.write(working...)
time.sleep(10)
req.write(\ndone)

 Předem děkuji za každou odpověď, která mi pomůže hnout se z místa.

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


Re: [python] Faktorizace

2008-12-12 Tema obsahu Jan Bednařík
Dne 12. prosinec 2008 16:34 Jakub Vojáček jak...@seznam.cz napsal(a):
 Dobrý den,

 Vyvýjím jednu aplikaci a potřebuji, aby daná aplikace uměla rozložit číslo na 
 součin prvočísel (prvočíselný rozklad). Naprogramovat nějaký základní 
 algoritmus není problém, ale problém nastane, pokud do algoritmu zadám nějaké 
 větší číslo (např. 4848484848484841178813).
 Mému algoritmu toto číslo trvá dost dlouho, ale například na této stránce 
 dostanu výsledek takřtka okamžitě: 
 http://www.numberempire.com/primenumbers.php

Není to náhodou tím, že ta stránka dělá něco úplně jiného - nerozkládá
na součin prvočísel, ale jen zjišťuje, jestli je číslo prvočíslo? :-)

 Jaký algoritmus byste mi doporučili používat? Na menší čísla se dá použít 
 faktorizace dělením:

 def faktorizace_delenim(i):
prvocisla = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 
 59, 61, 67, 71, 73, 79, 83, 89, 97]
seznam=[]
cislo = 0
while len(prvocisla) != cislo:
if i%prvocisla[cislo] == 0:
seznam.append(prvocisla[cislo])
i = i/prvocisla[cislo]
else:
cislo = cislo +1
if i == 1: break
seznam.append(i)
return seznam

 ale tenhle algoritmus má tu nevýhodu, že bych ten seznam prvočísel (o 
 velikost od 0 do sqrt(i)) musel vygenerovat, což trvá dost dlouho.

Naštěstí seznamy prvočísel vygenerovala spousta lidí před tebou, stačí
je jen k tvému programu přiložit. Např. http://primes.utm.edu

Pokud ale budeš chtít k programu přiložit víc než prvních pár miliónů
prvočísel, doporučuju uložit si jejich databázi metodou popsanou zde
http://www.rsok.com/~jrm/printprimes.html

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


Re: [python] Python CGI

2008-10-27 Tema obsahu Jan Bednařík
Dobrý den,

a proč nepoužiješ rovnou mod_python? Na web4ce.cz funguje a rozhodně
je to mnohem efektivnější řešení než CGI skripty.

Honza


Dne 27. říjen 2008 18:52 martin jirasek [EMAIL PROTECTED] napsal(a):
 Dobrý den,
 Pokouším se o spuštění skriptu cgi, ale bez úspěchu.


 Do souboru .htaccess jsem vepsal příkazy povolující jejic spouštění:
 --
 Options +ExecCGI
 AddHandler cgi-script .py
 AddHandler cgi-script .cgi
 --


 V skriptu (python).
 By mělo být vše dobře:
 --
 #!/usr/bin/python
 import cgi
 print 'Content-type: text/plain; Charset=iso-8859-2'
 print ' '
 print 'Python'
 --

 Skript je uložen s koncovkou .cgi, ale zkoušel jsem i .py.

 Přesto se mi vrací internal server error.
 Mam hodting podporujici cgi a python (web4ce.cz, program START). nevim si rady
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python

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


Re: [python] vytvoření programu pro odesíl ání a přijímání textových zpráv

2008-10-08 Tema obsahu Jan Bednařík
To se dá vyřešit tak, že připojíš mobil k počítači datovým kabelem. K
odesílání a čtení přijatých sms poté poslouží tzv. AT příkazy. Co se
týče samotného programu, je třeba jen vygooglit, jak se v Pythonu řeší
komunikace po sériovém portu (COM), kam bude ten mobil pravděpodobně
připojen.

Honza


2008/10/8 Jarek Krcmar [EMAIL PROTECTED]:
 Dobrý den Pythonýři,

 chtěl bych napsat program, který by umožňoval psát textové zprávy a odesílat
 je na telefony Vodaphone, O2 a T-mobile a také přijímat textové zprávy zpět
 na počítač.

 Problém je jen v tom, že nevím, jak na to.

 Poraďte mi prosím, jak na to a také bych chtěl používat vstup z klávesnice.

 Díky moc.

 Jarek

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

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


Re: [python] MySQL - nativní rozhraní pro Python

2008-06-30 Tema obsahu Jan Bednařík
2008/6/29 Jirka Vejrazka [EMAIL PROTECTED]:

  Možná to k ničemu nebude, ale přihodím trošku do mlýna :-)

  Momentálně na jednom projektu ke zjednodušení práce s databází
 (konkrétně MySQL) používám Django. Je sice určené na vývoj webových
 aplikací, ale vrstva která se stará o databáze je pro mé účely
 vyhovující a zbytek frameworku prostě ignoruju.

  Třeba to pomůže...

Jirka

Na to bych použil spíš SQLAlchemy, ale i ořezané Django může být
příjemné řešení.

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


Re: [python] MySQL - nativní rozhraní pro Python

2008-06-30 Tema obsahu Jan Bednařík
2008/6/29 zu1234 [EMAIL PROTECTED]:
 Doufám že to někdo nevezme jako provokaci, ale opravdu
 by mi občas bodlo dostat se prostě do obrazu.

 Takže, byl by někdo ochotný obeznámit nás začátečníky s pojmy jako je
 SQLAlchemy a Django. Ale prosím opět polopatě a prakticky a lidsky.

 ZU

SQLAlchemy je aplikace, která ti umožní pracovat s tabulkami a záznamy
v databázi jako s běžnými objekty. Je určena pro integraci do jiných
aplikací, jako databázová vrstva. Nemusíš tak být odborník na SQL, aby
jsi mohl jednoduše a pohodlně pracovat s databází, teoreticky ani
nemusíš vědět, jak databáze fungují a co to SQL je. Koukni na
http://www.sqlalchemy.org/docs/05/ormtutorial.html a pochopíš, oč jde.

Django je RAD (Rapid Application Development) framework pro tvorbu
internetových aplikací. Funguje na principu MTV = Model Template View.
V první úrovni - Model - nadefinuješ modely. To jsou třídy
reprezentující tabulky v databázi a jejich závislosti a pak s nimi
pracuješ jako s objekty. Je to hodně podobné jako ta SQLAlchemy s
hlavním rozdílem v tom, že nedefinuješ jen typické datové typy
(varchar, int, atd.), ale můžeš použít i speciální jako EmailField,
IPAddressField, apod., které jsou v databázi uloženy třeba jako
obyčejný varchar, ale při práci mají speciální schopnosti, jako
třeba že ten EmailField při přiřazení kontroluje, zda je hodnota
platná e-mailová adresa. Teď trochu odbočím, ale musím prozradit jednu
z bezkonkurenčních (pokud jsem dobře informován) výhod Djanga oproti
jiným webovým frameworkům, a tou je automaticky generovaná
administrace. Na základě zadefinovaných modelů generuje velmi
propracované administrační rozhraní. Proto je tam taky spousta různých
datových typů, které ve výsledku mají vliv jen na chování té
administrace (různé formulářové prvky s JS/AJAX vylepšeními). A když
jsou nadefinované modely, přide na řadu část View. To znamená
nadefinovat šablony pro URL a k nim odpovídající view funkce, které se
mají zavolat (dle potřeby s parametry získanými z URL). Tady je to
hlavně o hraní s objekty modelů. Ve view získáš potřebná data, která
se zpracují v poslední části - Template. Template jsou (X)HTML (nebo
XML, nebo jakékoliv jiné) soubory, které obsahují speciální značky,
které Django nahradí hodnotou z view. Pole hodnot vypíše cyklem.
Aplikuje na hodnoty různé výstupní filtry třeba na pěkné zobrazení
data či zaokrouhlení měny. A tak podobně. Je toho spousta, co by šlo o
Djangu napsat, doporučuji ale rovnou zkusit. Je to zábava s ním
pracovat.

Ještě jsem si vzpoměl na jedno video z nějaké přednášky o Djangu,
které stojí za to shlédnout
http://video.google.com/videoplay?docid=-70449010942275062q=djangoei=7mhpSMG7Jpyc2wLx8dyoCg

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


Re: [python] Guido o funkcich reduce(), filter() a map() v Python 3000

2008-06-30 Tema obsahu Jan Bednařík
 Musím Vás zklamat, Python je jeden z nejpomalejších interpretovaných
 jazyků. Je to daň za špatný runtime Pythonu (který neobsahuje téměř
 naprosto žádné optimalizace, a třeba JIT je zcela utopickým snem) a dále
 daň za velkou obecnost jazyka, která je velmi příjemná pro vývojáře, ale
 nese si svou daň ve zpomalení. Python je oborovský pomalík.

Stále mě nabádáte, abych si našel nějaká fakta. Taky byste to měl
někdy zkusit. Ale souhlasím s tím, že by Python mohl běžet ještě
rychleji, což dokazuje třeba Psyco.

 Problém je kdekoli, kde předěláváte produkční kód, není-li pro to vážný
 důvod. A problém je to proto, že to nikdy není zadarmo - vždy to hodně
 stojí - času, peněz, stability, a leččehos dalšího.

U hotové aplikace není důvod ani potřeba nic přepisovat. Nevím, jakou
máte představu o tom, jak přejít na Python 3000, ale nikdo netvrdí, že
musíte ze dne na den přejít z Pythonu 2.5 na Python 3000 (klidně
můžete zůstat na Pythonu 2.5 až do smrti, přítomnost Pythonu 3000 ho
nezruší). U většiny aplikací, u kterých probíhá vývoj, při plynulém
přechodu na Python 2.6 a pak na Python 3000 s využitím připravených
nástrojů, žádné extra náklady navíc nevzniknou.

 Kolik procent projektů používá nějaký jazyk vůbec nic nevypovídá o
 kvalitě toho jazyka, viz. např. PHP. Důležité je na jaké projekty ten
 jazyk lidé používají.

 Vypovídá to ne o kvalitě jazyka, ale o komplexním součtu působení
 různých vlivů - kvalita jazyka, podpora vývojářů, dostupnost prostředků,
 serióznost tvůrce jazyka a jeho úcta k práci vývojářů a nebo neúcta
 pokud jim jazyk rozorává pod rukou, marketink, záruky, pověst, o tom,
 zda je to třeba nejlepší jazyk pro určitou oblast, atd. atd. atd..

Takže je těch vlivů tolik, že stejně nelze určit, proč je Python někdy
populární více a jindy méně.

 Tohle je jen otázka úhlu pohledu. Co jsem tak různě pochytil tak
 reakce na změny v Pythonu 3000 jsou většinou pozitivní.


 Ano jsou. Stejně tak jako reakce na Hitlera u miliónu Němců byly také
 povětšinou pozitivní například. Tímto chci říct, že pravda není závislá
 na počtu jejích zastánců. A pravda se nedá odhlasovat.

I v případě Hitlera byla drtivá většina lidí, kterých se jeho činy
dotýkaly, proti. V demokratické společnosti platí názor většiny, a
pokud je většina pro změny, nic s tím nezmůžete. Je to blbej systém,
ale ty ostatní jsou jenom horší.

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


Re: [python] Guido o funkcich reduce(), filter() a map() v Python 3000

2008-06-27 Tema obsahu Jan Bednařík
Dne 26. červen 2008 13:44 superman [EMAIL PROTECTED] napsal(a):


 Python je jazyk, který se používá v rychlostně kritických aplikacích. Né 
 úplně doslova, nejnáročnější komponenty se píší v C případně C++ a Python 
 slouží jako nástavba pro rychlý vývoj s těmito komponentami.



 Sám to popíráte - Python se nepoužívá v rychlostně kritických
 aplikacích, protože komponenty se pak píší v C, C++ a dalších jazycích
 orientovaných na rychlost. A toto vlákno se týká psaní kódu v Pythonu -
 a rychlost se tu objevila pouze v té souvislosti, že psaní na max.
 rychlost někdy (ale velmi velmi ukrutně zřídka, aby to tu někdo
 nepoužíval jako argument) ospravedlňuje hnusné změny a zásahy. A protože
 v Pythonu se nepíší rychlostně kritické věci (sám jsem napsal, že se
 tyto části napíší třeba v C), nejsou tyto věci ospravedlněním pro špatné
 zásahy pana Rosauma do Pythonu. Abych tak nějak polopaticky shrnul
 několik příspěvků a o co v nich šlo.

Nepomůžou vám skvělé komponenty v C/C++, když s nimi pracujete v
pomalém jazyku jako třeba PHP. V poměru komfort + rychlost vývoje ku
rychlost zpracování jazyka je na tom Python hodně dobře a je to jeho
obrovská konkurenční výhoda.

 Ale i tak jsou nároky na jeho rychlost obrovské a to že jeho rychlost
 převážně převyšuje ostatní interpretované jazyky je jeden z hlavních
 důvodů, proč je Python tak rozšířený. Za zmínku stojí třeba Google,
 které je postaveno převážně na kombinaci C/C++ a Python, stejně tak
 Seznam.cz, nebo třeba serverová farma MMORPG hry EVE Online. Rychlost
 je taky jeden z důvodů, proč se dělají některé změny v Python 3000 a
 proč nebude donekonečna zachovávána zpětná kompatibilita.


 Rychlost Pythonu převyšuje ostatní jazyky :-) Co já se tu nedozvím :-)
 Pravda je opačná, Python je jedním z nejpomalejších. Ale ono to nevadí,
 protože rychlost ve věcech, kde se nasazuje Python není kritická,
 alespoň ne v těch částech, kde se vykonává Python kód. Protože jinak by
 nasazení Pythonu byla špatná volba - skoro cokoli za jiný jazyk je lepší
 pokud jde o rychlost.

Je tam napsáno interpretované jazyky. Tam má většinou navrch. Je
zásadní rozdíl, jestli bude aplikace napsaná třeba v PHP a bude muset
běžet na čtyřech serverech, nebo bude v Pythonu a bude stačit server
jeden.

 Síla Pythonu je jinde - je to jazyk s ukrutně rychlým vývojem programů.
 Jazyk s udržovatelným kódem, kde bez problémů můžete oprašovat milióny
 řádků a není problém.

S tím souhlasím, ale tímto si protiřečíte, když jinde tvrdíte, že
přechod na Python 3000 (= oprášit pár řádků kódu) by měl být problém.

 A k několika konkrétním příkladům bych dodal - jedna vlaštovka jaro
 nedělá. Mě nezajímá pár firem, co jí používá, mě zajímá kolik procent
 projektů jí používá. A upřímně velmi doporučuji také po čase udělat si
 graf procent a zhodnotit propad Pythonu v důsledku hrátek pana Rossuma.
 Ten propad už se totiž nevyrovná nikdy v budoucnosti. Nepolemizujte se
 mnou, ale sami si dejte dohromady skutečná data.

Kolik procent projektů používá nějaký jazyk vůbec nic nevypovídá o
kvalitě toho jazyka, viz. např. PHP. Důležité je na jaké projekty ten
jazyk lidé používají.

Jestli to bude propad, nebo naopak vzestup nelze předem odhadnout. Ale
já bych si na propad nevsadil.

 Mimochodem, úspěšně jsem složil test na vývojáře pro Google, takže něco
 vím. Hlavní, co požadují je Java, ocení C++, nějak kolem Pythonu se moc
 nemluvilo. Nakonec problém byl, že nejsem s to komunikovat plynule
 perfektní angličtinou po telefonu.

 Ohledně her se záruky nepožadují. Jakpak dlouho se prodává hra? Rok?
 Dva? Určitě se kód hry neudržuje nijak dlouhou dobu oproti jiným
 odvětvím IT. Věřím, že tam Python a Rossum není problém. Znovu říkám,
 jako hračka a pro hraní, stejně tak na jednorázové věci není důvod
 Python nepoužít.

V případě EVE se jedná o roky (6+) probíhajícího vývoje, který jen tak neskončí.

 Stejně stále nechápu, z čeho máte strach. Python už dnes není jen
 Guido, ale stojí za ním poměrně velká nadace, sponzoři a vývojáři
 Pythonu a komunita vývojářů v Pythonu. Guido neupravuje a ani nemůže
 upravovat Python jen tak podle toho, co ho zrovna napadne. Ani změny
 ve verzi Python 3000 nejsou jen jeho výmysl. Má sice poměrně velké
 slovo, ale když by zblbnul, tak se bez něj obejdou. Proto bych se
 nebál, že se z Pythonu stane nějaký nepoužitelný balast.


 He he, tak teď koukám a hledím. Právě teď Rossum dlouhou dobu blbne. Ne
 kdyby zblbnul, on teď dlouhodobě blbne! A nikdo nezasáhne. Kdyby kdokoli
 takhle blbnul v případě komunity třeba Fortranu, C, C++, Javy, Ady, C#,
 a vůbec většiny jazyků, byl by Rossum odstaven coby dup a ještě by všude
 o něm psali jako o pomatencovi. To píšu zcela bez emocí, protože tak by
 to bylo.

 Ve světle současných událostí věty jako proto bych se nebál považuji
 za utopii.

 Miloslav Ponkrác

Tohle je jen otázka úhlu pohledu. Co jsem tak různě pochytil tak
reakce na změny v Pythonu 3000 jsou většinou pozitivní.

Honza
___
Python 

Re: [python] Guido o funkcich reduce(), filter() a map() v Python 3000

2008-06-26 Tema obsahu Jan Bednařík
Dne 26. červen 2008 11:38 superman [EMAIL PROTECTED] napsal(a):

 Ano, jak tu někdo uváděl - záruky jsou někdy buzzword.

 Nicméně této změně rozumím, protože je to snaha optimalizovat Oracle na
 lepší výkon.

 Myslím, že už jsem to tu někdy napsal - jakmile potřebujete
 optimalizovat na rychlost, jde všechno hezké stranou - udržovatelnost,
 kompatibilita, čitelnost kódu 

 A že vnitřních změn v Oracle (kterou při optimalizaci na rychlost museli
 promítnout navenek) je hodně mezi verzemi.

 Vezměte to tak - jakýkoli luxus v programování něco stojí - je jedno,
 jestli mluvíme o zapouzdření do objektů, abstraktních rozhraní,
 kompatibilita, čitelnost, snadnost programování, atd. atd. atd.. A pokud
 jedete na maximální rychlost, tohle všechno stojí rychlosti v cestě. A
 musíte se toho zbavit. Nicméně Python určitě není jazyk, který by se
 používal v rychlostně kritických věcech.

 Miloslav Ponkrác


Python je jazyk, který se používá v rychlostně kritických aplikacích.
Né úplně doslova, nejnáročnější komponenty se píší v C případně C++ a
Python slouží jako nástavba pro rychlý vývoj s těmito komponentami.
Ale i tak jsou nároky na jeho rychlost obrovské a to že jeho rychlost
převážně převyšuje ostatní interpretované jazyky je jeden z hlavních
důvodů, proč je Python tak rozšířený. Za zmínku stojí třeba Google,
které je postaveno převážně na kombinaci C/C++ a Python, stejně tak
Seznam.cz, nebo třeba serverová farma MMORPG hry EVE Online. Rychlost
je taky jeden z důvodů, proč se dělají některé změny v Python 3000 a
proč nebude donekonečna zachovávána zpětná kompatibilita.

Stejně stále nechápu, z čeho máte strach. Python už dnes není jen
Guido, ale stojí za ním poměrně velká nadace, sponzoři a vývojáři
Pythonu a komunita vývojářů v Pythonu. Guido neupravuje a ani nemůže
upravovat Python jen tak podle toho, co ho zrovna napadne. Ani změny
ve verzi Python 3000 nejsou jen jeho výmysl. Má sice poměrně velké
slovo, ale když by zblbnul, tak se bez něj obejdou. Proto bych se
nebál, že se z Pythonu stane nějaký nepoužitelný balast.

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


Re: [python] sqlite3 a dotazy z promenne

2008-06-25 Tema obsahu Jan Bednařík
Máš v kódu navíc nějaký středníky navíc. A taky se pořádně podívej,
jak se pracuje s cursory v Python DB-API 2, snažíš se o SQL Injection.

V tomhle případě bys měl udělat:

self.c.execute(self.query)

a pro dotazy s parametry by to mělo vypadat takto:

self.c.execute(self.query, self.params)

kde:

self.query = SELECT * FROM tabulka WHERE sloupec1 = %s AND slouopec2 = %s
self.params = (hodnota1, hodnota2)

Víc si nastuduj v tom Python DB-API 2 a v dokumentaci k té knihovně co používáš.

Mimochodem ta třída je divná, opravdu má vypadat takhle?

Honza


2008/6/25 Tomas Pelka [EMAIL PROTECTED]:
 Zdravim konferenci,

 narazil sem na problem vkladani databazovych dotazu z promenne, resp.
 parametru. Popisi situaci, mam tridu dejme tomu data:

 
 import sqlite3

 class Data:
def __init__(self,query):
self.query = query
self.conn = sqlite3.connect('db.db')
self.c = self.conn.cursor()
self.c.execute('%s' % self.query);

def getRow(self):
return self.c.fetchone()
 *


 Chtel bych ji jako parametr zadavat cely databazovy dotaz (Pokud je to
 spatne cesta poradte jak na to prosim.).

 Pouziji-li teoreticky nebezpecnou metodu s retezcem (%s) dostavam tohle:
 
 import data
 d = data.Data(SELECT * FROM main_t;)
 Traceback (most recent call last):
  File stdin, line 1, in module
  File data.py, line 10, in __init__
self.c.execute('%s' % self.query);
 sqlite3.OperationalError: near SELECT: syntax error
 


 Pouziji-li dle dokumentace bezpecnou metodu (self.c.execute('?',
 (self.query));) dostavam tohle:
 
 import data
 d = data.Data(SELECT * FROM main_t;)
 Traceback (most recent call last):
  File stdin, line 1, in module
  File data.py, line 10, in __init__
self.c.execute('?', (self.query));
 sqlite3.OperationalError: near ?: syntax error
 

 Dekuji za rady, hezky den vsem.

 --

 S pozdravem Tomáš Pelka
 e-mail: [EMAIL PROTECTED]

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

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


Re: [python] Guido o funkcich reduce(), filter() a map() v Python 3000

2008-06-25 Tema obsahu Jan Bednařík
Dne 25. červen 2008 17:31 superman [EMAIL PROTECTED] napsal(a):
 Ano, a starší verze Pythonu bez toho, aby jí někdo udržoval bude běhat
 na dalších verzích operačních systémů? Budou běhat s novějšími, i
 budoucími verzemi databází? Internetových protokolů?

 Ono je potřeba si uvědomit, že okolí Pythonu se mění a neudržovaný
 Python runtime vyhodí ze hry coby dup.

 Dám jiný příklad: Dnešním kompilátorem bez problémů přeložím 20 let
 starý C program, a to bez ohledu na to, že původně byl napsán pro jiný
 operační systém (dnes už neexistující) - a výsledný program dělá to samé
 beze změny písmenak v kódu. A jazyků, které tohle dokáží není až tak
 málo. Takovým jazykům se říká seriózní.

 Miloslav Ponkrác

Takovým jazykům se říká kompilované. Ale zas tak ideálně to nefunguje,
ale podle této teorie si můžete interpretr pythonu starší verze
zkompilovat i na novějších verzích operačních systémů.

Ale hlavně nechápu, že vám nevadí, že se nekompatibilně změní
databáze, internetové protokoly, atd., ale že se vyvyne a změní taky
Pathon je problém.

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


Re: [python] Guido o funkcich reduce(), filter() a map() v Python 3000

2008-06-25 Tema obsahu Jan Bednařík
Dne 25. červen 2008 18:22 superman [EMAIL PROTECTED] napsal(a):

 Ale hlavně nechápu, že vám nevadí, že se nekompatibilně změní
 databáze, internetové protokoly, atd., ale že se vyvyne a změní taky
 Pathon je problém.


 Ano? Já tedy nevím o databázi, která by nekompatibilně změnila API, nebo
 SQL. Stejně tak nevím o tom, že by se TCP/IP protokoly nějak bouřlivě
 měnily.

Všechno se mění a zpětná kompatibilita se neudržuje donekonečna nikde.
Vývoj Pythonu může působit jako příliš rychlý, ale ve skutečnosti to
bude nějaký ten rok trvat a každý bude mít dost času se přizpůsobit.
Na druhou stranu věci které se dostatečně nevyvýjí a nepřizpůsobují
časem narazí, jako třeba ten TCP/IP protokol. Přechod na IPv6 pro
vývojáře rozhodně nebude taková sranda, jako kosmetické změny v
Pythonu.

 To, že se změní Python je problém - protože k tomu není vůbec žádný
 důvod. Nic to nepřinese, kromě estetického pocitu pana Rossuma. Zato
 starosti a náklady na změnu nejsou vyváženy mohutnými přínosy.

 Miloslav Ponkrác

Mě nepřipadá že by ty změny byly zas tak zásadní, aby se jim nedalo
poměrně jednoduše přizpůsobit bez nějakých extra nákladů.

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


Re: [python] Guido o funkcich reduce(), filter() a map() v Python 3000

2008-06-25 Tema obsahu Jan Bednařík
Dne 25. červen 2008 19:12 superman [EMAIL PROTECTED] napsal(a):
 Jan Bednařík napsal(a):
 Dne 25. červen 2008 18:22 superman [EMAIL PROTECTED] napsal(a):

 Ale hlavně nechápu, že vám nevadí, že se nekompatibilně změní
 databáze, internetové protokoly, atd., ale že se vyvyne a změní taky
 Pathon je problém.



 Ano? Já tedy nevím o databázi, která by nekompatibilně změnila API, nebo
 SQL. Stejně tak nevím o tom, že by se TCP/IP protokoly nějak bouřlivě
 měnily.


 Všechno se mění a zpětná kompatibilita se neudržuje donekonečna nikde.

 Znovu se tedy ptám na konkrétní případ nekompatiblity v databázích, a pod..



 Vývoj Pythonu může působit jako příliš rychlý, ale ve skutečnosti to
 bude nějaký ten rok trvat a každý bude mít dost času se přizpůsobit.



 Prosím Vás, proč je nazýváno vývojem syntaktická změna, která nic
 jiného, než estetický pocit pana Rossuma neznamená? Já chápu vývojem
 třeba rychlejší rozhraní, vyšší funkčnost třeba internetových protokolů,
 rychlejší práci s daty, atd. atd. atd.. Ale dohadování se o tom, jestli
 tam bude reduce, nebude reduce - to není vývoj, to je puntičkářství.
 Navíc puntičkářství, které v praxi kromě problémů nikomu nic moc nepřinese.


 Na druhou stranu věci které se dostatečně nevyvýjí a nepřizpůsobují
 časem narazí, jako třeba ten TCP/IP protokol. Přechod na IPv6 pro
 vývojáře rozhodně nebude taková sranda, jako kosmetické změny v
 Pythonu.



 Ale znovu říkám, IPv6 má alespoň cíl něco zlepšit - konkrétně hlavně
 řešit malý počet IP adres v IPv4. Tudíž není dělám jen proto, že by si
 někdo hrál a maskoval to bohulibými důvody, ale je tu skutečný praktický
 důvod této změny. A jak vidíte, tato změna se snaží prosadit už
 obrovskou spoustu let a nic moc.

 Ale co prudce praktického, výhodného třeba přinese vyhození reduce a
 změny syntaxe? Myslím nějaký přínos, kterým je možné zdůvodnit náklady
 na komplikace, které tím vzniknou?


 To, že se změní Python je problém - protože k tomu není vůbec žádný
 důvod. Nic to nepřinese, kromě estetického pocitu pana Rossuma. Zato
 starosti a náklady na změnu nejsou vyváženy mohutnými přínosy.

 Miloslav Ponkrác


 Mě nepřipadá že by ty změny byly zas tak zásadní, aby se jim nedalo
 poměrně jednoduše přizpůsobit bez nějakých extra nákladů.



 Nejde o zásadnost změn. První otázka je, proč tam jsou? Proč dělat
 změny, které nic nepřinesou?


 Miloslav Ponkrác


Mám tři otázky:

Četl jste, jaké změny se chystají (všechny)?

Víte o existenci Python 2.6 a máte představu o tom, jak by měl
probíhat přechod na Python 3000?

Když už se dělá spousta zásadních a užitečných změn, které nejsou
zpětně kompatibilní, je takový problém, když se přitom udělá pár změn,
které tak přínosné nejsou (relativně)?

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


Re: [python] POZOR NA NEŽÁDOUCÍ VLIVY

2008-06-23 Tema obsahu Jan Bednařík
Mail od Seznamu je taky Javascriptovej, jen je oproti Gmailu vývojově dost
pozadu (a oba myslím mají alternativní verzi bez Javascriptu).

Honza


2008/6/22 [EMAIL PROTECTED]:

 Se seznam.cz problémy nemám a nikdy jsem neměl, seznam.cz my naprosto
 vyhovuje narozdíl od Javascriptového gmailu...


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

Re: [python] pspad kompilace

2008-06-22 Tema obsahu Jan Bednařík
Tak o existenci property jsem neměl tušení. Nyní souhlasím, že set/get
metody nemají v Pythonu co dělat. Díky za rozšíření znalostí.

Honza


Dne 21. červen 2008 9:55 superman [EMAIL PROTECTED] napsal(a):

 Děkuji náčelníku, že jsi se mě zastal :-) Já osobně si myslím, že
 get/set metody v Pythonu je absolutní pitomost, a že to tak krásný a
 schopný jazyk, jakým Python je opravdu nemá zapotřebí. Nevidím jedinou
 výhodu používání get/set metod v Pythonu - ani jedinou, kromě toho že
 správný Javista bude psát v každém jazyce jako v Javě (parodie na
 Fortranista bude psát v každém jazyce jako ve Fortranu). Osobně si
 myslím, že get/set metody je javovina, kde v Javě je bohužel nutné
 díky strašné neschopnosti syntaxe Javy používat lecjakou obezličku, ale
 je to z nouze ctnost.

 Miloslav Ponkrác

 rajcze napsal(a):
  Pokud mluvime o Pythonu, tak v něm je pozdější přepisování zdrojáků na
  gettery/settery přece ůplně jednoduché.
 
  Pokud se třeba v příkladu s opičkou z nějakého děsivého důvodu
  rozhodnu, že chci atribut nick změnit na slovník, který obsahuje dva
  prvky - jméno a příjmení.
 
  Stačí změnit atribut na property například takto:
 
  Výchozí stav:
 
  class Opicka:
   def __init__(self):
   self._nick = 
 
   def magic_function(self):
   self.nick = self.nick.upper()
 
  Konečný stav:
 
  class Opicka:
   def __init__(self):
   self._nick = {jmeno:, prijmeni:}
 
   def magic_function(self):
   self.nick = self.nick.upper()
 
   def set_nick(self, value):
   value = value.split()
   self._nick[jmeno] = self._nick[prijmeni] = 
   if len(value) == 1:
  self._nick[jmeno] = value[0]
   else:
  self._nick[jmeno] = value[0]
  self._nick[prijmeni] = ' '.join(value[1:])
 
   def get_nick(self):
   return(%s %s % (self._nick['jmeno'], self._nick[prijmeni]))
 
   nick = property(get_nick, set_nick)
 
  a = Opicka()
  a.nick = Pepa z Depa
  a.nick = a.nick +  prvni
  print a.nick
  a.magic_function()
  print a.nick
 
 
  Je mi jasné, že tento příklad je docela nerealistický, ale pro
  demonstraci funkcionality IMHO vyhovuje.
 
  Joza
 
 
  2008/6/21 Jan Bednařík [EMAIL PROTECTED]:
 
  Souhlasím, v tomto případě jsou ty metody zbytečné. Ale v praxi často
 mají
  nějakou funkčnost navíc, jako třeba ověření/ošetření vstupních hodnot,
  přeformátování výstupních hodnot, vliv na další atributy třídy,
 logování,
  apod. To se bez set/get metod neobejde a když se nepoužívají už z
 principu i
  pro to jednoduché přiřazení nebo navrácení hodnoty atributu, pozdější
  přepisování zdrojáků není zrovna nejzábavnější.
 
  Honza
 
  ___
  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

Re: [python] pspad kompilace

2008-06-20 Tema obsahu Jan Bednařík
Dne 20. červen 2008 14:42 Jakub [EMAIL PROTECTED] napsal(a):

 Já to mám z toho Kurzu Pythonu na programujte.com, takže předpokládám,
 že když to tam je, tak je to snad pro začátečníka dobré. Jestli ne tak t
 o je blbé :-)



Úplně dobré to není, správně by ta třída měla vypadat asi takto:


class Opicka:
def __init__(self):
self.nick = 
def setNick(self, nick):
self.nick = nick
def getNick(self):
return self.nick


a příklad použití:


orangutan = Opicka()
orangutan.setNick(Tonda)
print orangutan.getNick()


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

Re: [python] Brainstorm request: Vyuka programovani na gymplu

2008-06-05 Tema obsahu Jan Bednařík
Koukni na http://www.freenetpages.co.uk/hp/alan.gauld/czech/

Honza


Dne 3. červen 2008 21:07 Vlada Macek [EMAIL PROTECTED] napsal(a):
 Teoreticka situace:

 Vyuka predmetu s nazvem Programovani na soukr. 8letem gymplu, 10 pry
 narocnych kluku z pokrocilych rocniku, volitelny predmet (takze oni se
 to chteji ucit). Osnova neni v podstate omezena a pri jejim sestavovani
 se bere v potaz, co by se studenti chteli naucit. 2 vyucovaci hodiny
 tydne po dobu 1 skolniho roku.

 Co byste do osnovy urcite zaradili? A co krome toho urcite?

 Dik za napady,

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


Re: [python] Editor pro nevidome.

2008-06-03 Tema obsahu Jan Bednařík
Dobý den,

pro všechny zájemce o tuto problematiku doporučuji web
http://www.pristupnost.cz zvláště sekci o zařízeních pro hendikepované
uživatele http://www.pristupnost.cz/zarizeni/

Jan Bednařík



Dne 3. červen 2008 14:23 zu1234 [EMAIL PROTECTED] napsal(a):
 Word by asi nebyla moc vhodná volba - je určen na něco jiného.

 Můžete naznačit jak ovládáte ten notepad neboli poznámkový blok?

 Vidíte alespoň něco?

 Neumím si představit jak to děláte.

 ZU

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


Re: [python] Editor pro nevidome.

2008-06-03 Tema obsahu Jan Bednařík
Ahoj Jarku,

Na PSPad nebo nějaké IDE, jak tu kdosi radil se vykašli. Poznámkový
blok je dobrá volba.

Být tebou, zkusil bych editor VIM, myslím že existuje verze pro
Windows zvaná GVIM http://www.vim.org/download.php#pc

VIM pochází z operačního systému UNIX, který má/měl jen textové
rozhraní. Díky tomu je VIM dokonale ovladatelný pomocí klávesových
zkratek a textových příkazů, což je pro tebe myslím ideální (je to
extrémně efektivní i pro lidi co normálně vidí). Koukni na
http://www.kit.vslib.cz/~satrapa/docs/vim/ je tam celkem pěkně popsaný
návod, jak se s editorem VIM naučit zacházet.

Jan Bednařík


Dne 3. červen 2008 15:02 Jarek Krcmar [EMAIL PROTECTED] napsal(a):
 Vážený pane Koumesi a ostatní uživatelé editoru PSPAD,

 Mohli byste mi prosím popsat, jak se tento editor používá?

 Zatím se mi podařilo zjistit, že se v tomto programu nachází Notepad.exe.
 Jsem toho názoru, že jakmile bych spustil Notepad, začal bych psát v
 poznámkovém bloku.

 Navíc - jestliže si chci otevřít program s příponou py. mohu si jej otevřít
 jen v poznámkovém bloku.
 Jarek



 - Original Message -
 From: Koumes21
 To: Konference PyCZ
 Sent: Tuesday, June 03, 2008 2:33 PM
 Subject: Re: [python] Editor pro nevidome.
 Dobrý den,

 kdysi jsem viděl, že nevidomí používají PSPad a to i na normální
 čtení textových souborů.
 Já sám tento editor používám na programování, takže si myslím, že by to
 mohla být ta pravá volba.
 PSPad je možné najít na stránkách http://www.pspad.com/

 Koumes21

 3.6.08, zu1234 [EMAIL PROTECTED]:

 Word by asi nebyla moc vhodná volba - je určen na něco jiného.

 Můžete naznačit jak ovládáte ten notepad neboli poznámkový blok?

 Vidíte alespoň něco?

 Neumím si představit jak to děláte.

 ZU


 ___
 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

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