Byla vydána verze 3.6 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.
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.
Byla vydána nová verze 8.8 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled oprav, vylepšení a novinek v oficiálním oznámení.
Byla vydána nová major verze 11.0.0 nástroje mitmproxy určeného pro vytváření interaktivních MITM proxy pro HTTP a HTTPS komunikaci. Přehled novinek v příspěvku na blogu. Vypíchnuta je plná podpora HTTP/3 a vylepšená podpora DNS.
Richard Hughes na svém blogu představil nejnovější major verzi 2.0.0 nástroje fwupd umožňujícího aktualizovat firmware zařízení na počítačích s Linuxem. Podrobný přehled novinek v poznámkách k vydání. Přehled podporovaných zařízení, nejnovějších firmwarů a zapojených výrobců na stránkách LVFS (Linux Vendor Firmware Service).
Počítačová hra Kvark (Steam) od studia Perun Creative dospěla do verze 1.0 (𝕏). Běží také na Linuxu.
Byla vydána (𝕏) zářijová aktualizace aneb nová verze 1.94 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.94 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
O víkendu 5. a 6. října se koná ne-konference jOpenSpace. Pokud si chcete kouzlo živých přednášek vychutnat společně s námi, sledujte live streamy: sobota a neděle. Začínáme lehce po 9 hodině ranní. Zpracované záznamy jsou obvykle k dispozici do 14 dní na našem YouTube kanále.
Hodiny s unixovým časem dnes odbily 20 000 dnů. Unixový čas je počet sekund uplynulých od půlnoci 1. ledna 1970. Dnes ve 02:00 to bylo 1 728 000 000 sekund, tj. 20 000 dnů.
Notebook NitroPad V56 od společnosti Nitrokey byl oficiálně certifikován pro Qubes OS verze 4. Qubes OS (Wikipedie) je svobodný a otevřený operační systém zaměřený na bezpečnost desktopu.
Potřebuji takovýto příkaz z pythonu přepsat do bashe.
db.execute("CREATE TABLE tiles (x int, y int, z int, s int, image blob, PRIMARY KEY (x,y,z,s));")
db.execute('INSERT INTO "tiles" VALUES(?,?,?,?,?);',(int(x),int(y.split('.')[0]),17-int(z),0,buffer(file("%s/%s/%s/%s" % (sys.argv[2],z,x,y)).read())))
Tedy ten druhý řádek, první jsem svedl, jde o sqlite. Je to vůbec možné?
Řešení dotazu:
NAME sqlite3 - A command line interface for SQLite version 3 SYNOPSIS sqlite3 [options] [databasefile] [SQL] SUMMARY sqlite3 is a terminal-based front-end to the SQLite library that can evaluate queries interactively and display the results in multiple for‐ mats. sqlite3 can also be used within shell scripts and other applica‐ tions to provide batch processing features.
A co jako?
Mně jde o to, že mám v shellu proměnné x,y,z a ve filesystému soubor, který potřebuji dostat do té databáze tak, jak je to napsáno v tom pythonu. Jde mi spíš o syntaxi s uvozovkami, apostrofy, složenými závorkami a pod., aby to příkaz sqlite pobral. Takže asi tak...
Mám něco takového (ten sys.argv[2] je jen název adresáře), ale nefachčí.
sqlite "$NAME" "INSERT INTO tiles VALUES ('${x}','${y}','${z}',0,'/zaloha/x/${file}')"
Zkusil jsem to z toho emailu přepsat do jednoho řádku, ale někde je chyba.
d=test.db3 rm -f $d; echo "CREATE TABLE Files (name TEXT PRIMARY KEY,contents BLOB);" | sqlite3 $d ; echo "INSERT INTO Files (name,contents) VALUES ('a.png',X'$(od -A n -t x1 'a.png'|tr -d '\r\n\t ')');" | sqlite3 $d ; echo "select contents from Files where name='a.png';" | sqlite3 $d >b.png
d=test.db3
chýba ; (bez nej sa to d berie ako premenná, ktorá platí len pre nasledujúci príkaz rm).
Pri tom príkaze od je názov súboru v apostrofoch a keďže sú tam už apostrofy použité, nerobí to to, čo to robiť má (a nechce sa mi hľadať, čo by na tom mieste vlastne fungovalo).
Potom to ten súbor do DB uloží v binárnom tvare, problém ale je, že program sqlite3 to, pri vypisovaní, spracuje len po prvý bajt 0 (takže sa do b.png uloží len časť toho súboru). Pri tom select sa môže použiť hex(contents) a tak sa to vypíše celé, bude to ale hexadecimálny reťazec, ktorý sa bude musieť nejako skonvertovať na binárne dáta (takže najjednoduchšie je to nechať v Python). :)
Ta chybějící ; byl překlep.
S tím pythonem chceš říct, že to nejde napsat v bash shellu?
Mně šlo právě o to, zda jde napsat to pythonovské
buffer(file("%s/%s/%s/%s" % (sys.argv[2],z,x,y)).read())
nějak v bash...
tohle
cat /zaloha/x/${file} | sed "s/'/\\\'/g")
změní bajty v souboru
Tiskni Sdílej: