Re: [python] progress bar na stahovanie velkeho suboru z githubu

2018-05-08 Tema obsahu Michal Molhanec

Ahoj,

zkusil bych si říct přímo o binární data:

req = requests.get(file_url, allow_redirects=True, stream=True, 
headers={"Accept": "application/vnd.github.v3.raw"})


Viz https://developer.github.com/v3/git/blobs/#custom-media-types

S requests ani GITem ale nedělám.
Nicméně tohle mi jsem v rychlosti otestoval a fungovalo mi

Zdraví
Michal

Dne 08.05.2018 v 11:01 ZdPo Ster napsal(a):

Ahojte,

viem stiahnut velky subor z z githubu takto:

file_content = requests.get(file_url, allow_redirects=True)
file_data = base64.b64decode(file_content.content)
open(output, 'wb').write(file_data)

Kedze to dlho trva, chcem tam implementovat progressbar a tu zacinaju 
moje problemy ;-). Nasiel som ze by malo fungovat nieco taketo:


file_size = 19335882  # toto viem vopred
req = requests.get(file_url, allow_redirects=True, stream=True)
block_size = 1024
num_bars = file_size / (block_size*2)
bar = Bar(f'Downloading {filename}', max=num_bars,
  suffix='%(percent).1f%% - %(eta)ds')
bytes_transferred = 0
with open(output, "wb") as file:
    for chunk in req.iter_content(chunk_size=block_size):
    bytes_transferred+= len(chunk)
    if chunk:
    file.write(chunk)
 bar.next()
    bar.finish()
print(bytes_transferred)

Moje problem: Velkost prenesenych dat nesedi s velkostou suboru 
(26640760 vs 19335882 t.j. progress bar nezobrazuje korektny progress) 
z dovodu, ze github namiesto suboru posiela subor zabaleny v json a 
encodovany v base64.


Workaround by mohol byt, ze ak viem velkost finalneho suboru, pokusim 
sa vypocitat velkost json filu (req.headers.get('Content-Length') v 
tomto pripade na githube nefunguje :-( ). Z neho by som po stiahnuti 
do pamate extrahoval content, dekodoval ho a az potom ulozil... 
Otazkou je ci nie je inteligentnejsi sposob ako to urobit...


PS: moja testovacia url je: 
https://api.github.com/repos/tesseract-ocr/tessdata/git/blobs/b01dab8de8174496a0012bf85296943b3e7c81d7



Zd.


___
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] Porovnání některých Ruby a Pythonu 3

2018-03-30 Tema obsahu Michal Molhanec
Á, to máte pravdu. Navíc kdovíproč tam jako na jediném místě bylo 
"array", zatímco všechny ostatní příklady v té části používají "pole". 
Tak jsem to upravil a sjednotil.


Jinak, takových porovnání jsou samozřejmě docela mraky, hned v úvodní 
části mám odkazy na asi sedm jiných :)


Dne 30.03.2018 v 11:01 starenka . napsal(a):

Stacilo :)

-
'aknerats'[::-1]

On Fri, Mar 30, 2018, 11:01 Jirka Vejrazka <jirka.vejra...@gmail.com 
<mailto:jirka.vejra...@gmail.com>> wrote:


‎Ja ted na web nemuzu, ale nestacilo by "array[0] if array else
None?"

 Jirka

*From: *starenka .
*Sent: *Friday, 30 March 2018 10:31
*To: *Konference PyCZ
*Reply To: *Konference PyCZ
*Subject: *Re: [python] Porovnání některých Ruby a Pythonu 3


Ahoj,

dik za odkaz, uz sem takovy veci videl (tusim ze tam byl i perl a
php jeste), ale je to zajimavy!

Je nejakej duvod, proc vsude, kde resis neco s polem je 'array[0]
if len(array) > 0 else None' na misto kratsiho a stejne citelnyho
'array[0] if len(array) else None' ?

s.
-
'aknerats'[::-1]

On Mar 30, 2018 09:34, "Michal Molhanec" <mol-pyt...@seznam.cz
<mailto:mol-pyt...@seznam.cz>> wrote:

Ahoj,
sepsal jsem porovnání některých prvků Ruby a Pythonu 3:
http://mol.users.sourceforge.net/rb-py.html
Může se to hodit všem, co jeden z těhle jazyků znají a chtějí
se naučit
ten druhý (nebo někoho takového vy učíte). Ale myslím si, že
ten text
může být i zajímavý pro ty, kteří jsou začátečníci-mírně
pokročilí v
jednom z nich, protože v některých věcech jde relativně do
hloubky. A
nebo naopak pro ty, které jednoduše zajímá, jak se věci dělají
jinde.
Vzniklo to jako neplánovaný výsledek mojí diplomky, což byl
překladač
Ruby do Pythonu 3.
Uvítám jakékoli připomínky a bugreporty (jo, v IE 11 se to
nezobrazuje
správně, to je ale wontfix :) ).
Enjoy :)

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

Visit: http://www.py.cz



___
Python mailing list
python@py.cz <mailto: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] Porovnání některých Ruby a Pythonu 3

2018-03-30 Tema obsahu Michal Molhanec

Ahoj,
sepsal jsem porovnání některých prvků Ruby a Pythonu 3:
http://mol.users.sourceforge.net/rb-py.html
Může se to hodit všem, co jeden z těhle jazyků znají a chtějí se naučit 
ten druhý (nebo někoho takového vy učíte). Ale myslím si, že ten text 
může být i zajímavý pro ty, kteří jsou začátečníci-mírně pokročilí v 
jednom z nich, protože v některých věcech jde relativně do hloubky. A 
nebo naopak pro ty, které jednoduše zajímá, jak se věci dělají jinde.
Vzniklo to jako neplánovaný výsledek mojí diplomky, což byl překladač 
Ruby do Pythonu 3.
Uvítám jakékoli připomínky a bugreporty (jo, v IE 11 se to nezobrazuje 
správně, to je ale wontfix :) ).

Enjoy :)

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

Visit: http://www.py.cz


Re: [python] sorted

2014-11-06 Tema obsahu Michal Molhanec
Tak všechno zpět, blbě napsaný __lt__().

Za tip se sorted díky.

Michal

Dne 6.11.2014 v 10:18 Michal Molhanec napsal(a):
 Tak všechno zpět, blbě napsaný __lt__().

 Za tip se sorted díky.

 Dne 5.11.2014 v 15:44 Petr Viktorin napsal(a):
 2014-11-05 15:23 GMT+01:00  mol-pyt...@seznam.cz:
 Ahoj,

 už jsem asi oficiálně nechápavej.

 Python 3.4.2:

 users = list(sorted(map(exceptions.user_exception_decorator, users)))
 print(users)   # 1
 users = list(sorted(users))
 print(users)   # 2

 V bodě 1 to vypíše seznam neseřazený; v bodě 2 seřazený. V users jsou
 instance třídy User s přetíženým __lt__.
 Co je exceptions.user_exception_decorator? Je možné že to vytváří
 objekty, které mají __lt__ definované jinak než chceš?

 Mimochodem, sorted() vrací vždycky seznam, není potřeba volat ještě list().


-- 
Zdraví,
Michal Molhanec

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

Visit: http://www.py.cz


Re: [python] Tkinter

2014-09-19 Tema obsahu Michal Molhanec
Ještě si zkontroluj, že ti tam nezbyl Tkinter.pyc.

Dne 19.9.2014 21:58, joho...@gmail.com napsal(a):
 Dne úterý, 16. září 2014 8:45:37 UTC+2 starenka . napsal(a):
 Dobre ty! Toho sem si nevsim :)

 'aknerats'[::-1]

 On Sep 15, 2014 11:38 PM, Michal Molhanec mol-p...@seznam.cz wrote:
 Ahoj,



 Tak jsem vše udělal ale stále mi to hazí chybu že nezná Tkinter zde je 
 screen http://johonek.rajce.idnes.cz/Python#Tkinteroprava.jpg   Už nevím co 
 mám opravit aby se mi to už podařilo rozchodit :) Moc děkuji za rady
 ___


 a] prejmenovat ten soubor z Tkinter.py na neco jinyho, aby fungoval ten

 import

 b] root=Tk()



 --

 Zdraví,

 Michal Molhanec



 ___

 Python mailing list

 pyt...@py.cz

 http://www.py.cz/mailman/listinfo/python



 Visit: http://www.py.cz
 Tak jsem to zkusil a stale se mi to nedari rozchodit. Opet se mi objevuje ta 
 a sama hlaska co jsem tu uz daval :(
 ___
 Python mailing list
 python@py.cz
 http://www.py.cz/mailman/listinfo/python

 Visit: http://www.py.cz



-- 
Zdraví,
Michal Molhanec

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

Visit: http://www.py.cz


Re: [python] Zacatecnik prosi o nalezeni a vysvetleni chyby

2013-11-29 Tema obsahu Michal Molhanec
Dne 29.11.2013 20:07, pythoncaha napsal(a):
 Dobry den vsem v konferenci, jsem zde novy a dovolil bych si obcas
 nejaky zacatecnicky dotaz.
 Doufam, ze nikoho neurazim opravdu zakladnimi otazkami, ale verte, ze
 nez se zeptam, tak ztratim nekolik hodin pokusy...
  
  
 V souboru seznam.txt je kombinace cisel a jmen. Cislo je v souboru vzdy
 unikatni. Chtel jsem programem najit pozici cisla a pak si nacist
 nasledujici jmeno, ale hledani se mi nedari. Dale je asi problem pokud
 cislo zacina nulou, je pak povazovano za HEX hodnotu?

Pouzivej raw_input, ne input v Pythonu 2 (v Pythonu 3 se raw_input
prejmenoval na input).

V pripade, ze soubor obsahuje dvojice cislo a slovo oddelene napr.
mezerou a navzajem napr. koncem radku:

cislo = raw_input(Zadej hledane cislo: )
print cislo

# bylo zadano cislo?
if cislo.isdigit():
# nacti soubor a rozdel ho do pole po jednotlivych slovech
with open('seznam.txt', 'rt') as soubor:
seznam = soubor.read().split()
# v i bude index prvku v poli seznam
for i, prvek in enumerate(seznam):
if prvek == cislo:
print seznam[i + 1]
break
# else u for se vykona v pripade, ze se v cyklu for nevykonalo break
else:
print 'Nenalezeno'
else:
print 'Neni zadano cislo'


Zdraví,
Michal Molhanec
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


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

2013-10-09 Tema obsahu Michal Molhanec
Dobrý den,

1) řádek
   zadanie == zoznam
   měl být předpokládám podmínka -- chybí zde if
2) test na příslušnost v poli dělá operátor in
3) není mi jasný smysl toho cyklu while True:
4) neukončujte program pomocí os.abort(), to platí i pro váš první příklad,
   pokud chcete ukončit předčasně program použijte sys.exit(), v tomto
   případě je ale IMHO lepší případný další kód umístit do funkce a prostě
   ji zavolat v případě úspěšné podmínky
5) pište mezery minimálně mezi print a řetězcem, lépe i za čárkou ap.

import time
print loading please wait\n,nahravam aplikaciu prosim cakajte\n
time.sleep(5)
print dnes je, time.ctime()
zadanie = raw_input(zadajte vase meno prosim)
print volate sa + zadanie
zoznam = [diana, martin, stefan, alena, pavol, miro]
if zadanie in zoznam:
print vitajte v systeme matrix
else:
print  prepacte vase meno nieje v zozname,pristup zamietnuty

Zdraví,
Michal


Dne 9.10.2013 17:47, xteam napsal(a):
 Dobrý  deň!
 
 Volám sa Martin a som úplný začiatočník. Kedže ukážky pythonu,  sa my 
 zapáčili rozhodol som sa v ňom experimentovať
 
 môj prví experiment ktorý aj funguje podla toho čo som od neho chcel  je 
 falošný terminál.
 
 priložím ho k tomu to textu v prilohe.
 
 
 Lenže chcel som doň napísať aj prístup to znamená  na základe zadaného mena 
 program rozhodne či spusti sa terminál (program pokračuje ďalej) alebo vypise 
 sa hláška a program sa ukonci.
 
 Naschvál som to písal ako ďalší program pretože ak by fungoval stačilo by ho 
 len z kopírovať  pridať do prvého súboru lenže nefunguje
 
 buď je chyba  v cykle while alebo v podmienke if  potrebujem radu alebo ešte 
 lepšie ukážku aby to fungovalo a program by na základe vstupu rozhodoval o 
 sebe.
 
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] How To again

2013-08-21 Tema obsahu Michal Molhanec
Dobrá den,

ještě jsem si vzpomenul, že minimálně tenhle překlad:
http://tkinter.programujte.com/index.htm
používá udělátko.

Dne 21.8.2013 19:01, Tovim napsal(a):
 Ahoj Jane, Michale, Petrové, Jakube.
 
 Házím piškot do žita, vyměním jej za widget.
 
 Děkuji za připomínky
 Tovim


-- 
Zdraví,
Michal Molhanec
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] How To again

2013-08-21 Tema obsahu Michal Molhanec
Dobrý den,

já chci jenom upozornit, že control tj. ovládací prvek je ve světě
Windows (já vím, fujky, fujky) ale také třeba wxWidgets/wxPythonu prostě
libovolný prvek UI, tj. zcela to samé co widget v knihovnách původem
pocházejících ze světa unixu.

Osobně (čistě soukromý názor, který nikomu nevnucuji) nevidím důvod,
proč nepoužívat ovládací prvek i pro překlad slova widget, je to
zaběhlý termín, který často znají i neprogramátoři. Případně jenom
prvek (uživatelského rozhraní), pokud se to zdá lepší.

Jinak ve Swingu se používá termín komponenta, ten je úplně univerzální,
i když mně se moc nelíbí (je dlouhý :-) ).

Zdraví,
Michal Molhanec

Dne 21.8.2013 13:48, Petr Přikryl napsal(a):
 Přidávám se k názoru Petra Blahoše. Pojem by se měl překládat přesně.
 Nemusí to být 1:1, ale pojem v cílovém jazyce by měl být přesný pro
 čtenáře v cílovém jazyce. Souvisí to s představivostí, s abstraktním 
 myšlením. 
 
 Ne vždy se všechno překládá pečlivě s ohledem na srozumitelnost.
 To ale neznamená, že je to správně.
 
 Ovládací prvek by měl dělat to, co ten pojem říká. Label je widget, ale 
 podle mého názoru to není ovládací prvek.
 
 Programátoři se nakonec stejně musí naučit anglicky (alespoň pasivně).
 Význam překladu odborného textu pro programátory (podle mého názoru)
 je dvojí: 1) pomůže začátečníkům, 2) pomáhá zvládnout složitější věci,
 protože složitější programátorské věci vyžadují představivost.
 
 Schopnost snadno si něco představit souvisí se znalostí jazyka
 (lidského jazyka jako takového) a se znalostí pojmů.
 
 Pokud pojem není možné snadno přeložit, často jej stačí obšírně
 vysvětlit (aby si čtenář vytvořil svou představu) a používat jej v originálním
 znění -- převzetí slova (skloňovat; tedy widget, widgetu,...)
 
 Programátor čte jak české, tak anglické texty. Pokud se to někde hemží
 zkratkami jako GUI, a pojmy widget, pak je těžké mentálně přecházet 
 k textu, kde se to hemží GUR a piškot. Buď to má zůstat co nejpodobnější,
 nebo to musí dávat velmi dobrý smysl v češtině. Z mého pohledu je
 proto překlad pojmu label jako prvek GUI mnohen přijatelnější
 než ovládací prvek. Ale v textu -- pokud je to srozumitelné -- může 
 přirozeněji působit méně rigidní překlad jako popis nebo popisný prvek.
 
 Při překladu se to někdy musí řešit opisem. Důležité ale je, aby ten
 opis stvořil programátor, protože se musí opsat mentální obraz,
 který odpovídá anglickému pojmu. (Proto stojí překlady odborných
 textů přeložené angličtináři s humanitním vzděláním často za prd.)
 
 P.

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


Re: [python] cvičení z formátování řetězce

2013-02-07 Tema obsahu Michal Molhanec
Dobrý den,

Dne 7.2.2013 18:54, David Rohleder napsal(a):
 jak byste co nejhezčeji napsali následující - mám řetězec a chci jej po
 dvou znacích rozdělit dvojtečkou. Zatím nejzajímavější zápis, na který
 jsem přišel byl:
 
 a = abcdefghijkl
 (( %s:*(len(a)/2) ) % tuple(a[i:i+2] for i in xrange(0,len(a),2)))[:-1]
 
 Takto to vypadá dost nečitelně, zkusíte něco hezčího?

':'.join(a[i:i+2] for i in range(0,len(a),2))

nebo ta úloha zní, že tam musí být formátovací řetězec?

-- 
Zdraví,
Michal Molhanec
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] uvod

2012-09-26 Tema obsahu Michal Molhanec
Dobry den,

jenom chci poznamenat, ze ukoncovani pomoci os.abort() neni moc hezke a je v 
tomto pripade i zbytecne, protoze python se ukonci sam, kdyz dojde na konec 
skriptu. Pokud je potreba ukoncit skript explicitne, tak pomoci sys.exit() nebo 
vyhodit vyjimku SystemExit (coz je to, co udela ten sys.exit()). os.abort() 
urcite ma sva pouziti, ale na standardni ukoncovani to neni.
-- 
Zdraví,
Michal Molhanec
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] ssh klient pro python

2012-08-12 Tema obsahu Michal Molhanec
Dne 12.8.2012 15:05, Petr Messner napsal(a):
 A nebo se podívat na modul ssh, který právě fabric používá a je to
 fork paramika.
 
 http://pypi.python.org/pypi/ssh/
 
 https://github.com/fabric/fabric/issues/275

Wow, tohle
https://github.com/bitprophet/ssh/commit/e37f0b57bd1cef9739c8c870bc954941b9fc4453
je legalni? Me to prijde jako pekna prasarna.


-- 
Zdraví,
Michal Molhanec
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] Oddělovač tisíců ve Windows a Python 3

2012-07-01 Tema obsahu Michal Molhanec
Dobrý den,
onehdy jsem si hrál s typem formátu :n v Pythonu 3:

import sys
if 1:
   import locale
   locale.setlocale(locale.LC_ALL,'czech')
x=123456
s='{:n}'.format(x)
if sys.version_info[0] = 3:
   f=open('formatn.txt','wt', encoding='utf-16')
   print(ascii(s))
else:
   f=open('formatn.txt','wt')
   print(repr(s))
f.write(s)
f.close()

Zatímco v Pythonu 2.7 to vrací A0, tj. nedělitelnou mezeru, což je v pořádku, v 
Pythonu 3.2 se z toho nějak stane FFA0, což mi přijde jako blbost. Tak teď 
nevím, jestli jsem natvrdlej já, nebo Python.

Pak mě zaujalo, že
s=u'{:n}'.format(x)
v Pythonu 2.7 selže, což mi přijde jako poněkud absurdní.

-- 
Zdraví,
Michal Molhanec

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


Re: [python] Python freeze a Vista UAC

2012-06-12 Tema obsahu Michal Molhanec
Dne 12.6.2012 0:26, Radek Holý napsal(a):
 Pokusil jsem se...
 

Díky.

-- 
Zdraví,
Michal Molhanec
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Python freeze a Vista UAC

2012-06-07 Tema obsahu Michal Molhanec
Dobrý den,

to zní užitečně, nechcete to přidat do wiki ?

Dne 6.6.2012 23:30, Radek Holý napsal(a):
 Dobrý den,
 
 moc děkuju za postrčení. Získal jsem další klíčová slova pro hledání a
 nakonec jsem zjistil, že pro změnu manifestu stačí následující kód:
 
 import win32api

 # Load manifest.
 handle = win32api.LoadLibrary(PATH_TO_EXE)
 manifest = win32api.LoadResource(handle, 24, 1, 1033)
 win32api.FreeLibrary(handle)

 # Modify manifest (replacing 'requestedExecutionLevel level=asInvoker' 
 by 'requestedExecutionLevel level=requireAdministrator').

 # Save new manifest.
 handle = win32api.BeginUpdateResource(PATH_TO_EXE, 0)
 win32api.UpdateResource(handle, 24, 1, manifest, 1033)
 win32api.EndUpdateResource(handle, 0)
 
 Resp. toto stačí pro EXE soubory používané v cx_freeze. Nevím, jestli
 v jiných EXE souborech není třeba použít jiné identifikátory než 1 a
 1033 ve funkcích ``win32api.LoadResource`` a
 ``win32api.UpdateResource``...

-- 
Zdraví,
Michal Molhanec
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] file.close

2012-04-27 Tema obsahu Michal Molhanec
Dne 27.4.2012 10:55, zu1234 napsal(a):
 Mám takovýto problém:
 Postupně zapisuji do souboru v dočasném adresáři:
 try:
 FI.write(PART)
 except:
 FI.close

chybejici zavorky jsou predpokladam jenom chyba v emailu?

-- 
Zdraví,
Michal Molhanec
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Parsování PNG

2012-03-20 Tema obsahu Michal Molhanec
Dne 20.3.2012 13:09, Jakub Vojáček napsal(a):
 Dobrý den,
 
 pracuji na parseru PNG obrázků a narazil jsem na pár problémů s filtry. 
 Postouji podle návodu http://www.root.cz/clanky/radkove-filtry-v-png/ 
 a zasekl jsem se hned u prvního (sub) filtru. Nevím, jak mám reagovat to,
 když mi výsledek po odečtení podteče (například 128-255).

To moc nechápu. Pokud PNG parsuješ, tj. čteš, tak neodečítáš, ale naopak zpátky 
přičítáš.
Jinak je to ale klasická osmibitová bezznaménková aritmetika, tj. modulo 256, 
to máš IMHO správně.

 RGB nemůže mít záporné hodnoty, mám tedy na výsledek zavolat funkci abs? 
 Podobný problém nastává,
 pokud výsledek přeteče (je vyšší než 255). Mám vše vyšší než 255 
 zaokrouhlovat na 255? Nebo mám
 použít modulo 256? Ani jedno z vyše uvedených mi myslím nefunguje správně, 
 protože složky RGB by
 měly nabývat pouze hodnot 0, 128, 255 (jedná se o interpet jazkyka 
 brainloller) a mně tam vznikají
 složky jako 1, 254, 127, ...

možná spíš od sebe odečítáš špatná čísla :-)

 Také bych měl dotaz na čtvrtý filtr (filtr s paeth prediktorem). Mají se tam 
 porovnávat pixely, 
 ale jediný způsob, na který jsem přišel, jak porovnat pixely je sečíst 
 všechny složky rgb (self.sum)
 a porovnávat je. Je to tak správně?

Nenech se zmást, všechny filtry pracují na úrovni odpovídajících si bajtů, 
nikoli celých pixelů (pokud
to náhodou není 8bitový čb nebo 8bitový s paletou, kdy bajt = pixel). 
Odpovídajícími míním, že se
např. odečítá bajt zelené složky od dalšího bajtu zelené složky ap.

-- 
Zdraví,
Michal Molhanec
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] XML strom a XPath

2011-08-19 Tema obsahu Michal Molhanec
Dne 19.8.2011 10:38, Stone napsal(a):
 from xml.etree import ElementTree
 
 xmltree = ElementTree.parse(/home/user/djcode/testlab/last_scan.xml)
 '''host = xmltree.findall('host')'''
 host = xmltree.findall('///status[@state=\'up\']/parent::*')
 print len(host)

V Pyhonu 2.7 mi funguje
host = xmltree.findall('.//status[@state=\'up\']/..')

-- 
Zdraví,
Michal Molhanec
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] email headers

2011-07-27 Tema obsahu Michal Molhanec
Dne 27.7.2011 5:14, Ing. Vladislav Ludík napsal(a):
 A ještě toto mi nedá spát:
 
 
 jak zjistit obecně, které parametry se tak dají načíst z výše uvedené 
 konstrukce z instance msg['parametr'] ?

jestli myslíte seznam hlaviček, tak ten lze zjistit msg.keys()

 a dále:
 msg['date'] mi dá například výsledek:  Mon, 25 Jul 2011 12:07:26 +0200
 
 Je v Pythonu funkce na převod do formátu pro zapsání do tabulky mysql, v 
 tomto příkladu by to mělo být: 2011-07-25 14:07:26
 
 Zatím to dělám dvěma dotazy sql:
 
 SELECT STR_TO_DATE('Mon, 25 Jul 2011 12:07:26', '%a, %d %b %Y  %T ');
 a následně z jeho výsledku:
 SELECT CONVERT_TZ('2011-07-25 12:07:26','+00:00','+02:00');

 import datetime
 d=datetime.strptime('Mon, 25 Jul 2011 12:07:26 +0200', '%a, %d %b %Y 
 %H:%M:%S +0200')
 d=d.replace(hour=d.hour+2)
 d.isoformat(' ')
'2011-07-25 14:07:26'

(ale v zásadě nevidím důvod, proč to nenechat na databázi, ty funkce 
STR_TO_DATE ap. lze přece volat rovnou při INSERTu)

-- 
Zdraví,
Michal Molhanec
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] email headers

2011-07-26 Tema obsahu Michal Molhanec
Dne 26.7.2011 17:40, Ing. Vladislav Ludík napsal(a):
 Zdravím všechny znalé pythonu.
 
 Může mi někdo poradit s dekódováním hlaviček emailů ?
 
 Jde o toto:
 
 Ve složce /var/mail/ na linuxu přicházející emaily potřebuju elegantně 
 zdekódovat.
 Co se týká vlastních zpráv, nemám problém:
 
 def ebox(inbox):
'Zpracuje email inbox'
  fp = open(inbox, 'rb')
mbox = mailbox.UnixMailbox(fp, email.message_from_file)
 
for msg in mbox:
for part in msg.walk():
if part.get_content_maintype() == 'text':
data = part.get_payload(decode=True)
# zpracuju data
 
 Problém mám jen s hlavičkama. Když použiju například
 headers = Parser().parse(fp)
 tak ten ve výsledku dává při více zprávách za sebou vždy první nalezený 
 objekt, ale další už ne:
 
print 'To: %s' % headers['to']
print 'From: %s' % headers['from']
print 'Subject: %s' % headers['subject']
 
 Můj dotaz tedy je: jak skloubit jednoduše obě funkce?
 Složitě to umím.

Něco jako

 def ebox(inbox):
'Zpracuje email inbox'
 fp = open(inbox, 'rb')
mbox = mailbox.UnixMailbox(fp, email.message_from_file)

for msg in mbox:
print 'To: %s' % msg['to']
print 'From: %s' % msg['from']
print 'Subject: %s' % msg['subject']

for part in msg.walk():
if part.get_content_maintype() == 'text':
data = part.get_payload(decode=True)
# zpracuju data

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


Re: [python] tisk

2011-06-29 Tema obsahu Michal Molhanec
Dne 29.6.2011 21:38, g...@post.cz napsal(a):
 Dá se nějak poznat, ještě před tiskem print(), jestli půjde řetězec (v
 mém případě název souboru včetně cesty) vytisknout nebo ne? Napadá mě
 tisknout na zkoušku někam jinam print(neco, file=necojakovystupnacp852),
 ale nejsem si úplně jist, jak to udělat nejelegantněji. Nebo nějak
 zjišťovat, jestli znaky v řetězci se vyskytují v daném kodovaní (852)

neco jako

def povede(retezec):
  import sys
  try:
retezec.encode(sys.stdout.encoding, 'strict')
  except UnicodeError:
return False
  return True

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


Re: [python] XML a ElementTree

2011-05-13 Tema obsahu Michal Molhanec
Dne 13.5.2011 10:53, Vlastimil Slinták napsal(a):
 Díky,
 
 to pomohlo. Expandovat jmený prostor ‚dc’ na 
 '{http://purl.org/dc/elements/1.1/}’ jsem zkoušel,
 ale chybělo mi .// O tom jsem se nikde nedočetl.

XPath Support in ElementTree - http://effbot.org/zone/element-xpath.htm
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] XML a ElementTree

2011-05-12 Tema obsahu Michal Molhanec
import xml.etree.ElementTree as ET

tree = ET.parse('content.opf')

print tree.findtext('.//{http://purl.org/dc/elements/1.1/}title')

---

.// zpusobi, ze se bude hledat do hloubky

{http://purl.org/dc/elements/1.1/} je jmenny prostor (nejake 'dc' je jen 
bezvyznamny prefix)

Jine knihovny, treba: http://lxml.de/
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] omezeni globalniho slovniku

2011-03-08 Tema obsahu Michal Molhanec
Něco mi uniká? Články na py.cz jsou, wiki je to celý, na mail archív se 
dostanu z titulní stránky na dvě kliknutí. Design by mohl být lepší, ale 
kvůli tomu není potřeba měnit platformu.


Problém přece není v technologii, ale v tom, kdo ty články bude psát. 
Proč je nikdo nepíše dneska? Jak donutíte lidi, aby je psali, když 
přejdete na CMS?


Jestli vám přijde nepřehledná titulní stránka nebo struktura současného 
py.cz, tak to lze přece změnit.


Dne 8.3.2011 17:52, Visgean Skeloru napsal(a):

Zdravím, jak přesně je to míněno? py.cz http://py.cz by dle mého
potřebovala nový portál, s články, wiki systémem, lehce přístupným mail
archívem a nějakým novodobým designem... Šel by do toho někdo? Osobně
mám velice malé zkušenosti s web designem ale trochu djanga zvládnu,
chtělo by to více lidí... Měl by ještě někdo zájem přetvořit py.cz
http://py.cz (ač nevím jak moc mám pravomoc podobnou možnost nabízet :) )

2011/3/6 g...@post.cz mailto:g...@post.cz


Visgean Skeloru napsal(a), dne 4.3.2011 19:26:
  Taky mam pocit že každý týden je tu jeden mail na téma: jak použít
  exec/eval, možná by to chtělo založit nějaké FAQ kde by bylo vyloženě
  napsáno ať to dělají jinak, nebo rovnou odkazovat na starší vlákna...
  btw: v souvislost s tím by možná nebylo na škodu opravit py.cz
http://py.cz
  http://py.cz 


máš možnost ;-)
___
Python mailing list
Python@py.cz mailto:Python@py.cz
http://www.py.cz/mailman/listinfo/python




--
PGP pub key:
http://keyserver.pgp.com/vkd/SubmitSearch.event?SearchCriteria=visgean%40gmail.com
http://www.abclinuxu.cz/lide/visgean/gpg
A453 B7F3 33D9 3BE6 2B8A | F014 5347 EBAC 0A5A 3E92
Jabber: visg...@jabber.org mailto:visg...@jabber.org |
visg...@jabber.cz mailto:visg...@jabber.cz
Github: http://github.com/Visgean



___
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] Stlačanie kláves

2010-11-16 Tema obsahu Michal Molhanec
Dne Út 16. listopadu 2010 18:56:55 remixus79 napsal(a):
 Dobrý deň,
 
 mal by som zase raz jednu otázku. Dal by sa spraviť program taký že
 keď ho zapnem by stláčal klávesy ? Napríklad otvorim si notepad zapnem
 ten program a do notepadu by sa pisali písmená.

Zagoogluj 
python sendkeys
dostanes radu moznosti, staci si z nich jen vybrat
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Buffer overflow na Win7?

2010-07-15 Tema obsahu Michal Molhanec
Dne Čt 15. července 2010 14:03:35 slush napsal(a):
 Super, moc diky. Tohle to aspon vysvetluje.
 
 2010/7/15 Michal Molhanec mol-pyt...@seznam.cz:
  MSDN: When the r+, w+, or a+  access type is specified, both
  reading and writing are allowed (the file is said to be open for
  update). However, when you switch between reading and writing, there
  must be an intervening fflush, fsetpos, fseek, or rewind operation. The
  current position can be specified for the fsetpos or fseek operation, if
  desired.
  
  Zkousel jsem kde co -
  
  no hlavne jste nezkousel precist si MSDN :-)
 
 Tak ja v podstate hledal souvislost s pythonem, ne, ze to je vlastnost
 windows. Kdyz date do google klicove slovo python, MSDN Vam
 pravdepodobne nevyjede na prvni pozici :-).
 
Jasně, ona to není ani tak vlastnost windows, ale vlastnost standardní C 
knihovny specifikovaná C standardem. Je pravda, že bych čekal, že to Python 
vyřeší sám napozadí, leč nestalo se.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] generator seznamu - TypeError: object cannot be interpreted as an index

2010-01-18 Tema obsahu Michal Molhanec
On Mon, 18 Jan 2010 22:42:41 +0100 (CET) Lukas Lisa ch...@centrum.cz
wrote:

 bez_n = [sluzby[x].nodeType == Node.ELEMENT_NODE for x in sluzby]

bez_n = [x.nodeType == Node.ELEMENT_NODE for x in sluzby]
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] generator seznamu - TypeError: object cannot be interpreted as an index

2010-01-18 Tema obsahu Michal Molhanec

Totiz kecam,

On Mon, 18 Jan 2010 22:42:41 +0100 (CET) Lukas Lisa ch...@centrum.cz
wrote:
 bez_n = [sluzby[x].nodeType == Node.ELEMENT_NODE for x in sluzby]

bez_n = [x for x in sluzby if x.nodeType == Node.ELEMENT_NODE]

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


Re: [python] Python pod dos-em

2008-09-25 Tema obsahu Michal Molhanec

zu1234 napsal(a):

Provozuje někdo python pod dos-em.

DOS-em myslím dos před spuštěním W-98 (nevím jaká je to verze).

Nemyslím tím dos-okno pod spuštěné z W-98.

Co jsem (ne)našel:

(www.python.org: Python for DOS - Python 2.4.2 for DOS/DPMI -
- http://www.caddit.net/pythond/ - download -
- http://home.exetel.com.au/python/pyd24210.zip - NOT FOUND :-((


No ja tu mam pyd24210.zip stazenej, takze ti ho teoreticky muzu nekam 
nahrat, ale mnohem lepsi reseni bude, kdyz napises autorovi tech 
stranek, ze mu nefunguje download.

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


Re: [python] Python pod dos-em

2008-09-25 Tema obsahu Michal Molhanec

zu1234 napsal(a):

Měl jsem trochu problém zjistit KOMU napsat.


http://www.caddit.net/private/decker/resume.php


Nakonec jsem napsal firmě jíž patří doména s pythond.
Moc tomu ale nevěřím.

Navíc to ve mně vyvolává dojem, že projekt Python for DOS je mrtev.


To DOS taky :-)


Byl bych ti vděčný kdyby to šlo někde vystavit.


jestli ti neodpovi, tak napis, ja to zejtra nekam hodim


Dělal jsi v tom něco?


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


Re: [python] for-else - wtf?

2008-04-24 Tema obsahu Michal Molhanec
David Michal napsal(a):
 Mne se ta konstrukce libi. Nez-li psat neco jako:
 if nekde:
   for i in nekde:
   if nasel(i):
   print Nasel
   break
 else:
   print 'nenasel'

Pozor, tohle dela neco uplne jinyho, ekvivalent puvodniho kodu je neco jako:

nasel = False
for i in nekde:
   if nasel(i):
 print Nasel
 nasel = True
 break
if not nasel:
   print 'nenasel'

Me se ta konstrukce docela libi, jenom bych to nenazyval else
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Problem s unicode.

2008-04-07 Tema obsahu Michal Molhanec
Pavel Kosina napsal(a):
 David Michal napsal(a):
 No pockej ale presne tohle tam mam:


 def out(text):
 print unicode(str(text) + '\n', 'utf8')

 tzn. Ze bych mel nejak zjistit kodovanu terminal jeste pred printem. To 
 udelam jak ?
   
 
 Být tebou, ještě jednou prověřím, že je soubor, vlastně oba dva soubory 
 (program i soubor s texty) skutečně v kodovani utf8. Tam se vznikají 
 chyby nejvíce.
 
 Jinak terminály pod Linuxem bývají dnes utf-8, pod Windows cp852, takže 
 pro windows platí:
 
 # -*- coding: utf-8 -*-
 text=Žlutý kůň
 
 textUnicode= unicode (str(text), utf-8)  # převod na unicode
 print textUnicode  # tiskne správně
 
 textTerminal = textUnicode.encode(cp852)  # převod na kodovaní windows 
 konsole
 print textTerminal  # tiskne správně
 

ja bych volil
import sys
textTerminal = textUnicode.encode(sys.stdout.encoding, 'ignore')

to by mohlo fungovat vsude
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Rozměry textového okna

2008-03-17 Tema obsahu Michal Molhanec
zu1234 napsal(a):
 Zdravím.
 
 Potřebuji přerušovat zobrazení delšího textu:
 Kde by si mohl python program bežící pod windows-y v textovém okně 
 zjistit jeho (aktuální) rozměny (počet řádků s sloupců)?

Pro Python s ctypes (od Pythonu 2.5 soucast standardni knihovny):

def getConsoleWindowSize():
 Return size of the console window on Windows as
a tuple (width, height) or (None, None) if ctypes
are not available or some error happens.
 try:
 import ctypes

 class COORD(ctypes.Structure):
 _fields_ = [(x, ctypes.c_short),
 (y, ctypes.c_short)]

 class SMALL_RECT(ctypes.Structure):
 _fields_ = [(l, ctypes.c_short),
 (t, ctypes.c_short),
 (r, ctypes.c_short),
 (b, ctypes.c_short)]

 class CONSOLE_SCREEN_BUFFER_INFO(ctypes.Structure):
 _fields_ = [(size, COORD),
 (cursorPosition, COORD),
 (attrs, ctypes.c_ushort),
 (win, SMALL_RECT),
 (maxWinSize, COORD)]

 info = CONSOLE_SCREEN_BUFFER_INFO()

 handle = ctypes.windll.kernel32.GetStdHandle(-11)
 ctypes.windll.kernel32.GetConsoleScreenBufferInfo(handle,
   ctypes.byref(info))
 return (info.win.r - info.win.l + 1,
 info.win.b - info.win.t + 1)
 except:
 return (None, None)

print getConsoleWindowSize()
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] inline if

2008-03-07 Tema obsahu Michal Molhanec
Dusan Zatkovsky napsal(a):
 Ach, ruky su zase rychlejsie, ako hlava.
 
 Samozrejme na syntax X or Y som narazil, ale ja to mam este okorenene takto:
 
 d = { 'foo': 1, 'faa': 2 }
 
 x = d['foo'] or 1
 y = d['faa'] or 2
 z = d['neexistujuci_index'] or 3
 
 Na tom 'z' to samozrejme raisne KeyError. Preto sa pytam, ci existuje nejaka 
 moznost zapisat to inline, pretoze to chcem pouzit vo volanii funkcie.
 
 # takto teda nie :o)
 x = callSomeFunction ( d['foo'] or 1, d['faa'] or 2, d['neexistujuci_index'] 
 or 3 )

misto d['klic'] pouzijte d.get('klic'), to v pripade neexistence klice 
vrati None, coz se vyhodnoti jako nepravda
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] lstrip

2007-02-19 Tema obsahu Michal Molhanec
Hynek Beran napsal(a):
 Ahoj,
 mám script, který používá různé parametry.
 např.
 
 pyBackup.py --cfg=celyVyvoj.cfg
 
 ve scriptu mám :
 cfgFile = sys.argv[1].lstrip('--cfg=')
 
 očekával jsem, že mi takto napsaný řádek vrátí název souboru  celyVyvoj.cfg .
 Uřízne to --cfg=
 
 Ale ono mi to vrátí elyVyvoj.cfg (odmaže i c znázvu souboru). Když tam
 zadám cokoli jiného do parametru , co nezačíná na c, tak to projde ...
 Pochopil jsem špatně funkce ?

ano, pritom v manualu je explicitne vypichnuto, ze parametr neni prefix, 
ale mnozina znaku, dokonce i s prikladem:

 'www.example.com'.lstrip('cmowz.')
'example.com'

-- 
Regards,
 Michal

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