Byla vydána červnová aktualizace aneb verze 2023.06-1 linuxové distribuce OSMC (Open Source Media Center). Z novinek lze zdůraznit povýšení verze multimediálního centra Kodi na 20. Na léto je plánováno představení nového vlajkového zařízení Vero, jež nahradí Vero 4K +.
Už zítra 7. června od 17 hodin proběhne SUSE Czech Open House 2023 aneb den otevřených dveří pražské pobočky SUSE. Těšit se lze na komentovanou prohlídku nebo přednášku o spotřebě procesorů.
Na vývojářské konferenci Applu WWDC23 byla představena řada novinek (cz): brýle Apple Vision Pro, MacBook Air 15” s čipem M2, Mac Studio s čipem M2 Max nebo M2 Ultra, Mac Pro s čipem M2 Ultra, iOS 17, iPadOS 17, macOS Sonoma, watchOS 10, …
Chystá se poslední jarní Virtuální Bastlírna. Nachystejte si ledové kávy, mojita a vodní chladiče a pojďte se se strahovskými bastlíři pobavit o technice a bastlení! Ptáte se, co mají bastlíři za novinky? Například se ukázalo, že OLED s SSD1306 ve skutečnosti nejsou nutně jen černobílé. Vyšla také nová verze KiCADu včetně betaverze pluginu pro tvorbu databázových knihoven pro KiCAD v InvenTree a na internetu se objevil USB
… více »6. červen je dnem za skutečný internet (neboli Světový den IPv6). Již tradiční příležitost urgovat svého ISP, kdy zavede do sítě IPv6, ale také příležitost šířit osvětu i mezi netechnické uživatele. V současnosti má IPv6 v ČR jen cca 20 % uživatelů (podle statistik společností Akamai a Google).
Festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí Maker Faire Prague 2023 proběhne o víkendu 10. a 11. června na Výstavišti Praha.
Byla vydána verze 8.18 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.
Projekty Blink a Blinkenlights dospěly do verze 1.0. Jedná se o x86-64-linux emulátor a jeho TUI nadstavbu sloužící jako debugger. Blink je v porovnání s qemu-x86_64 menší a rychlejší.
Bylo potvrzeno, že Debian 12 s kódovým jménem Bookworm vyjde v tuto sobotu 10. června.
Byla vydána nová verze 2023.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení. Zdůraznit lze předpřipravené obrazy pro Hyper-V nebo to, že ve výchozím prostředí Xfce bylo PulseAudio nahrazeno multimediálním serverem PipeWire.
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: