abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 21:22 | Komunita

Mozilla.cz informuje, že Mozilla z Firefoxu pro Android i iOS odstraní integraci „sledovacího“ systému Leanplum. Leanplum sbírá informace, jak moc uživatelé používají záložky, panely, integraci Pocketu apod. Českých uživatelů se to prý příliš netýká.

Ladislav Hagara | Komentářů: 3
včera 20:44 | IT novinky

Microsoft v příspěvku na svém blogu představil WSLg (Windows Subsystem for Linux GUI) aneb rozšíření WSL přinášející možnost spouštění grafických linuxových aplikací. V dalším příspěvku je rozebrána architekturu WSLg. Videoukázka práce s WSLg na YouTube.

Ladislav Hagara | Komentářů: 0
včera 15:00 | Komunita

Greg Kroah-Hartman zakázal Minnesotské univerzitě přispívat do Linuxu. Vědci úmyslně posílali patche s bezpečnostními chybami a pak psali vědecké články (pdf). Vědci používají pojem "pokrytecké commity" (hypocrite commits) aneb zdánlivě prospěšné commity, které ve skutečnosti přinášejí kritické problémy.

Ladislav Hagara | Komentářů: 33
včera 09:00 | Zajímavý software

Program Zellij byl představen a vydán v beta verzi. Popis programu říká, že se jedná o terminálový pracovní prostor aneb program podobný programům tmux a screen. Naprogramovaný je v Rustu. Pluginy jsou ve WebAssembly.

Ladislav Hagara | Komentářů: 1
včera 08:00 | Nová verze

Byla vydána verze 9.0 prohlížeče map a GPS logů GPXSee. Nová verze přináší podporu Mapsforge map, pro jejichž prohlížení tak již není potřebná Java.

Martin Tůma | Komentářů: 11
včera 02:55 | IT novinky

Apple představil (keynote) nový iMac, iPad Pro, fialový iPhone 12, AirTag a Apple TV 4K. Půjde na novém iMacu a iPadu Pro s procesorem M1 kostka? :-)

Ladislav Hagara | Komentářů: 62
20.4. 23:22 | Komunita

Bouřlivou diskuzi (Hacker News, reddit) vyvolal commit, přesněji jeho popis, do linuxového jádra, který jenom odstranil jednu soukromou emailovou adresu ze souboru MAINTAINERS. Popis: „Jako zaměstnanec IBM nesmíte používat svůj účet Gmail k práci na VNIC. Není povoleno používat osobní emailový účet jako „koníček“. Jste zaměstnancem IBM 100 % času. Prosím, odstraňte se ze souboru maintainers. Uděluji vám jednorázovou výjimku k práci na VNIC, abyste mohl provést tuto změnu."

Ladislav Hagara | Komentářů: 47
20.4. 21:33 | Nová verze

Po roce vývoje od vydání verze 1.18.0 byla vydána nová stabilní verze 1.20.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.20.

Ladislav Hagara | Komentářů: 0
20.4. 21:22 | Nová verze

Distribuce Tails specializující se ochranu online soukromí uživatele byla vydána ve verzi 4.18. Mimo jiné aktualizuje Tor Browser (10.0.16) a Thunderbird (78.9), opravuje několik chyb.

Fluttershy, yay! | Komentářů: 0
20.4. 14:44 | Komunita

Vzhledem k nejisté pandemické situaci bylo rozhodnuto, že LibreOffice Conference 2021 se bude opět konat online. Zatím je stanoveno datum 23. - 25. 9. 2021, brzy bude následovat vyhlášení call for papers. Novinky budou postupně zveřejňovány na stránkách konference a v skupině na Telegramu.

Zdeněk Crhonek | Komentářů: 0
Kolik času v průměru denně trávíte videohovory/-konferencemi? (ať už v práci, škole nebo soukromě)
 (51%)
 (12%)
 (16%)
 (12%)
 (7%)
 (1%)
 (2%)
Celkem 400 hlasů
 Komentářů: 7, poslední 8.4. 12:14
Rozcestník

Dotaz: Screenlet a pojmenovana roura

3.6.2010 19:17 Radim
Screenlet a pojmenovana roura
Přečteno: 146×

Zdravim a hlasim se o radu.

Chtel bych si napsat screenlet, ktery bude ovladan pomoci pojmenovane roury. Uz jsem se dival na modul subprocess, ale mam dojem, ze ten resi jenom roury mezi procesy spustene tim konkretnim programkem v Pythonu, ze ktereho je tento modul volan. Pokud se pletu, uvitam strucny priklad.

Tak tedy: Mam script(v bashi), ktery odpocitava cas a az dojde k nule, neco udela a zacne zase odpocitavat (treba od 100). V kazdem kroku se vypise cislo. Pokud nebezi muj screenlet, posle toto cislo do /dev/null. Pokud muj screenlet pobezi, posle ho do pojmenovane roury. Idea byla takova, ze screenlet kontroluje tuto rouru pomoci gobject.io_add_watch() a pokud v ni neco najde, zavola fci update, ktera cislo zpracuje, prekresli screenlet a zase ceka az se v roure neco objevi. Rouru jsem otevrel pomoci funkce open, jako normalni soubor.

#-------------------------------------------------------------------------------

# handler, ktery je zavolan, kdyz je screenlet namapovan

def on_map( self ):

self.trubka=open("./roura","r")

if not self.__timer:

self.__timer = gobject.io_add_watch(self.trubka, gobject.IO_IN, self.update)

self.update()

#-------------------------------------------------------------------------------

# nase funkce update

def update( self,*args ):

self.text=self.trubka.readline #melo by nacist cislo z roury do promenne text

self.redraw_canvas()

return True

#-------------------------------------------------------------------------------

Ale vyse popsany kod se chova tak, ze pokud je v roure neco, tak se sice spusti update, ale to cislo zustane v roure, takze se fce spousti porad do kola. Proste se to zacykli. A do self.text se nic nenacte.

Tesim se na ohlasy a postrceni spravnym smerem. R

Odpovědi

3.6.2010 21:10 12345 | skóre: 41 | blog:
Rozbalit Rozbalit vše Re: Screenlet a pojmenovana roura
Toto mi funguje podle očekávání:
import gtk, gobject

class Screenlet:
	def __init__(self):
		self.trubka = open("./roura","r")
		gobject.io_add_watch(self.trubka, gobject.IO_IN, self.update)

	def update(self, *args):
		print self.trubka.readline()
		return True


s = Screenlet()
gtk.main()
Nechybělo náhodou něco tady? self.trubka.readline()

P.S.: Příště prosím kód do tagu <pre>.
4.6.2010 14:43 Raada
Rozbalit Rozbalit vše Re: Screenlet a pojmenovana roura
Dik, Mrknu nato. Jestli to bylo jenom tema zavorkama, to ted vypadam jako vul, co? Ale jsem jenom zacatecnik a amater. Slibuji, ze se z chyb poucim :-) R

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.