Bylo vydáno OpenBSD 7.7. Opět bez písničky.
V Tiraně proběhl letošní Linux App Summit (LAS) (Mastodon). Zatím nesestříhané videozáznamy přednášek jsou k dispozici na YouTube.
Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Berkeley Humanoid Lite (Onshape, GitHub) je open source humanoidní robot. V amerických cenách jej lze sestavit do 5000 dolarů.
Jakub Jelínek oznámil vydání verze 15.1 (15.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 15. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.
Byly vyhlášeny výsledky letošní volby vedoucího projektu Debian (DPL, Wikipedie). Staronovým vedoucím zůstává Andreas Tille.
Jason Citron končí jako CEO Discordu. Od pondělí 28. dubna nastupuje nový CEO Humam Sakhnini, bývalý CSO Activision Blizzard.
Článek na Libre Arts představuje baskytarový multiefekt Anagram od společnosti Darkglass Electronics. S Linuxem uvnitř (licence, GitHub).
Městský soud v Praze vyhlásil rozsudek, který vyhověl žalobě novináře Jana Cibulky, který s podporou spolku IuRe (Iuridicum Remedium) požadoval omluvu od státu za to, že česká legislativa nařizuje operátorům uchovávat metadata o elektronické komunikaci. To je přitom v rozporu s právem. Stát se musí novináři omluvit a zaplatit náklady řízení. Především je ale součástí přelomové rozhodnutí o nelegálnosti shromažďování dat a o
… více »Americké technologické firmy Apple a Meta Platforms porušily pravidla na ochranu unijního trhu, uvedla včera Evropská komise (EK). Firmám proto vyměřila pokutu – Applu 500 milionů eur (12,5 miliardy Kč) a Metě 200 milionů eur (pět miliard Kč). Komise to oznámila v tiskové zprávě. Jde o první pokuty, které souvisejí s unijním nařízením o digitálních trzích (DMA). „Evropská komise zjistila, že Apple porušil povinnost vyplývající z nařízení
… více »import pyinotify import functools import sys wm = pyinotify.WatchManager() # Watch Manager mask = pyinotify.IN_CREATE # watched events class Trieda(object): def zobraz(self, pathname): print pathname def on_loop(notifier, trieda): trieda.zobraz(notifier.pathname) on_loop_func = functools.partial(on_loop, trieda=Trieda()) notifier = pyinotify.Notifier(wm, on_loop_func) wdd = wm.add_watch('/tmp', mask, rec=True) notifier.loop()
class mojeTrida: # moje trida, ktera ma na starosti danou akci nad soubory ... def monitorMode(dir) # Az po zavolani teto metody vim, ze uzivatel chce pouzit monitorovaci rezim # Tady nekde by melo byt to cekani na nove tvoreny soubor # Jakmile zjistim, ze mam novy soubor, vezmu jeho jmeno a zavolam metodu # __zpracujSoubor s parametrem nazev noveho souboru if mameNovySobor: self.__zpracujSoubor(file) def __zpracujSoubor(file) # zakladni metoda tridy, ktera provadi danou akci nad souborem # ========= main ========= # Na zacatku programu pouze zalovam metodu na monitorovani slozky inst = mojeTrida() inst.monitorMode("/home/user/test")
import pyinotify class mojeTrida: def monitorMode(self, dir): wm = pyinotify.WatchManager() notifier = pyinotify.Notifier(wm, self.__process_event) wdd = wm.add_watch(dir, pyinotify.IN_CREATE, rec=True) notifier.loop() def __process_event(self, notifier): self.__zpracujSoubor(notifier.pathname) def __zpracujSoubor(self, file): print file inst = mojeTrida() inst.monitorMode("/tmp")
import pyinotify import re class mojeTrida: def monitorMode(self, dir): wm = pyinotify.WatchManager() notifier = pyinotify.Notifier(wm) incl_lst = ['.*/apache[0-9]+\.log', '.*~'] self._lregex = [] for regex in incl_lst: self._lregex.append(re.compile(regex, re.UNICODE)) wdd = wm.add_watch(dir, pyinotify.IN_CREATE, rec=True, proc_fun=self.__process_event) notifier.loop() def __process_event(self, event): path = event.pathname for regex in self._lregex: if regex.match(path) is not None: self.__zpracujSoubor(path) break def __zpracujSoubor(self, file): print file inst = mojeTrida() inst.monitorMode("/tmp")(možno by bolo lepšie, keby sa tie vzory predávali ako parameter funkcie monitorMode)
Tiskni
Sdílej: