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

2017-11-24 Tema obsahu 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


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

2016-04-12 Tema obsahu Ing. Vladislav Ludík

Zdravím,

konečně jsem se vymotal z daňových a jiných povinností a začal jsem 
testovat tip na řešení:


HTML:






JS:
$( document ).ready(function() {
$('.monitored').keyup(function(){
  if ($('.monitored').val().length > 23){
// trim and send the value to the server
$.post( "listener.php", { value: 
$('.monitored').val().substring(0,23)} );

// empty the input
$('.monitored').val('');
// maybe add delay?
}
  });
});

Mám v tabulce uloženy všechny kódy tagů a jejich prezentační "číslo".
Chtěl bych dosáhnout toho, že nějaký skript (v tvém případě 
"listener.php") sáhne pro "číslo" do tabulky

a vrátí nalezené "číslo" nebo "nenašel". S tím problém nemám.

Co ale nevím je, jak nalezené "číslo" dostanu do aktivní stránky, kde 
mám formulář s "input".


Nějaký nápad či příklad ?

Když použiji místo "$.post" například "localStorage",
tak se v elementu "value" po správném počtu znaků "číslo" zobrazí:

HTML:


maxlength="24" class="monitored">





JS:
$( document ).ready(function() {
$('.monitored').keyup(function(){
if ($('.monitored').val().length > 23){
// Store
localStorage.setItem("tag", 
$('.monitored').val().substring(0,23));

// Retrieve
document.getElementById("value").innerHTML = 
localStorage.getItem("tag");

}

$('.tag').val('');
}
  });
});

Díky za tipy, zdraví Vláďa

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

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

Martin

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


Bohuzel, dnes nemam pristup k PC. Snad se ozve nekdo jiny...

*From: *Ing. Vladislav Ludík
*Sent: *čtvrtek, 31. března 2016 16:02
*To: *Konference PyCZ
*Reply To: *Konference PyCZ
*Subject: *Re: [python] dynamický vstup klávesnice do stránky s
formulářem pod Windows


AJAXem určitě ano. Bohužel moje pokusy byly neúspěšné. Nebyl by
nějaký příklad kódu, který bych mohl vyzkoušet?


Dne 31.3.2016 v 15:54 Jirka Vejrazka napsal(a):

To je resitelne jednoduchym Ajaxem, ne? Nebo mi neco unika?

 Jirka

*From: *Ing. Vladislav Ludík
*Sent: *čtvrtek, 31. března 2016 15:48
*To: *python@py.cz <mailto:python@py.cz>
*Reply To: *Konference PyCZ
*Subject: *[python] dynamický vstup klávesnice do stránky s
formulářem pod Windows


Zdravím všechny,

mám problém, který bych rád vyřešil lépe.

Popis:
Příruční čtečka UHF RFID čipů je připojena pomocí USB.
Tato čtečka simuluje klávesnici.
Webová aplikace běží na Windows, používám Cherrypy. To ale není
podstatné. Kód je HTML a JS, popřípadě PHP.
Po přiložení čipu odešle v mém případě čtečka číslo čipu, což je
24 znaků do_input_ pole formuláře.
Po stisku _SUBMIT _se pak číslo dále zpracovává.

Chtěl bych však vylepšit snímání znaků ze čtečky nejlépe tak, že
stránka bude očekávat 24 znaků (jako z klávesnice)
a poté je předá ke zpracování dynamicky sereru, například v
nějakém časovém intervalu. Tedy bez ručního odesílání.

Je to řešitelné ?

Díky Vláďa



___
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



--
Ing. Vladislav Ludík
Rožnov pod Radhoštěm
vl...@ludik.cz
608 777 525

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

Visit: http://www.py.cz

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

2016-03-31 Tema obsahu Ing. Vladislav Ludík

To vypadá velmi nadějně.
Bohužel musím dnes odjet na Slovensko a vracím se až v neděli.
Nestihnu to odzkoušet.

Mám jen jednu pochybnost o funkci "listener.php".
Jde o to, že má čtečka je aktivována modulem ( napsaným v C# ), který po 
spuštění běží na pozadí Windows.
Jeho chování je takové, že po přečtení UHF tagu odešle interní znaky 
klávesnice na místo, kde je zrovna aktivní okno a kurzor myši.

V mém programu je to input okno. Tam se znaky čteného tagu objeví.
Má to pro zajímavost také tu nepříjemnou vlastnost, že pokud není 
klávesnice přepnutá do US,
znaky jsou interpretovány zástupnými znaky, jak je kódování například 
klávesnice CES zobrazí.

To ale umím překódovat, v tom problém není.
Co se týká intervalu čtení, tam bude vhodné dát po vynulování pauzu 
určitě, čtečka je schopná načíst čip několikrát po sobě.


Zatím díky za pomoc.

Vláďa

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

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

Martin

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


Bohuzel, dnes nemam pristup k PC. Snad se ozve nekdo jiny...

    *From: *Ing. Vladislav Ludík
*Sent: *čtvrtek, 31. března 2016 16:02
*To: *Konference PyCZ
*Reply To: *Konference PyCZ
*Subject: *Re: [python] dynamický vstup klávesnice do stránky s
formulářem pod Windows


AJAXem určitě ano. Bohužel moje pokusy byly neúspěšné. Nebyl by
nějaký příklad kódu, který bych mohl vyzkoušet?


Dne 31.3.2016 v 15:54 Jirka Vejrazka napsal(a):

To je resitelne jednoduchym Ajaxem, ne? Nebo mi neco unika?

 Jirka

    *From: *Ing. Vladislav Ludík
*Sent: *čtvrtek, 31. března 2016 15:48
*To: *python@py.cz <mailto:python@py.cz>
*Reply To: *Konference PyCZ
*Subject: *[python] dynamický vstup klávesnice do stránky s
formulářem pod Windows


Zdravím všechny,

mám problém, který bych rád vyřešil lépe.

Popis:
Příruční čtečka UHF RFID čipů je připojena pomocí USB.
Tato čtečka simuluje klávesnici.
Webová aplikace běží na Windows, používám Cherrypy. To ale není
podstatné. Kód je HTML a JS, popřípadě PHP.
Po přiložení čipu odešle v mém případě čtečka číslo čipu, což je
24 znaků do_input_ pole formuláře.
Po stisku _SUBMIT _se pak číslo dále zpracovává.

Chtěl bych však vylepšit snímání znaků ze čtečky nejlépe tak, že
stránka bude očekávat 24 znaků (jako z klávesnice)
a poté je předá ke zpracování dynamicky sereru, například v
nějakém časovém intervalu. Tedy bez ručního odesílání.

Je to řešitelné ?

Díky Vláďa



___
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

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

2016-03-31 Tema obsahu Ing. Vladislav Ludík
AJAXem určitě ano. Bohužel moje pokusy byly neúspěšné. Nebyl by nějaký 
příklad kódu, který bych mohl vyzkoušet?



Dne 31.3.2016 v 15:54 Jirka Vejrazka napsal(a):

To je resitelne jednoduchym Ajaxem, ne? Nebo mi neco unika?

 Jirka

*From: *Ing. Vladislav Ludík
*Sent: *čtvrtek, 31. března 2016 15:48
*To: *python@py.cz
*Reply To: *Konference PyCZ
*Subject: *[python] dynamický vstup klávesnice do stránky s formulářem 
pod Windows



Zdravím všechny,

mám problém, který bych rád vyřešil lépe.

Popis:
Příruční čtečka UHF RFID čipů je připojena pomocí USB.
Tato čtečka simuluje klávesnici.
Webová aplikace běží na Windows, používám Cherrypy. To ale není 
podstatné. Kód je HTML a JS, popřípadě PHP.
Po přiložení čipu odešle v mém případě čtečka číslo čipu, což je 24 
znaků do_input_ pole formuláře.

Po stisku _SUBMIT _se pak číslo dále zpracovává.

Chtěl bych však vylepšit snímání znaků ze čtečky nejlépe tak, že 
stránka bude očekávat 24 znaků (jako z klávesnice)
a poté je předá ke zpracování dynamicky sereru, například v nějakém 
časovém intervalu. Tedy bez ručního odesílání.


Je to řešitelné ?

Díky Vláďa



___
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] dynamický vstup klávesnice do stránky s formulářem pod Windows

2016-03-31 Tema obsahu Ing. Vladislav Ludík

Zdravím všechny,

mám problém, který bych rád vyřešil lépe.

Popis:
Příruční čtečka UHF RFID čipů je připojena pomocí USB.
Tato čtečka simuluje klávesnici.
Webová aplikace běží na Windows, používám Cherrypy. To ale není 
podstatné. Kód je HTML a JS, popřípadě PHP.
Po přiložení čipu odešle v mém případě čtečka číslo čipu, což je 24 
znaků do_input_ pole formuláře.

Po stisku _SUBMIT _se pak číslo dále zpracovává.

Chtěl bych však vylepšit snímání znaků ze čtečky nejlépe tak, že stránka 
bude očekávat 24 znaků (jako z klávesnice)
a poté je předá ke zpracování dynamicky sereru, například v nějakém 
časovém intervalu. Tedy bez ručního odesílání.


Je to řešitelné ?

Díky Vláďa
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Re: [python] přepínaní klávesnice US-CS

2016-03-02 Tema obsahu Ing. Vladislav Ludík

win32api jsem nahrál spolu s pywin32 pro python 2.7.3

Problémem ale zůstává, že konstrukce:

import win32api
win32api.LoadKeyboardLayout('0409',1) # to switch to english

nepřepne na anglickou klávesnici.
Poradí někdo ?

Díky Vláďa
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


[python] přepínaní klávesnice US-CS

2016-03-02 Tema obsahu Ing. Vladislav Ludík

Zdravím všechny,

řeším problém přepínání klávesnice US-CZ za běhu programu.
Mám python 2.7.1 a našel jsem možnost například:

import win32api
win32api.LoadKeyboardLayout('0409',1) # to switch to english
# jako příklad:
win32api.LoadKeyboardLayout("00010409",1) # to switch to Dvorak
# nebo
win32api.LoadKeyboardLayout("00020409",1) # to switch to Dvorak

Kde bych našel win32api ?
Nebo nějaké jiné řešení ?

Díky

Vláďa
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] UHF RFID čtečka

2015-05-17 Tema obsahu Ing. Vladislav Ludík

Dobrý den,

víte co je zajímavé ?
Přes stejný program serial v Pythonu, kterým čtu z Alienu se tato čtečka 
normálně připojí.

Viz odpověď po inicializaci spojení:
Serial(port='COM7', baudrate=115200, 
bytesize=8, parity='N', stopbits=1, timeout=10.0, xonxoff=0L, rtscts=0L, 
dsrdtr=False)


Přdtím jsem ji v demo progamu správně nastavil.
Přiložením tagu nepískne, čtení skončí TimeOut. Data žádná nepošle.

Pokud dám zápis nějakého textu, vrátí počet bytů textu.

Pokud byste mi poradil jak z čtečky dostat ID tagu, tak mám hotovo. Dál 
už to umím.


Děkuji a hezký den
Vláďa

Dne 17.5.2015 v 10:32 Dex napsal(a):
Rychle jsem to prošel (nemám čas to pitvat detailně). Čtečka 
komunikuje přes COM, takže pyserial bude správná cesta.


Dokumentace není nic moc, ale jsou tam příklady v C++, tak je můžete 
zkusit "překlopit" do Pythona. Nenašel jsem tam popsané jak 
komunikovat na "binární" úrovni bez ohledu na jazyk. To mne u zařízení 
tohoto druhu překvapuje a prostě bych napsal výrobci.


Btw u takto drahé čtečky nepoužít FTDI je minimálně zvláštní...

Dex


On 17.5.2015 10:19, "Ing. Vladislav Ludík" wrote:

Celá dokumentace je na adrese:
http://www.security-warehouse.com/index.php/rfid-860-925-mhz-equipment/rfid-uhf-860-960-mhz-iso-18000-6b-6c-desktop-reader-writrer-ultra-thin-usb-with-sdk.html 



unzip heslo je securitywarehouse

Mám ještě jednu čtečku Alien ALR-8800 a ta po zapnutí opravdu po 
přiložení čipu odešle ID tagu přes COM port


Tato malá ruční čtečka ne.
Potřebuje inicializaci a v demo od výrobce funguje.
Já programuju web aplikace v Cherrypy a potřebuju ji nějak připojit.
Nevím zazím jak.

Dne 17.5.2015 v 9:50 Dex napsal(a):

Je k té čtečce nějaký bližší popis?

Obvod CP2102 je převodník USB <-> COM (podobně jako PL2303 nebo 
FTDI). Nejsem expert na RFID čtečky, ale ty dvě co jsem viděl po 
přiložení karty odeslaly sadu bajtů odpovídající ID karty. Stačilo 
je mít správně nainstalované a používat vhodnou rychlost.


Dex


On 17.5.2015 9:28, "Ing. Vladislav Ludík" wrote:
Původně tam byl COM4, ale serial, nebo i hyperterminal se tvářili 
jako otevřené, ale čtečka nereagovala.

Po přeinstalaci ovladačů COM port zmizel.
Tak nevím jak to má být, protože v dokumentaci je nějaké:
Dynamic library file name*: RfidApiLib.dll*
a v příkazech například v popisu**aplikace:*

*

If(OpenCommPort(“COM1”,9600) == 0)

MessageBox("success");

Else

MessageBox("failed");

Ale nyní port nemám !
Přiznám se, že zatím nevím co dál.

Dne 17.5.2015 v 9:11 Dex napsal(a):

Zdravím,

nechci Vás svést na špatnou cestu, ale netváří se ta čtečka jako 
COM port? Poznámka o CP2102 by o tom svědčila. Pak bych ovšem 
doporučil pyserial místo pyusb ;-)


Jen nápad...

Dex



On 17.5.2015 8:30, "Ing. Vladislav Ludík" wrote:

libusb0 jsem jsem měl nahrané, ale asi špatné verze.
Teď jsem našel správnou verzi, libusb0 se nahrálo korektně.

Čtečka pak zmizela ve správci zařízení z Portů (byl tam nějaký COM)
a objevil se samostatný symbol pro usb jako libusb-32 devices s 
podsložkou

CP2102 USB to UART Bridge Controller

Když nyní dám usb.core.show_devices()
vrátí mi:
DEVICE ID 10c4:ea60 on Bus 000 Address 001, Specified at interface

Takže idVendor=0x10C48 měl být 0x10C4
Po opravě se vše rozjelo. Zdá se, že jsem na dobré cestě.

Děkuji za pomoc.

Vláďa

Dne 17.5.2015 v 2:43 Petr Messner napsal(a):

Njn, když chceš hackovat, tak na to musíš mít křídla :)

Z chyby 'generator' object has no attribute 'set_configuration' 
je zřejmé, že to usb.core.find vrací iterátor. No a proč to 
vrací iterátor? Protože deklarace té funkce 
<https://github.com/walac/pyusb/blob/a83f17e568bf893bed53fa984f00c1e168348cb9/usb/core.py#L1127> 
je


deffind(find_all=False, backend=None, custom_match=None, **args):

a když to voláš bez keyword argumentů, tak se jako find_all 
nastaví to 0x10C48, což se interpretuje podobně jako find_all=True.


Takže o krok zpět k ValueError: No backend available. Podívej se 
do zdrojáku, co to dělá. Prochází to moduly usb.backend.libusb1, 
usb.backend.libusb0 a usb.backend.openusb a volá to jejich 
funkci get_backend(), která se snaží danou DLL (nebo .so) 
knihovnu načíst (protože usb.backend.* jsou jen ctypes wrappery 
"céčkových" knihoven). Takže problém je v tom, že žádnou z těch 
knihoven buď nemáš k dispozici, nebo ji pyusb nemůže najít.


PM

Dne 16. května 2015 16:28 "Ing. Vladislav Ludík" <mailto:vl...@ludik.cz>> napsal(a):


Ještě chyby:

dev = usb.core.find(idVendor=0x10C48, idProduct=0xEA60)

hlásí chybu:

dev = usb.core.find(idVendor=0x10C48, idProduct=0xEA60)
  File "build\bdist.win32\egg\usb\core.py", line 1199, in find
raise ValueError('No backend available')
ValueError: No backend available

Když jsem změnil řádek na:

dev = usb.core.find(0x10C48, 0xEA60)

program projde dále

Re: [python] UHF RFID čtečka

2015-05-17 Tema obsahu Ing. Vladislav Ludík

Celá dokumentace je na adrese:
http://www.security-warehouse.com/index.php/rfid-860-925-mhz-equipment/rfid-uhf-860-960-mhz-iso-18000-6b-6c-desktop-reader-writrer-ultra-thin-usb-with-sdk.html 



unzip heslo je securitywarehouse

Mám ještě jednu čtečku Alien ALR-8800 a ta po zapnutí opravdu po 
přiložení čipu odešle ID tagu přes COM port


Tato malá ruční čtečka ne.
Potřebuje inicializaci a v demo od výrobce funguje.
Já programuju web aplikace v Cherrypy a potřebuju ji nějak připojit.
Nevím zazím jak.

Dne 17.5.2015 v 9:50 Dex napsal(a):

Je k té čtečce nějaký bližší popis?

Obvod CP2102 je převodník USB <-> COM (podobně jako PL2303 nebo FTDI). 
Nejsem expert na RFID čtečky, ale ty dvě co jsem viděl po přiložení 
karty odeslaly sadu bajtů odpovídající ID karty. Stačilo je mít 
správně nainstalované a používat vhodnou rychlost.


Dex


On 17.5.2015 9:28, "Ing. Vladislav Ludík" wrote:
Původně tam byl COM4, ale serial, nebo i hyperterminal se tvářili 
jako otevřené, ale čtečka nereagovala.

Po přeinstalaci ovladačů COM port zmizel.
Tak nevím jak to má být, protože v dokumentaci je nějaké:
Dynamic library file name*: RfidApiLib.dll*
a v příkazech například v popisu**aplikace:*

*

If(OpenCommPort(“COM1”,9600) == 0)

MessageBox("success");

Else

MessageBox("failed");

Ale nyní port nemám !
Přiznám se, že zatím nevím co dál.

Dne 17.5.2015 v 9:11 Dex napsal(a):

Zdravím,

nechci Vás svést na špatnou cestu, ale netváří se ta čtečka jako COM 
port? Poznámka o CP2102 by o tom svědčila. Pak bych ovšem doporučil 
pyserial místo pyusb ;-)


Jen nápad...

Dex



On 17.5.2015 8:30, "Ing. Vladislav Ludík" wrote:

libusb0 jsem jsem měl nahrané, ale asi špatné verze.
Teď jsem našel správnou verzi, libusb0 se nahrálo korektně.

Čtečka pak zmizela ve správci zařízení z Portů (byl tam nějaký COM)
a objevil se samostatný symbol pro usb jako libusb-32 devices s 
podsložkou

CP2102 USB to UART Bridge Controller

Když nyní dám usb.core.show_devices()
vrátí mi:
DEVICE ID 10c4:ea60 on Bus 000 Address 001, Specified at interface

Takže idVendor=0x10C48 měl být 0x10C4
Po opravě se vše rozjelo. Zdá se, že jsem na dobré cestě.

Děkuji za pomoc.

Vláďa

Dne 17.5.2015 v 2:43 Petr Messner napsal(a):

Njn, když chceš hackovat, tak na to musíš mít křídla :)

Z chyby 'generator' object has no attribute 'set_configuration' je 
zřejmé, že to usb.core.find vrací iterátor. No a proč to vrací 
iterátor? Protože deklarace té funkce 
<https://github.com/walac/pyusb/blob/a83f17e568bf893bed53fa984f00c1e168348cb9/usb/core.py#L1127> 
je


deffind(find_all=False, backend=None, custom_match=None, **args):

a když to voláš bez keyword argumentů, tak se jako find_all 
nastaví to 0x10C48, což se interpretuje podobně jako find_all=True.


Takže o krok zpět k ValueError: No backend available.  Podívej se 
do zdrojáku, co to dělá. Prochází to moduly 
usb.backend.libusb1, usb.backend.libusb0 a usb.backend.openusb a 
volá to jejich funkci get_backend(), která se snaží danou DLL 
(nebo .so) knihovnu načíst (protože usb.backend.* jsou jen ctypes 
wrappery "céčkových" knihoven). Takže problém je v tom, že žádnou 
z těch knihoven buď nemáš k dispozici, nebo ji pyusb nemůže najít.


PM

Dne 16. května 2015 16:28 "Ing. Vladislav Ludík" <mailto:vl...@ludik.cz>> napsal(a):


Ještě chyby:

dev = usb.core.find(idVendor=0x10C48, idProduct=0xEA60)

hlásí chybu:

dev = usb.core.find(idVendor=0x10C48, idProduct=0xEA60)
  File "build\bdist.win32\egg\usb\core.py", line 1199, in find
raise ValueError('No backend available')
ValueError: No backend available

Když jsem změnil řádek na:

dev = usb.core.find(0x10C48, 0xEA60)

program projde dále, ale hlásí chybu:

dev.set_configuration()
AttributeError: 'generator' object has no attribute
'set_configuration'

Co s tím dále, nevím.


Díky Vláďa
___
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 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] UHF RFID čtečka

2015-05-17 Tema obsahu Ing. Vladislav Ludík
Původně tam byl COM4, ale serial, nebo i hyperterminal se tvářili jako 
otevřené, ale čtečka nereagovala.

Po přeinstalaci ovladačů COM port zmizel.
Tak nevím jak to má být, protože v dokumentaci je nějaké:
Dynamic library file name*: RfidApiLib.dll*
a v příkazech například v popisu**aplikace:*

*

If(OpenCommPort(“COM1”,9600) == 0)

MessageBox("success");

Else

MessageBox("failed");

Ale nyní port nemám !
Přiznám se, že zatím nevím co dál.

Dne 17.5.2015 v 9:11 Dex napsal(a):

Zdravím,

nechci Vás svést na špatnou cestu, ale netváří se ta čtečka jako COM 
port? Poznámka o CP2102 by o tom svědčila. Pak bych ovšem doporučil 
pyserial místo pyusb ;-)


Jen nápad...

Dex



On 17.5.2015 8:30, "Ing. Vladislav Ludík" wrote:

libusb0 jsem jsem měl nahrané, ale asi špatné verze.
Teď jsem našel správnou verzi, libusb0 se nahrálo korektně.

Čtečka pak zmizela ve správci zařízení z Portů (byl tam nějaký COM)
a objevil se samostatný symbol pro usb jako libusb-32 devices s 
podsložkou

CP2102 USB to UART Bridge Controller

Když nyní dám usb.core.show_devices()
vrátí mi:
DEVICE ID 10c4:ea60 on Bus 000 Address 001, Specified at interface

Takže idVendor=0x10C48 měl být 0x10C4
Po opravě se vše rozjelo. Zdá se, že jsem na dobré cestě.

Děkuji za pomoc.

Vláďa

Dne 17.5.2015 v 2:43 Petr Messner napsal(a):

Njn, když chceš hackovat, tak na to musíš mít křídla :)

Z chyby 'generator' object has no attribute 'set_configuration' je 
zřejmé, že to usb.core.find vrací iterátor. No a proč to vrací 
iterátor? Protože deklarace té funkce 
<https://github.com/walac/pyusb/blob/a83f17e568bf893bed53fa984f00c1e168348cb9/usb/core.py#L1127> 
je


deffind(find_all=False, backend=None, custom_match=None, **args):

a když to voláš bez keyword argumentů, tak se jako find_all nastaví 
to 0x10C48, což se interpretuje podobně jako find_all=True.


Takže o krok zpět k ValueError: No backend available.  Podívej se do 
zdrojáku, co to dělá. Prochází to moduly 
usb.backend.libusb1, usb.backend.libusb0 a usb.backend.openusb a 
volá to jejich funkci get_backend(), která se snaží danou DLL (nebo 
.so) knihovnu načíst (protože usb.backend.* jsou jen ctypes wrappery 
"céčkových" knihoven). Takže problém je v tom, že žádnou z těch 
knihoven buď nemáš k dispozici, nebo ji pyusb nemůže najít.


PM

Dne 16. května 2015 16:28 "Ing. Vladislav Ludík" <mailto:vl...@ludik.cz>> napsal(a):


Ještě chyby:

dev = usb.core.find(idVendor=0x10C48, idProduct=0xEA60)

hlásí chybu:

dev = usb.core.find(idVendor=0x10C48, idProduct=0xEA60)
  File "build\bdist.win32\egg\usb\core.py", line 1199, in find
raise ValueError('No backend available')
ValueError: No backend available

Když jsem změnil řádek na:

dev = usb.core.find(0x10C48, 0xEA60)

program projde dále, ale hlásí chybu:

dev.set_configuration()
AttributeError: 'generator' object has no attribute
'set_configuration'

Co s tím dále, nevím.


Díky Vláďa
___
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 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] Podivné: MySQLdb pod Windows 7 nezapisuje do tabulky

2012-12-08 Tema obsahu Ing. Vladislav Ludík

Zdravím všechny.

Narazil jsem na podivné chování modulu MySQLdb.

Nainstaloval jsem ComplexWebServer.1.4.14.msi na Windows 7 - x64.

V počítači je Python 2.7.3.msi + modul MySQL-python-1.2.3.win32-py2.7.exe

Problém:

Pokud čtu data z tabulky z localhost je vše v pořádku.
Pokud ale zapisuju data do téže tabulky na localhost, data se nezapíšou, 
ale co je podivné, index v tabulce se incrementuje.

Chyby syntaxe a jiné chyby jsou ověřením vyloučené.
Přitom SQL příkaz pro výmaz dat tabulky projde a data vymaže.
Pokud zapisuju data do tabulky na jiném serveru (s velmi starou 
databází), data se zapíšou.

Pokud použiju PHP skript, data se na localhost zapisují.
Zkoušel jsem jiné moduly, jiné instalace, mazání příznaku read only v 
adresářích, kam mysql píše, spouštět jako správce a všude se to chová 
stejně.

I na Windows XP 32bit a VirtualBox se stejnými moduly.
Se zápisem dat do tabulek instalovaných na jiných serverech s instalací 
modulu MySQLdb (debian) tento problém neexistuje.


Jsem z toho dost smutný. Poradí mi někdo ?

V.L.



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


[python] stdout v subprocess

2012-10-27 Tema obsahu Ing. Vladislav Ludík

Ahoj, poradí někdo se získáním výstupu při použití subprocess ?

Příklad:

Soubor je uložen na vzdáleném serveru na sambě = zdroj. Chci jej načíst 
a uložit u sebe na mém serveru = cíl.


Používám následující skript:

/import subprocess

def ctiSambu(zdroj, cil):
   'Samba -> Server'
  
   command = [   
   'sshpass',

   '-p', 'heslo',
   'scp',
   '-P', '',
   '-o', 'StrictHostKeyChecking=no',
   '-o', 'UserKnownHostsFile=/dev/null',
   '-o', 'LogLevel=ERROR',
   'r...@server.domena.cz:/home/samba/disk/%s' % zdroj,
   cil
   ]
   prg = subprocess.Popen(command, shell=False, stdout=subprocess.PIPE)
   return prg.wait()

zdroj = 'cteny_soubor'
cil = 'uloziste'

status = //ctiSambu(zdroj, cil)

if status != 0:
   print 'nejaka chyba'
//
/Chyba vznikne například zadáním neexistujícího souboru apod.
Můj dotaz se týká zjištění, jaká chyba způsobila nenulový status.
Chybová zpráva se sice vypíše na konzolu, ale já ji však potřebuju pro 
další zpracování mít v proměnné.


Poradí mi někdo ?
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] ssh klient pro python

2012-08-12 Tema obsahu Ing. Vladislav Ludík

Zdravím všechny,

narazil jsem na problém, který se týká nespolehlivého ssh klienta z 
modulu paramiko.


Když pomocí něj čtu data například z některých verzí Mikrotiku,
například MikroTik RouterOS 5.17, stane se občas, že nedostanu kompletní 
data.

Někdy načte vše, někdy jen něco. Jak kdy.
Pokud se připojím přes PuTTy, je přenos vždy spolehlivý.
Můj modul, který pak používám v mých programech je v příloze.
Neví někdo kde bych měl hledat problém, popřípadě o spolehlivějším 
klientovi ?


Děkuji V.L.
"""Modul pro zadavani prikazu pres ssh"""
 
import paramiko
import cmd
import string

class RunCommand(cmd.Cmd):
""" Jednoduchy shell pro zadavani prikazu na adresu host """

prompt = 'ssh > '

def __init__(self):
cmd.Cmd.__init__(self)
self.hosts = []
self.connections = []

def do_add_host(self, args):
"""add_host 
Prida adresu host do seznamu """
if args:
self.hosts.append(args.split(','))
else:
print "pouziti: host "

def do_connect(self, args):
""" Pripoji se ke vsem adresam host ze seznamu """
for host in self.hosts:
ipcko, user, pswd, port = host
user = string.strip(user)
pswd = string.strip(pswd)
port = int(string.strip(port))

client = paramiko.SSHClient()
client.set_missing_host_key_policy(
paramiko.AutoAddPolicy())
client.connect(ipcko,
username=user,
password=pswd,
port=port)
self.connections.append(client)

def do_run(self, command):
"""run 
Provede tento prikaz pro vsechny pripojene adresy ze seznamu """
if command:
for host, conn in zip(self.hosts, self.connections):
stdin, stdout, stderr = 
conn.exec_command(command)
out = stdout.read()
err = stderr.read()
stdout.close()
stderr.close()
return out, err
else:
print "pouziti: run "

def do_close(self, args):
for conn in self.connections:
conn.close()
#!/usr/bin/python
# -*- coding: utf-8 -*-

from ssh import *

def doSSH(host, cmd, user=_user, pswd=_pswd, port=_port):
'Provedeni prikazu SSH'

con = ['%s,%s,%s,%s' % (host, user, pswd, port)]
ssh = RunCommand()
ssh.do_add_host(con[0])
ssh.do_connect(con)
stdout, stderr = ssh.do_run(cmd)
ssh.do_close(con)

return stdout, stderr

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

[python] Problém Chrome v Cherrypy

2012-06-13 Tema obsahu Ing. Vladislav Ludík

Zdravím všechny !

Pro vlastní web na neveřejné síti používám Cherrypy.
Nastavení configurace je standardní.

V prohlížeči Mozilla Firefox funguje správně.
V Chrome má ale tento problém:


/13/Jun/2012:12:43:48 CONFIG INFO Server parameters:
13/Jun/2012:12:43:48 CONFIG INFO   server.environment: development
13/Jun/2012:12:43:48 CONFIG INFO   server.log_to_screen: True
13/Jun/2012:12:43:48 CONFIG INFO   server.log_file:
13/Jun/2012:12:43:48 CONFIG INFO   server.log_tracebacks: True
13/Jun/2012:12:43:48 CONFIG INFO   server.log_request_headers: True
13/Jun/2012:12:43:48 CONFIG INFO   server.protocol_version: HTTP/1.0
13/Jun/2012:12:43:48 CONFIG INFO   server.socket_host: 192.168.100.100
13/Jun/2012:12:43:48 CONFIG INFO   server.socket_port: 100
13/Jun/2012:12:43:48 CONFIG INFO   server.socket_file:
13/Jun/2012:12:43:48 CONFIG INFO   server.reverse_dns: False
13/Jun/2012:12:43:48 CONFIG INFO   server.socket_queue_size: 5
13/Jun/2012:12:43:48 CONFIG INFO   server.thread_pool: 10
13/Jun/2012:12:43:48 HTTP INFO Serving HTTP on http://192.168.100.100:100/
77.48.4.128 - - [13/Jun/2012:12:43:53] "GET / HTTP/1.1" 200 61 "" 
"Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.5 (KHTML, like Gecko) 
Chrome/19.0.1084.52 Safari/536.5"

Traceback (most recent call last):
 File "/usr/lib/pymodules/python2.7/cherrypy/_cpwsgiserver.py", line 
234, in run

   request.parse_request()
 File "/usr/lib/pymodules/python2.7/cherrypy/_cpwsgi.py", line 169, in 
parse_request

   _cpwsgiserver.HTTPRequest.parse_request(self)
 File "/usr/lib/pymodules/python2.7/cherrypy/_cpwsgiserver.py", line 
66, in parse_request

   request_line = self.rfile.readline()
 File "/usr/lib/pymodules/python2.7/cherrypy/lib/httptools.py", line 
538, in readline

   data = self.rfile.readline(256)
 File "/usr/lib/python2.7/socket.py", line 476, in readline
   data = self._sock.recv(self._rbufsize)
timeout: timed out

/Nemá někdo zkušenost s vyřešením podobného jevu ?
Zkoušel jsem různé způsoby konfigurace, ale bez úspěchu.
Web sice pokračuje dále, ale nelíbí se mi to.

Díky

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

[python] Jak získat název procesu když znám PID procesu

2012-03-10 Tema obsahu Ing. Vladislav Ludík

Zdravím všechny.

Spouštím pythonovský program.py (pod Linuxem) a chci zajistit jeho 
stabilní chod i v nepředvídatelných režimech.
Zatím to dělám tak, že program o sobě dává vědět a jiný program check.py 
to kontroluje.
program.py je trvale spuštěn. Pokud check.py nedostane správnou odpověď 
a včas, nastartuje jej znovu.
Při testech jsem zjistil, že občas po nepředpokládané chybě program 
neodpoví jak má, popřípadě včas.


Abych vyloučil dvojí spuštění, hlídám jeho název a PID procesu:

_prg = os.path.basename(sys.argv[0])   # název
_pid = os.getpid() # PID

Potřebuji zjistit podle názvu a PIDu, zda je spuštěný a existuje.
Zatím to dělám přes subprocess, příkaz ps -d

cmd = ["ps", "-d"]
proces = subprocess.Popen(cmd, stdout = subprocess.PIPE)
proces.wait()
out = proces.stdout.read()

out pak čtu a hledám potřebné.

Mimochodem linuxovský příkaz ps -d | grep program.py, který by 
vyfiltroval jen to co hledám, funguje pod linuxem, ale přes subprocess ne.

Hlásí:  ERROR: Garbage option.

Takže k mému konkrétnímu dotazu:

existuje nějaký os příkaz nalezení PID podle jména programu ?

Díky

V.L.

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


Re: [python] PYTHONPATH

2012-01-15 Tema obsahu Ing. Vladislav Ludík
Ano, přečetl jsem si to. Je to však zásah, který nepřežije reinstalaci 
čehokoliv.


Nakonec jsem se rozhodl pro tu nejtriviálnější cestu, jak zpřístupnit 
moje moduly:


1) do pracovního adresáře jsem vložil modul /mojemoduly.py/ s obsahem:

/# Pridani vlastni cesty k mym modulum
import sys
_nova_cesta = "/cesta_k_mym_modulum"
if not _nova_cesta in sys.path:
   sys.path.insert( 1, _nova_cesta)
/
2) na začátku KAŽDÉHO mého programu, který využívá mé moduly dám:
/import mojemoduly/

A je poznámka pro vývojáře pythonu:

Nestálo by za úvahu přidat do systému jednoduchou funkci, například 
nějaký soubor python_path.pth,
kde by se to dalo nastavit dodatečně a trvale kdykoliv po instalaci 
dodatečně ?


Jinak díky za rady.

V.L.

Visgean Skeloru napsal(a):

Zkoušel si to co jsem psal?

A slightly less convenient way is to edit the site.py file in
Python’s standard library, and modify sys.path. site.py is
automatically imported when the Python interpreter is executed,
unless the /-S/ switch is supplied to suppress this behaviour. So
you could simply edit site.py and add two lines to it:


Prostě stačí v kořenové složce projektu vytvořit site.py který upraví 
sys.path, je to oficiální postup.  
http://docs.python.org/install/index.html#modifying-python-s-search-path


Jestli je to jeden projekt tak je to v pohodě a stačí upravit jenom 
ten jeden soubor...


2012/1/14 "Ing. Vladislav Ludík" mailto:vl...@ludik.cz>>

Tak jsem si myslel, že jsem to vyřešil:

do adresáře/etc/profile.d   jsem vložil nový soubor  
 local_python.sh


který obsahuje:

# doplnim cestu k mym modulum
PYTHONPATH="/python/mojemoduly/":"${PYTHONPATH}"
export PYTHONPATH

Po reboot kontrola sys.path:

['', '/python/mojemoduly', '/etc/profile.d', '/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PIL',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/pymodules/python2.7']

zapíše správně moji cestu (sice i cestu '/etc/profile.d'), ale
problém mám jinde.


Spuštěním programu v crontab ten pak havaruje na tom, že nemůže
naimportovat moje moduly.

Pokusy s doplněním cesty přímo v crontab nebo nepřímo v cron.d
nevedly k ničemu.

Co s tím opravdu nevím.

Díky za nové podněty.

V.L.

___
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


__ Informace od NOD32 6783 (20120110) __

Tato zprava byla proverena antivirovym systemem NOD32.
http://www.nod32.cz
  


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

[python] PYTHONPATH

2012-01-14 Tema obsahu Ing. Vladislav Ludík

Tak jsem si myslel, že jsem to vyřešil:

do adresáře/etc/profile.d   jsem vložil nový souborlocal_python.sh

který obsahuje:

# doplnim cestu k mym modulum
PYTHONPATH="/python/mojemoduly/":"${PYTHONPATH}"
export PYTHONPATH

Po reboot kontrola sys.path:

['', '/python/mojemoduly', '/etc/profile.d', '/usr/lib/python2.7', 
'/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', 
'/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', 
'/usr/local/lib/python2.7/dist-packages', 
'/usr/lib/python2.7/dist-packages', 
'/usr/lib/python2.7/dist-packages/PIL', 
'/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7']


zapíše správně moji cestu (sice i cestu '/etc/profile.d'), ale problém 
mám jinde.



Spuštěním programu v crontab ten pak havaruje na tom, že nemůže 
naimportovat moje moduly.


Pokusy s doplněním cesty přímo v crontab nebo nepřímo v cron.d nevedly k 
ničemu.


Co s tím opravdu nevím.

Díky za nové podněty.

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


[python] PYTHONPATH

2012-01-10 Tema obsahu Ing. Vladislav Ludík

Zdravím všechny vývojáře.

Moje ne zrovna dobrá znalost proměnných v Linuxu mi činí tuto potíž:

Dosud jsem si ukládal své vlastní moduly do stejného adresáře, kde mám 
uloženy i programy.
Jak se množství programů a modulů stává už nepřehlednými, založil jsem 
si další adresáře.

A nastal problém.

Použití příkazu:

export PYTHONPATH="$PYTHONPATH:/cesta_k_mym_modulum"

následná kontrola pomocí sys.path je v pořádku, moduly jsou importovatelné.
To ale nefunguje po odpojení a novém připojení k serveru.

Zatím jsem nenašel úložiště cest k PYTHONPATH ani metodu, jak proměnnou 
změnit natrvalo.


Děkuji za pomoc.

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


[python] zpracování unixovských emailů

2011-08-03 Tema obsahu Ing. Vladislav Ludík

Zdravím všechny znalce Pythonu a Linuxu !

Při zpracování došlých emailů používám konstrukci:

def zpracovaniMailboxu(inbox):
   'Zpracuje emaily dosle do inbox'
  
   import email, mailbox
  
   fp = open(inbox, 'rb')

   mbox = mailbox.UnixMailbox(fp, email.message_from_file)

   for msg in mbox:
   for part in msg.walk():
   odkoho = msg['from']
   isodatum = msg['date']
   predmet = msg['subject']
   if part.get_content_maintype() == 'multipart':
   continue
   if part.get_content_maintype() == 'text':
   text = part.get_payload(decode=True)
   #zpracuji text)
   fp.close()

Moje otázky:

1) Jak zajistit, aby se inbox během zpracování neměnil, emaily 
přicházejí asynchonně kdykoli. Neumím použít funkci lock(), unlock().


2) Jak případně vymazat email po jeho zpracování ve složce inbox

Děkuji za pomoc a praktické rady.

V.L.

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


[python] email headers

2011-07-26 Tema obsahu Ing. Vladislav Ludík

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.

Děkuji za váš čas.

Zdraví V.L.



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


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

2010-12-20 Tema obsahu Ing. Vladislav Ludík

Zdravím všechny,

poradí někdo účinnou a jednoduchou metodu vytvoření spojení názvů 
proměnných s jejich hodnotami:


x => {p1, p2, p3, ...pn}
y => {h1, h2, h3, ...hn}

kde p jsou proměnné a h jsou jejich hodnoty.

Výsledkem by měly být deklarované proměnné s jejich hodnotami:
p1 = h1
p2 = h2
p2 = h3
.
.
pn = hn


Díky, zdraví

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


[python] vstup z klávesnice pod Windows bez ENTER

2010-09-07 Tema obsahu Ing. Vladislav Ludík

Zdravím všechny !

Vstup z klávesnice pod Linuxem bez ENTER je bez problémů.

Avšak pod Windows mám problém.

Chtěl bych využít například getch(), getche() z knihovny msvcrt.

Může někdo poradit elegantní řešení ?

Mi se zatím daří dostat jen hodnotu '\xff', ale stlačenou klávesu nikoli.

Díky za pomoc






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


[python] stopky

2009-02-10 Tema obsahu Ing. Vladislav Ludík

Zdravím,

při řešení stopek potřebuji změřit a pak také převést přesný čas do 
čitelné podoby.


Čas zjišťuji pomocí modulu _time_:

import time
# ~
casStartu = time.time()
# ~
casStopu = time.time()
# ~
casCelkem = casStopu - casStartu
# ~

Dostávám float číslo _casCelkem_.

Může mi prosím někdo poradit, jak co nejelegantněji převést _casCelkem_ 
na něco rozumného ?


Například něco podobného, co dělá _strftime_, ale sekundy na setiny:

10.02.2009 05:12:03,56

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

[python] problém s češtinou v příloze

2008-11-04 Tema obsahu Ing. Vladislav Ludík

Zdravím všechny,

nepodařilo se mi vyřešit následující problém při odesílání přílohy v emailu.
Pokud dám text do těla zprávy, je čeština v pořádku.
Pokud však uložím text do souboru v kódování latin2, je čitelný a 
viditelně také v pořádku.

Ale po odeslání v příloze emailu se v přijaté zprávě objeví ž,š překódované.
Může mi někdo prakticky poradit?

Díky VL

Použil jsem následující konstrukci:

#!/usr/bin/python2.4
# -*- coding: iso-8859-2 -*-

import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.Utils import COMMASPACE, formatdate
from email import Encoders

def send_mail(files,send_from, send_to, subject, text, server):
   'Posle email s prilohami'
  
   assert type(send_to)==str

   assert type(files)==list
  
   msg = MIMEMultipart()

   msg['From'] = send_from
   msg['To'] = send_to
   msg['Date'] = formatdate(localtime=True)
   msg['Subject'] = subject

   msg.attach( MIMEText(text,_charset='iso-8859-2') )
  
   for f in files:

 part = MIMEBase('application', "octet-stream")
 part.set_payload(open(f,"rb").read())
 Encoders.encode_base64(part)
 part.add_header('Content-Disposition', 'attachment; filename="%s"' 
% os.path.basename(f))

 msg.attach(part)

   smtp = smtplib.SMTP(server)
   smtp.sendmail(send_from, send_to, msg.as_string())
   smtp.close()


begin:vcard
fn;quoted-printable:Vladislav Lud=C3=ADk
n;quoted-printable:Lud=C3=ADk;Vladislav
org;quoted-printable:Vladislav Lud=C3=ADk
adr;quoted-printable;quoted-printable;dom:;;Tylovice 2027;Ro=C5=BEnov pod Radho=C5=A1t=C4=9Bm;Zl=C3=ADnsk=C3=BD;756 61
email;internet:[EMAIL PROTECTED]
title;quoted-printable:Vlastn=C3=ADk
tel;work:+420 572 151 300
tel;fax:+420 571 652 411
tel;home:+420 572 151 334
tel;cell:+420 608 777 525
x-mozilla-html:FALSE
version:2.1
end:vcard

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

[python] Poptávka

2008-09-19 Tema obsahu Ing. Vladislav Ludík

Zdravím všechny Pythonysty.

Hledám člověka, který umí:

a) programovat objektově v Pythonu
b) má čas a chuť to své umění předat dalším zájemcům
c) umí své umění předat dalším zájemcům
d) není příliš náročný

Co já pro něj můžu udělat je toto:

a) zajistím prostory a ubytování v hezkém prostředí
b) zajistím potřebnou techniku
c) nabídnu výuku případným dalším zájemcům
d) zaplatím mu dohodnutou cenu

Myslí si někdo, že by se na to dal ?

Optimista:

Vladislav Ludík
Rožnov pod Radhoštěm
begin:vcard
fn;quoted-printable:Vladislav Lud=C3=ADk
n;quoted-printable:Lud=C3=ADk;Vladislav
org;quoted-printable:Vladislav Lud=C3=ADk
adr;quoted-printable;quoted-printable;dom:;;Tylovice 2027;Ro=C5=BEnov pod Radho=C5=A1t=C4=9Bm;Zl=C3=ADnsk=C3=BD;756 61
email;internet:[EMAIL PROTECTED]
title;quoted-printable:Vlastn=C3=ADk
tel;work:+420 572 151 300
tel;fax:+420 571 652 411
tel;home:+420 572 151 334
tel;cell:+420 608 777 525
x-mozilla-html:FALSE
version:2.1
end:vcard

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