Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: Viktor2233 13 Ledna 2023, 19:45:16
-
Ahoj, poradí někdo prosím jak nejjednodušeji všechny fotografie, které se nachází ve správci fotografií shotwell přesunout do složky na ploše? Rád bych je přenesl do druhého počítače. Předem děkuji za rady. :)
-
Toť divná otázka. Shotwell pokud jsi fotografie importoval s kopírováním, vše ukládá do složky Obrázky. Tu si můžeš rovnou nakopírovat kam potřebuješ a nemusíš k tomu používat složku na ploše.
-
Právě, že jsem importoval bez kopírování...
-
Právě, že jsem importoval bez kopírování...
Tak je holt budeš muset najít, kde jsou. Použij standardní příkaz find s přísl. parametry. Stačí hledat koncovky .png a .jpg
-
Ok. Prošel jsem to a řešení jsem našel. Podle tohoto https://wiki.gnome.org/Apps/Shotwell/Architecture/Database ty údaje shotwell ukládá do databáze. Tu jsem našel tady ~/.local/share/shotwell/data/photo.db
Nejdříve si to celé přečti! A až pak se do toho pusť. Není to nic složitého:
Vysvětlím krok po kroku.
Nainstaluješ si sqlite3! Bez toho to nepůjde. Respektive šlo by to, ale takto je to o dost jednodušší. Pak si vytvoříš složku v domácím adresáři kam se nakopírují všechny ty fotografie. Aby se předešlo kolizím při stejně pojmenovaných atd. Vytvoří se v té složce celá adresářová struktura. Až bude hotovo, uvidíš pohledem dovnitř jak jsem to myslel. Pak si pomocí sql dotazu vykucháme umístění každé té fotografie a uložíme to do souboru dejme tomu název adresy v rootu vytvořené složky. Pak jednořádkový skript přečte ten soubor a každou tu fotografii nakopíruje do nově vytvořené adresářové struktury v té složce. Hotovo. Tu složku kam se všechny fota nakopírujou nazveme dejme tomu backphoto. Nic těžkého to není, jen to neumím popsat. Níže budou příkazy které řádek po řádku zkopíruješ do terminálu a odentruješ:sudo apt install sqlite3
cd ~
mkdir backphoto
cd backphoto/
sqlite3 ~/.local/share/shotwell/data/photo.db 'select filename from PhotoTable;' > adresy
cat adresy | while read radky; do cp --parents $radky ./; done
A tím budeš mít všechny fotografie co máš v shotwellu uložené ve složce backphoto. Tu pak můžeš překopírovat kam chceš.
-
Jo, to holt jsou osudy jedinců, kteří volí "ňákou appku" na práci se soubory, aniž tuší co, kde a jak se s nimi děje...
A je úplně jedno, jestli s tím začnou ve widlous, na šmatlafounu nebo v dnes už taky slušně infikovaném Linuxu.
-
Export jste zkoušel?
http://yorba.org/shotwell/help/share-export.html
-
No dobře, a co teda v té databázi vlastně je??
Pouze (tajné) cesty k těm souborům (fotek), jež jsou fyzicky někde jinde, nebo i ty samotné soubory (fotky)? ::) ::)
Odpovím si sám: Jsou tam jenom cesty - samotné soubory jsou tam, odkud byly naimportovány (do shotwelu). Jako výchozí pro import je složka
~/Obrázky včetně podsložek.
Pokud někdo ty soubory odstraní, nevyexportuje už přirozeně nic, ty neplatné cesty mu budou k ničemu...
Obávám se, že tohle je přesně ten případ.... :-\
-
Právě, že jsem importoval bez kopírování...
Vybrat všechny fotky v Shotwellu a zvolit export (beze změny) a vyber složku, kam to chceš...
-
Právě, že jsem importoval bez kopírování...
Vybrat všechny fotky v Shotwellu a zvolit export (beze změny) a vyber složku, kam to chceš...
To je právě to, že vybrat všechny fota. Jak to může dopadnout pokud bude mít více fotografií stejný název?
Udělám test
-
No dobře, a co teda v té databázi vlastně je??
Pouze (tajné) cesty k těm souborům (fotek), jež jsou fyzicky někde jinde, nebo i ty samotné soubory (fotky)? ::) ::)
Odpovím si sám: Jsou tam jenom cesty - samotné soubory jsou tam, odkud byly naimportovány (do shotwelu). Jako výchozí pro import je složka
~/Obrázky včetně podsložek.
Pokud někdo ty soubory odstraní, nevyexportuje už přirozeně nic, ty neplatné cesty mu budou k ničemu...
Obávám se, že tohle je přesně ten případ.... :-\
Samo, že tam jsou cesty a ne celé obrázky. Ta databáze je shotwellem docela dobře udržovaná. Blbý je, že mám s sebou k dispu jen pár obrázků. Takže i když je přejmenuju, tak shotwell ihned pozná duplicitu. Tím udržováním myslím, že je tam mimo jiné i záznam o chybějícím cíli. Moc nechápu, proč celý ten řádek rovnou nesmažou. Takže ještě jednou ten postup s ošetřením proti chybějícím cílům a ošetřením proti mezerám v názvech:sudo apt install sqlite3
cd ~
mkdir backphoto
cd backphoto/
sqlite3 ~/.local/share/shotwell/data/photo.db 'select filename from PhotoTable where backlinks is null;' | xargs -I{} cp --parents "{}" ./
Je to zkrácený.
Pokud někoho zajímá jak vypadá ta jeho databáze, tak takhle:qlite3 ~/.local/share/shotwell/data/photo.db .dump
Pokud tam má i videa tak pokračování:sqlite3 ~/.local/share/shotwell/data/photo.db 'select filename from VideoTable where backlinks is null;' | xargs -I{} cp --parents "{}" ./
EDIT:
Mimochodem ty závorky v xargs být nemusí, je to jen ustálený výraz. Místo toho tam může být jakékoliv slovo nebo znak. Třeba:qlite3 ~/.local/share/shotwell/data/photo.db 'select filename from VideoTable where backlinks is null;' | xargs -Izavorky cp --parents "zavorky" ./
-
Export jste zkoušel?
http://yorba.org/shotwell/help/share-export.html
Tohle "drag & drop" vypadá zajímavě. A funguje to dobře (nevím jak s duplicitními názvy). Holt, já žiju ještě v příkazovém středověku.
-
...Holt, já žiju ještě v příkazovém středověku.
Ono je to velmi potřebné a díky za to.
Já osobně jsem především "klikač", ale uznávám, že dobře napsaný příkaz nebo script mnohdy udělá víc práce rychleji.
Jen je potřeba na to mít buňky - já musím všechno hledat, včetně těch nejběžnějších příkazů... Ale konzoli navzdory tomu využívám pořád, i když ne často.
-
Já vím, OFFTopic ale i tak.
Tím udržováním myslím, že je tam mimo jiné i záznam o chybějícím cíli. Moc nechápu, proč celý ten řádek rovnou nesmažou.
Je to tam protože Shotwell pracuje samozřejmě i s přípojnými médii. A pokud se připojuje občas, databáze funguje dál.