DŮLEŽITÉ UPOZORNĚNÍ!
Policie České republiky a šéfcensor Ústavu pro studium totalitních režimů Jaroslav Čvančara varují: citovat jakékoli texty z tohoto blogu způsobuje vážné nebezpečí trestního stíhání! Četba na vlastní nebezpečí!

11. 7. 2010

Datové schránky, den D376

Nedalo mi to a o víkendu jsem se věnoval beta-testování programu dsgui. Výtku, kterou jsem měl, tzn. nedostatečnou podporu pro zálohování datových zpráv, jsem se rozhodl opravit svépomocí.

S lehkým překvapením jsem zjistil, že jsem několik měsíců žil v bludu, domnívaje se, že soubory s příponou ZFO, které ukládám do archivu datových zpráv, jsou zazipované soubory ve standardním formátu XML-FO. Omyl: je to proprietární formát ISDS.

Překonav svůj omyl, zbytek byl víceméně hračkou:
#! /bin/bash

sql='sqlite3'
home='/home/tompecina'
dbf="$home/.dsgui/$(cat $home/.dsuserid)___0.db"

if [ ! -d "$1" ]; then
    echo 'Existing target directory must be specified'
    exit 1
fi
dir="${1%/}"
for mid in $(echo "select message_id from raw_message_data;" | $sql $dbf); do
    [ -e $dir/[OD]DZ_$mid.zfo ] && continue
    [ $(echo "select read_locally from supplementary_message_data where message_id='$mid';" |\
      $sql $dbf) -ne 1 ] && continue
    mtype=$(echo "select message_type from supplementary_message_data where message_id='$mid';" |\
      $sql $dbf)
    if [ $mtype -eq 1 ]; then
        pref='D'
    elif [ $mtype -eq 2 ]; then
        pref='O'
    else
        continue
    fi
    echo "select data from raw_message_data where message_id='$mid';" | $sql $dbf |\
      openssl base64 -d -out "$dir/${pref}DZ_$mid.zfo"
done
Skript projde databasi zpráv a uloží všechny, které dosud nemám staženy, do adresáře zadaného jako parametr. dsgui zatím neumí ukládat zprávy odeslané přes webové rozhraní, nicméně jakmile to zvládne, měl by skript automaticky archivovat i tyto soubory.

Program dsgui je pro mě zajímavý jednak tím, že se zdá být dobře a přehledně naprogramován, a jednak očekávanou podporou pro mobilní zařízení: na mé Nokii N900 v nejnovější versi momentálně nefunguje jen proto, že zatím nejsou portovány všechny potřebné pythonové moduly, což je vada, která bude jistě časem překonána.

6 komentářů :

  1. Když už píšete o N900: jak jste s ní spokojen? Vzhledem k ukončení vývoje WM do budoucnosti marně hledám náhradu - Android mě nijak nezaujal a ostatní platformy nemají na WM ani omylem, především mi bude chybět prakticky neomezená možnost detailního nastavení a úprav systému. Proto mě docela zajímá připravované MeeGo, které vypadá hodně zajímavě a je příbuzné právě se sytémem Maemo použitým v N900.

    OdpovědětVymazat
  2. Psal jsem o ní v březnu, od té doby jsem se naučil s některými problémy žít, ale telefonování s ní požitkem určitě není.

    Na MeeGo jsem zvědav, podle prvních screenshotů vypadá hodně obrázkové (ve stylu Chrome), což nemám rád, ale možná je to jen první dojem.

    OdpovědětVymazat
  3. V porovnání s jiným mi přijde u MeeGo dost velká šance na nastavení podle vlastních potřeb. Doufám, že to nedopadne jako u většiny ostatních mobilních OS, které se teď (včetně vývojářů) až moc zaměřují na multimedia a práce je vedlejší. Třeba sehnat OS/aplikaci schopnou pracovat s .rtf je mimo WM extra problém, pro mě je to dost zásadní...a to je jen jedna z mnoha věcí. Abych si nakonec nakoupil nějaký WM stroj na pár let dopředu :-(

    OdpovědětVymazat
  4. To máte pravdu, to je vždycky velká sázka.

    Pro čtení dokumentů má snad být pod Maemo portován AbiWord, nevím, v jakém je stavu, neměl jsem čas ho vyzkoušet.

    OdpovědětVymazat
  5. Zfo je xmlko, ale zabalene v digitalnim podpisu autori asi necetli nic o podepisovani xml

    OdpovědětVymazat
  6. Autori datovych schranek, samozdrejmne

    OdpovědětVymazat

Kursiva: <i>text</i>
Tučně (když už to musí být…): <b>text</b>
Odkaz: <a href = "http://adresa">název odkazu</a>, tedy <a href = ""></a>

Poznámka: Komentáře mohou přidávat pouze členové tohoto blogu.