Společnost Volla Systeme stojící za telefony Volla spustila na Kickstarteru kampaň na podporu tabletu Volla Tablet s Volla OS nebo Ubuntu Touch.
Společnost Boston Dynamics oznámila, že humanoidní hydraulický robot HD Atlas šel do důchodu (YouTube). Nastupuje nová vylepšená elektrická varianta (YouTube).
Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.0.0. Přehled novinek v poznámkách k vydání.
Nejvyšší soud podpořil novináře Českého rozhlasu. Nařídil otevřít spor o uchovávání údajů o komunikaci (data retention). Uvedl, že stát odpovídá za porušení práva EU, pokud neprovede řádnou transpozici příslušné směrnice do vnitrostátního práva.
Minulý týden proběhl u CZ.NIC veřejný test aukcí domén. Včera bylo publikováno vyhodnocení a hlavní výstupy tohoto testu.
Byla vydána nová verze 3.5.0 svobodné implementace protokolu RDP (Remote Desktop Protocol) a RDP klienta FreeRDP. Přehled novinek v ChangeLogu. Opraveno bylo 6 bezpečnostních chyb (CVE-2024-32039, CVE-2024-32040, CVE-2024-32041, CVE-2024-32458, CVE-2024-32459 a CVE-2024-32460).
Google Chrome 124 byl prohlášen za stabilní. Nejnovější stabilní verze 124.0.6367.60 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 22 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Byla vydána nová verze 9.3 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Novinkou je vlastní repozitář DietPi APT.
Byl vydán Mozilla Firefox 125.0.1, první verze z nové řady 125. Přehled novinek v poznámkách k vydání, poznámkách k vydání pro firmy a na stránce věnované vývojářům. Vypíchnout lze podporu kodeku AV1 v Encrypted Media Extensions (EME). Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 125.0.1 je již k dispozici také na Flathubu a Snapcraftu.
Valkey, tj. svobodný fork již nesvobodného Redisu, byl vydán v první stabilní verzi 7.2.5.
wget www.seznam.cz --06:13:25-- http://www.seznam.cz/ => `index.html' Resolving www.seznam.cz... 194.228.32.3 Connecting to www.seznam.cz|194.228.32.3|:80... connected. HTTP požadavek odeslán, program čeká na odpověď ... 200 OK Délka: neudáno [text/html] [ <=> ] 31 595 --.--K/s 06:13:25 (5.98 MB/s) - `index.html' saved [31595]Potřebuji získat to index.html. Pokud bych tento výstup poslal rourou, např.
wget http://www.seznam.cz 2>&1|grep saved|sed -e 'blabla', tak sice získám název, ale přijdu tím o ostatní omáčku z wgetu. Potřeuji i tu omáčku i ten název... Dík za tip!
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
wget http://www.seznam.cz 2>&1|tee /dev/stderr|grep saved
07:00:11 (6.83 MB/s) - `index.html.31' saved [31612]
dá to index.html
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
$ echo "07:00:11 (6.83 MB/s) - \`index.html.31' saved [31612]" 07:00:11 (6.83 MB/s) - `index.html.31' saved [31612] $ echo "07:00:11 (6.83 MB/s) - \`index.html.31' saved [31612]" | \ sed -e "s:[[:print:]]*\`::" -e "s?' saved \[[[:digit:]]*\]??g" index.html.31
-O file
--output-document=file
wget $URL 2>&1 | tee /dev/stderr | grep saved | awk '{ print(substr($5, 2, length($5)-2)); }'Dík všem a hlavně Davidovi
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
file=$(wget $url 2>&1 | sed -n "2{h;s/.*\`\(.*\)'$/\1/p;g};w /dev/stderr")
wget http://seznam.czstáhne něco jiného než
wget http://seznam.cz/index.htmlAle přitom název souboru bude v obou případech 'index.html'. Takže buď ten název souboru známe (je součástí URL) nebo ho neznáme a pak je to index.html. Nebo jsou nějaké výjimky?
#!/usr/bin/env python import sys,os,urlparse,urllib2 conn = urllib2.urlopen(sys.argv[1]) realurl = conn.geturl() parsed = urlparse.urlsplit(realurl) url_path = parsed[2] # Here is the path filename = os.path.split(url_path)[1] if not filename: print 'No filename available, using "index.html"' filename = 'index.html' file(filename, 'w').write(conn.read())Jestliže se pokusím stáhnout
http://kf.fyz.fce.vutbr.cz/pub/bletak to název souboru nenajde a stáhne to do "index.html". Zatímco
http://kf.fyz.fce.vutbr.cz/pub/blaobsahuje konkrétní název souboru, ačkoli to z pouhé adresy nelze poznat. No a v tomto případě se použije název "bla". Zrovna tak to udělá i wget.
ahoj 2 slunce 3 moře 1 člověk 5 atd...
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
wget -q -O- ... | sed ... | ...Případně pokud by se jednalo o slušný web, mohl byste k vyčištění použít
xsltproc
.
#!/usr/bin/env python import os,sys,elementtree.ElementTree, urllib2 words = {} def add_to_words(text): for word in text.split(): try: words[word] += 1 except KeyError: words[word] = 1 def find_text(elem): text = elem.text if text: add_to_words(text) for e in elem: find_text(e) conn = urllib2.urlopen(sys.argv[1]) doc = elementtree.ElementTree.parse(conn).getroot() conn.close() find_text(doc) for k in words: print "%d: %s" %(words[k], k)Kéž by všechny stránky byly v XHTML strict...
chorchoj:14:22:02 ~$ wget -q abclinuxu.cz chorchoj:14:22:26 ~$ tidy -xml index.html line 18 column 1 - Error: unexpected </head> in <meta> line 56 column 98 - Error: unexpected </a> in <img> line 57 column 6 - Error: unexpected </div> in <img> line 77 column 1 - Error: unexpected </div> in <img> line 77 column 7 - Error: unexpected </div> in <img> line 96 column 25 - Error: unexpected </form> in <input> 0 warnings, 51 errors were found! Not all warnings/errors were shown. This document has errors that must be fixed before using HTML Tidy to generate a tidied up version. To learn more about HTML Tidy see http://tidy.sourceforge.net Please send bug reports to html-tidy@w3.org HTML and CSS specifications are available from http://www.w3.org/ Lobby your company to join W3C, see http://www.w3.org/ConsortiumZkoušel jsem i víc stránek - na každé je nějaký problém. Neznáte někdo nějaký jiný způsob, jak z HTML udělat well-formed XML?
#!/usr/bin/env python import os,sys,elementtree.ElementTree, urllib2 words = {} def find_text(elem): for word in elem.text.split(): words[word] = words.get(word, 0) + 1 for e in elem: find_text(e) url = 'http://www.w3schools.com/xml/plant_catalog.xml' conn = urllib2.urlopen(url) doc = elementtree.ElementTree.parse(conn).getroot() conn.close() find_text(doc) w = [(y,x) for x,y in words.items()] w.sort() for num, word in w: print "%d: %s" %(num, word)... ale jinak to trpí tím samým neduhem co předchozí verze.
w = [(y,x) for x,y in words.items()] w.sort() for num, word in w: print "%d: %s" %(num, word)jde v Python 2.4 nahradit
for word, num in sorted( words.iteritems(), key=lambda x: x[::-1], reverse=True ): print "%d: %s" %(num, word)Principiálně je to totéž jako
w = [(y,x) for x,y in words.iteritems()] w.sort() for num, word in w: print "%d: %s" %(num, word)Ale vypadá to víc perlish :) (jinak to použití
iteritems
místo items
by mělo ušetřit trochu paměti, ještě trošku paměti by mělo ušetřit
for word in sorted( words.iterkeys(), key=lambda x: (words[x], x), reverse=True ): print "%d: %s" %(words[word], word)ale tam už bude kulhat rychlost) Aneb správný perlista dokáže napsat perlový kód v jakémkoli jazyku
Pichi varuje: Tento příspěvek není kritika, jen má sloužit jako studijní materiál.
w = [(y,x) for x,y in words.iteritems()] del words #šetříme pamětí w.sort() for num, word in w: print "%d: %s" %(num, word)
lynx -dump www.abclinuxu.cz \ | sed -e 's/[^a-z0-9]\+/ /g' -e 's/[ \t]\+/\n/g' \ | sort \ | uniq -c \ | sort -n
Tiskni Sdílej: