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

2015-03-10 Tema obsahu Lukáš Sliacky
Ja sa prikláňam k flasku.

V poslednej dobe sa mu celkom venujem a pokiaľ máš záujem skôr o minimalistický 
framework, s MNOŽSTVOM modulov, je to tá správna voľba.

(to, že je definovaný ako minimalistický určite neznamená, že v ňom neurobíš aj 
veľký web, prípadne backend k čomkoľvek) 

Je vhodný aj pre začiatočníkov (ja sám ním som) a vďaka skvelým tutorialom ( 
http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world 
) sa určite nestratíš :) 

Ak máš záujem o ďalšie info (skôr základné, ako nejaké odborné a špecifické), 
rád odpoviem (ak budem vedieť :) )
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] Akcia iba pri prekročení hodnoty v cykle

2014-04-22 Tema obsahu Lukáš Sliacky
Petr, ďakujem za promptnú odpoveď aj za príklad.

Vedel som, že existuje nejaké "pekné" riešenie, len sa mi ho nedarilo nájsť.
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


[python] Akcia iba pri prekročení hodnoty v cykle

2014-04-21 Tema obsahu Lukáš Sliacky
Ahojte,

už druhý deň si lámem hlavu nad tým, ako urobiť, aby v cykle nastala akcia iba 
pri prekročení definovanej hodnoty.

Príklad:
Mám teplomer, ktorý dáva na vstup teplotu v stupňoch. Chcem, aby cyklus 
sledoval, či je teplota vyššia alebo nižšia ako 20 stupňov a podľa toho vykonal 
napr. print.
Problém je v tom, že potrebujem aby print vykonal iba keď teplota stúpne nad 20 
stupňov, resp. keď klesne pod 20 stupňov. Keď stúpne napr. z 15 na 16 alebo z 
21 na 22, nevykoná sa nič. Jednoducho akcia iba keď sa prvý krát prekoná 
definovaná hodnota.

Je to vlastne ekvivalent funkcie nejakého ohrievača. Keď teplota klesne pod 20 
stupňov, vypíše, že za zapína kúrenie a zapne ho až pokým teplota nestúpne nad 
20, tam znovu vypíše, že teplota je nad 20 a znovu nebude vykonávať nič, až 
pokým neklesne pod 20.
(ak som to náhodou nezadefinoval dostatočne, na požiadanie to všetko upresním)

Verím, že existuje nejaký hotový algoritmus, ale ani po hodinách googlenia sa 
mi nepodarilo nájsť nič použiteľné.

Ďakujem za odpovede.

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

Visit: http://www.py.cz


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

2014-03-26 Tema obsahu Lukáš Sliacky
Ahoj Petr,

ďakujem za odpoveď.
Vidím, že som si na začiatok nevybral úplne jednoduchú úlohu :) Bral som to, že 
sa Python naučím nejak "za jazdy", ale vidím, že si budem musieť podrobnejšie 
naštudovať niektoré témy. 

Čo sa týka Tvojej ponuky, pokiaľ by Ti to nerobilo problémy, som určite za.
Síce si to tiež asi neviem ideálne predstaviť, ale však, prečo to neskúsiť? (Ak 
si to predstavuješ za nejakú finančnú, resp. nejakú bartrovú odmenu, podmienky 
si môžeme dohodnúť mailom).

Čo sa týka public diskusie, mne osobne to nevadí a pokiaľ bude Petr súhlasiť, 
môžeme to vyskúšať.

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

Visit: http://www.py.cz


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

2014-03-25 Tema obsahu Lukáš Sliacky
Ahoj Petr,

trochu som sa "hral s LEDkami" a chcel by som tam dorobiť funkciu blikania 
lediek.
Rozšíril som tabuľku:
okno = Gtk.Table(5, 2, True)

Pridal button:
btn_blikanie = Gtk.ToggleButton("Blikanie")
btn_blikanie.connect("toggled", self.blikanie)
btn_blikanie.set_border_width(2)

a samozrejme som zhavaroval na samotnej funckii...

Snažil som sa to urobiť nejak takto:

def blikanie(self, btn_blikanie):
if btn_blikanie.get_active():
print ('Zapnuté')
else:
print ('Vypnuté')

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

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

Vedel by si mi s tým, prosím, trochu pomôcť?

Ale priznám sa tiež, že mám trochu hokej v (self, button, name):... 

Ty si vytvoril funkciu:

def led_button_handler(self, button, name):
self.leds[int(name)].set_from_file(
"LED_on.png" if button.get_active() else "LED_off.png",
)

a v zátvorke máš (self, button, name):

Self sa používa pravdepodobne univerzálne vo všetkých funciách. Button si 
použil, pretože vo funkcii testuješ button.get_active a name pretože potrebuješ 
ovládať LEDky podľa ich názvov: str(i).

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

Snažil som sa to spísať čo najpresnejšie, ale so svete pythonu (a 
programovania) som skutočne krátko a tak je možné, že som sa vyjadroval blbo. 
Ak je potrebné niečo upresniť, resp. spýtať sa logickejšie, stačí napísať.

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

Visit: http://www.py.cz


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

2014-03-24 Tema obsahu Lukáš Sliacky
Chalani, ďakujem za ochotu a informácie.
Veril som, že sa to dá urobiť nejak elegantnejšie, len som presne nevedel ako :)
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


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

2014-03-24 Tema obsahu Lukáš Sliacky
Začínam s pythonom + Gtk (a vlastne s programovaním vôbec) a stále mi v hlave 
vŕta zásadná otázka:

Hypoteticky: Chcem urobiť aplikáciu, ktorá bude vedieť reagovať na "akciu 
zvonku", napr. kalkulačku, ktorá by ale podporovala klávesové skratky. Robí sa 
to tak, že dám nejaký nekonečný cyklus, ktorý bude čakať, či "zvonku" príde 
konkrétna klávesová skratka, alebo sa to robí inak?
Alebo: Mám aplikáciu, ktorá by snímala teplotu na čidle. Musím urobiť cyklus, 
ktorý napr. každých 15 sekúnd prečíta teplotu?

A čo v tom prípade, že chcem funkcionality spojiť? Urobím jeden "centrálny" 
cyklus, ktorý kontroluje všetky zadané podmienky alebo sa to robí nejak 
elegantnejšie?

Sorráč, za skutočne amatérsku otázku ale iné riešenie, ako som uviedol mi 
nenapadá.

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

Visit: http://www.py.cz


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

2014-03-21 Tema obsahu Lukáš Sliacky
Wow, Petr, 

funguje to presne tak, ako som chcel. Idem sa v tom povŕtať, aby som úplne 
pochopil ten Tvoj kód.

Naozaj ďakujem za ochotu.
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


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

2014-03-18 Tema obsahu Lukáš Sliacky
Ahoj Petr, 

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

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

"Výsledok" je tu:

from gi.repository import Gtk
import sys

class LedControl(Gtk.Window):

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

Visit: http://www.py.cz