Knihovna htmx (Wikipedie, GitHub), tj. knihovna rozšiřující HTML o nové atributy a umožňující vývoj dynamických webových aplikací, byla vydána ve verzi 2.0 (𝕏).
Společnosti DeepComputing a Framework Computer společně představily RISC-V základní desku pro modulární Framework Laptop 13.
Byla vydána nová verze 6.4 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.16.
Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.1 (Mastodon, 𝕏). Přehled novinek i s videi a se snímky obrazovky v oficiálním oznámení. Podrobný přehled v seznamu změn.
Qsynth dospěl do verze 1.0.0. Jedná se o Qt GUI nad softwarovým syntezátorem FluidSynth (Wikipedie).
V bezdrátových routerech od společnosti routerech D-Link, v řadách EAGLE PRO AI a AQUILA PRO AI, je zabudovaný backdoor. Jedná se o zranitelnosti CVE-2024-6044 a CVE-2024-6045. Kdokoli z lokální sítě může přístupem na konkrétní URL spustit službu Telnet a přihlásit se pomocí přihlašovacích údajů správce získaných analýzou firmwaru.
Organizace IuRe (Iuridicum Remedium) varuje před návrhem, který představilo belgické předsednictví Rady EU. Populární služby jako Messenger, WhatsApp nebo Signal by dle něj bylo možné plně používat až po odsouhlasení kontroly komunikace. Ta by měla zamezit šíření dětské pornografie. Podle IuRe by však taková kontrola přinesla hlavně závažný dopad na soukromí uživatelů.
NumPy (Wikipedie), tj. knihovna pro Python pro vědecké výpočty, byla po 18 letech vydána v nové major verzi 2.0.0. Přehled novinek v poznámkách k vydání. Důležité informace v průvodci migrací.
Vývojáři postmarketOS vydali verzi 24.06 tohoto před sedmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell, Phosh, KDE Plasma a Sxmo. Aktuálně podporovaných zařízení je 50.
Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.
(1,10,13)
můžete nahradit (7,10,13)
nebo (8,10,13)
, podle toho, který datum chcete do přeheldu vkládat.
#!/usr/bin/env python import urllib2 from HTMLParser import HTMLParser class MyHTMLParser(HTMLParser): def parse(self, html): self.tdcounter = 0 self.within_tbody = False self.thead_found = False self.platby = [] self.platba_parsed = [] self.feed(html) self.close() def handle_starttag(self, tag, attrs): if tag == 'td': self.tdcounter += 1 if tag == 'tbody' and self.thead_found: self.within_tbody = True def handle_data(self, data): if 'Variabil' in data: self.thead_found = True if self.within_tbody: # if self.tdcounter in (4,13,17): if self.tdcounter in (1,10,13): self.platba_parsed.append(data.strip()) def handle_startendtag(self, tag, attrs): if self.within_tbody and tag == 'br': self.tdcounter += 1 def handle_endtag(self, tag): if tag == 'tr': self.tdcounter = 0 if self.platba_parsed and len(self.platba_parsed) == 3 : self.platby.append(self.platba_parsed) self.platba_parsed = [] if tag == 'tbody': self.within_tbody = False url = 'http://www.rb.cz/firemni-finance/transparentni-ucty/?root=firemni-finance&item1=transparentni-ucty&tr_acc=vypis&account_number=2588438001' htmlcache = 'ebanka_cache' try: contents = file(htmlcache).read() except: handler = urllib2.urlopen(url) contents = handler.read() handler.close() file(htmlcache, 'w').write(contents) parser = MyHTMLParser() parser.parse(contents) for datum, varsymb, castka in parser.platby: print '%s;%s;%s;'%(datum, varsymb, castka)
V konqueroru/opere/firefoxu jsem vzdy ziskal kratky format data. Ten je presneji "22.04.2008 04:12". Dlouhy format je "2008-06-11 09:55:11.0 2008-06-11 09:55:11.0".Jestli si to dobře pamatuju, měl jsem ve FF v prvním sloupci krátký formát data i s časem, a v tom sloupci, kde jsou dvě data, byl krátký formát bez času. Ale ve skriptu mi to vracelo v různých formátech. Docela by mne zajímalo, jak může vůbec takovýhle problém se střídavým formátováním vzniknout, protože se evidentně mění formát i u jednoho stejného řádku – takže to není ovlivněno konkrétní hodnotou data. Chápal bych, kdyby to bylo různou konfigurací počítačů v clusteru, ale jednu stránku snad vygeneruje jeden počítač, pochybuju, že by se na tom střídaly po řádcích…
Jeste to ma nejaky problemy, ale castecne je prikladam tomu ze RB kazdou chvili vraci neco jineho. Jednou mam datum ve formatu "2008-05-07 05:58:54.0" a chvili nato v "27.06.2008". Nicmene s tim si jeste chvili budu hrat sam...A já už jsem přemýšlel, jestli jsem se nezbláznil, když se mi zdálo, že to vrací datum pokaždé v jiném formátu. Jsem rád, že v tom nejsem sám Zkusil bych poslat e-mail do RB, pochybuju o tom, že je to střídání formátu dat záměr…
#!/usr/bin/env python import urllib2 from HTMLParser import HTMLParser class MyHTMLParser(HTMLParser): def parse(self, html): self.tdcounter = 0 self.within_tbody = False self.platby = [] self.platba_parsed = [] self.recent_data = '' self.feed(html) self.close() def increase_tdcounter(self): if not self.within_tbody: return if self.tdcounter in (0, 8, 11): self.platba_parsed.append(self.recent_data) self.tdcounter += 1 self.recent_data = None def handle_starttag(self, tag, attrs): if tag == 'tbody': self.within_tbody = True def handle_data(self, data): data_stripped = data.strip() if data_stripped: self.recent_data = data_stripped def handle_startendtag(self, tag, attrs): if tag == 'br': self.increase_tdcounter() def handle_endtag(self, tag): if not self.within_tbody: return if tag == 'td': self.increase_tdcounter() if tag == 'tr': self.tdcounter = 0 self.platby.append(self.platba_parsed) self.platba_parsed = [] if tag == 'tbody': self.within_tbody = False url = 'http://www.rb.cz/firemni-finance/transparentni-ucty/?root=firemni-finance&item1=transparentni-ucty&tr_acc=vypis&account_number=2588438001' htmlcache = 'ebanka_cache.html' try: contents = file(htmlcache).read() except: browser_id = 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9) Gecko/2008061712 Fedora/3.0-1.fc9 Firefox/3.0' request = urllib2.Request(url) opener = urllib2.build_opener(urllib2.HTTPHandler()) opener.addheaders = [('User-Agent', browser_id)] contents = opener.open(request).read() file(htmlcache, 'w').write(contents) parser = MyHTMLParser() parser.parse(contents) for datum, varsymb, castka in parser.platby: print 'Datum: %s Var.s.: %10s Castka: %s'%( datum, varsymb, castka)
2008-07-10 08:29:20.0;2008-07-10 08:29:20.0;3800293;-19665.00; 2008-07-10 08:21:42.0;2008-07-10 08:21:42.0;280000066;-1997.00; 2008-07-10 08:11:49.0;2008-07-10 08:11:49.0;185;1400.00; 2008-07-10 05:47:50.0;2008-07-10 05:47:50.0;167;400.00; 2008-07-10 05:47:37.0;2008-07-10 05:47:37.0;9;400.00; 2008-07-10 05:46:18.0;2008-07-10 05:46:18.0;97;400,00; 10.07.2008;04:21;139;400,00; 10.07.2008;04:20;63;400,00; 10.07.2008;04:16;94;400,00; 09.07.2008;09:51;17885708;-3 174,00; 09.07.2008;01:38;108;400,00; 09.07.2008;12:17;169;400,00; 09.07.2008;11:45;49;400,00; 09.07.2008;10:27;191;2 200,00; 09.07.2008;10:27;175;5 200,00;
Jinak jsem taky nasel ulozenej starej vypis z eBanky a tam jsou vsechny datumy v tom dlouhem formatu, takze to skutecne posila ruznym klientum ruzne.Napadá mne jedině že by to byla primitivní snaha zabránit automatickému zpracování, zvlášť jestli to závisí na user-agentovi. Ale taková snaha zvlášť v této podobě by mi přišla neuvěřitelně hloupá… Pokud by to záviselo na jiných hlavičkách (třeba preferovaný jazyk), mohla by to být nějaká chybná konfigurace, kdy se na některé řádky uplatní formátování odvozené od preferovaného jazyka prohlížeče, a na jiné nějaké výchozí nastavení systému. Ale moc si nedovedu představit tu realizaci, protože to by musel znamenat, že každý řádek tabulky generuje jinak nastavený software, tedy že pravděpodobně každý řádek tabulky může vracet jiný počítač z clusteru. A to si raději ani představovat nechci. Jsem zvědav, co vám řekne někdo z technického oddělení – pokud rovnou nezablokují vaši IP adresu
Mozna by bylo reseni to proste kontrolovat rucne a pripadne rucne preskladat.Problém je, že jeden z těch formátů je úplně bez času, takže by tam pak byl asi čas 0:00:00.
neni bez casu, podivej se znovu. Akorat ten cas je bud spolu s datem v obou sloupeccich dublovane nebo je jen v tom druhem sloupecku.Ahá, pro oči nevidím. Tak proto tam máte 4 sloupečky a ne 3. Tak to jo.
Diky za ten tip s "if self.platba_parsed and len(self.platba_parsed) == 4 :" ted uz to nehavaruje na radcich bez hodnot (i takovy tam jsou, treba "Poplatek za generování výpisu").Ta podmínka se dá zjednodušit na if len(self.platba_parsed) == 4. A krom toho je možné se jí zbavit úplně a žádné řádky nezahazovat - viz výše.
Ta podmínka se dá zjednodušit na if len(self.platba_parsed) == 4No jo, když do
if
u dopisuju druhou podmínku, mohl bych se taky podívat, co dělá ta první…
A krom toho je možné se jí zbavit úplně a žádné řádky nezahazovat - viz výše.Nějak to výše nemůžu najít. Jak to řešíte, když u nějaké platby není např. variabilní symbol?
já jsem sledoval i to staré vlákno a nakonec jsem na ebanku používal wget a potom parser v php. Vše fungovalo dobře, ale teď po změně nemohu wgetem stáhnout stránku s výpisem na disk. Vždy vyleze jen nějaká ořezaná verze bez tabulky pohybů (viz příloha).
Nevíte proč mi stránka nejde stáhnout?
Děkuji, zemji.
Tiskni Sdílej: