Byla vydána nová verze 9.19 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze například nový balíček BirdNET-Go, tj. AI řešení pro nepřetržité monitorování a identifikaci ptáků.
Byla vydána nová verze 3.38 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.10 souvisejícího programovacího jazyka Dart (Wikipedie).
Organizace Apache Software Foundation (ASF) vydala verzi 28 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Byl vydán Debian 13.2, tj. druhá opravná verze Debianu 13 s kódovým názvem Trixie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
Google představil platformu Code Wiki pro rychlejší porozumění existujícímu kódu. Code Wiki pomocí AI Gemini udržuje průběžně aktualizovanou strukturovanou wiki pro softwarové repozitáře. Zatím jenom pro veřejné. V plánu je rozšíření Gemini CLI také pro soukromé a interní repozitáře.
V přihlašovací obrazovce LightDM KDE (lightdm-kde-greeter) byla nalezena a již opravena eskalace práv (CVE-2025-62876). Detaily v příspěvku na blogu SUSE Security.
Byla vydána nová verze 7.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Tor Browser byl povýšen na verzi 15.0.1. Další novinky v příslušném seznamu.
Česká národní banka (ČNB) nakoupila digitální aktiva založená na blockchainu za milion dolarů (20,9 milionu korun). Na vytvořeném testovacím portfoliu, jehož součástí jsou bitcoin, stablecoiny navázané na dolar a tokenizované depozitum, chce získat praktickou zkušenost s držením digitálních aktiv. Portfolio nebude součástí devizových rezerv, uvedla dnes ČNB v tiskové zprávě.
Apple představil iPhone Pocket pro stylové přenášení iPhonu. iPhone Pocket vzešel ze spolupráce značky ISSEY MIYAKE a Applu a jeho tělo tvoří jednolitý 3D úplet, který uschová všechny modely iPhonu. iPhone Pocket s krátkým popruhem se prodává za 149,95 dolarů (USA) a s dlouhým popruhem za 229,95 dolarů (USA).
Byla vydána nová stabilní verze 7.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 142. Přehled novinek i s náhledy v příspěvku na blogu.
S elinksem jsem tez neuspel, muzete me nekdo nakopnout s tim sedem, awkem a dalsimi kamarady?Jak neuspěl? Já toto zkusil :
elinks -dump-width 150 -dump http://www.ebanka.cz/Firemni-finance/Firemni-ucet/Transparentni-ucet/trAccountDetail.jsp?accountNumber=2588438001a obdržel jsem pěkný textový výpis, který už by neměl být problém dále zpracovávat ve skriptu (za pomoci potřebných programů, jako sed, grep, sort, ......) a dovést ho do potřebné struktury.
xmllint?
<?php
$string = strstr(file_get_contents ('dataget2'), '<tbody>');
$pozice = strpos ($string, '</tbody>');
$string2 = substr ($string, 0, $pozice);
#$string3 = html_entity_decode ($string2);
$dopryc = array(" class=\"odd\"", " class=\"even\"", "\n", " ", "<tbody>", " ", "td", "br");
$string3 = str_replace($dopryc, "", $string2);
$string4 = str_replace("</tr>", "</tr>\n", $string3);
$dopryc = array("<", ">", "tr");
$string5 = str_replace($dopryc, "", $string4);
$string6 = str_replace("/", ";", $string5);
$dopryc = array(";;;;;;", ";;;;;", ";;;", ";;");
$string7 = str_replace($dopryc, ";", $string6);
echo $string7;
?>
Zdenek
use HTML::TableExtract;
a přes něj se pak dá (mj.):
Datum: 2007-01-05 04:21:39.0 Variabilni symbol: 28 Castka: 400.00 Datum: 2007-01-03 05:35:26.0 Variabilni symbol: 5 Castka: 400.00 Datum: 2007-01-03 05:35:23.0 Variabilni symbol: 33 Castka: 400.00 Datum: 2007-01-03 05:33:14.0 Variabilni symbol: 51 Castka: 800.00 Datum: 2007-01-02 09:36:02.0 Variabilni symbol: 16 Castka: 400.00 Datum: 2007-01-02 05:57:28.0 Variabilni symbol: 49 Castka: 400.00 Datum: 2007-01-01 23:59:59.0 Variabilni symbol: Castka: Datum: 2006-12-31 23:59:59.0 Variabilni symbol: Castka: 0.04 Datum: 2006-12-28 06:40:52.0 Variabilni symbol: 8 Castka: 400.00 Datum: 2006-12-28 05:48:15.0 Variabilni symbol: 48 Castka: 400.00 Datum: 2006-12-20 17:57:35.0 Variabilni symbol: Castka: 1000.00Navíc je použita primitivní cache, která stáhne zdrojový kód z netu jen tehdy, pokud ho nenajde již dříve uložený na disk (což se hodí při ladění).
#!/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):
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:
self.platby.append(self.platba_parsed)
self.platba_parsed = []
if tag == 'tbody': self.within_tbody = False
url = 'http://www.ebanka.cz/Firemni-finance/Firemni-ucet/Transparentni-ucet/trAccountDetail.jsp?accountNumber=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 'Datum: %s Variabilni symbol: %s Castka: %s'%(
datum, varsymb, castka)
// ==UserScript==
// @name eBanka
// @description eBanka
// @include http://www.ebanka.cz/Firemni-finance/Firemni-ucet/Transparentni-ucet/trAccountDetail.jsp*
// ==/UserScript==
function lTrim(value) {
var r = /\s*((\S+\s*)*)/;
return value.replace(r, "$1");
}
function rTrim(value) {
var r = /((\s*\S+)*)\s*/;
return value.replace(r, "$1");
}
function trim(value) {
return lTrim(rTrim(value));
}
window.addEventListener(
'load',
function() {
var table, tbody, rows, columns, items, txt;
txt = "";
line = new Array(16);
table = document.getElementsByTagName('table')[0];
if (!table) {
alert('Nemôžem nájsť <table>');
return;
}
tbody = table.getElementsByTagName('tbody')[0];
if (!tbody) {
alert('Nemôžem nájsť <tbody>');
return;
}
rows = tbody.getElementsByTagName('tr');
for (var i = 0; i < rows.length; i++) {
row = rows[i];
columns = row.getElementsByTagName('td');
if (columns.length != 7) {
alert('Zlý počet stĺpcov:' + columns.length);
return;
}
items = columns[0].textContent.split('\n');
line[0] = items[1]; // poradove cislo
items = columns[1].textContent.split('\n');
line[1] = items[1]; // datum
line[2] = items[2]; // cas
items = columns[2].textContent.split('\n');
line[3] = items[1]; // poznamka
line[4] = items[2]; // nazov uctu
line[5] = items[3]; // cislo uctu
items = columns[3].textContent.split('\n');
line[6] = items[1]; // datum odpisania
line[7] = items[2]; // valuta
line[8] = items[3]; // typ
items = columns[4].textContent.split('\n');
line[9] = items[1]; // variabilny symbol
line[10] = items[2]; // konstantny symbol
line[11] = items[3]; // specificky symbol
items = columns[5].textContent.split('\n');
line[12] = items[2]; // ciastka
items = columns[6].textContent.split('\n');
line[13] = items[1]; // poplatok
line[14] = items[2]; // zmena
line[15] = items[3]; // spr8va
for (var k = 0; k < line.length; k++) {
line[k] = trim(line[k]);
}
txt += line.join(";") + "<br>\n";
}
document.open()
document.writeln(txt + "<br>");
document.close();
},
true);
Tiskni
Sdílej: