tengu_crow: (Default)
[personal profile] tengu_crow
Идея каталогера, который бы сохранял на диске содержимое моей библиотеки (медиатеки? информатеки? дискохранилища?) dvd не отпускала меня с тех самых пор, как я перебрался на убунту. Конечно, Cathy прекрасно работала под wine-ом, и вполне справлялась с теми задачами, которые на нее были возложены еще в старой системе. Некоторое время у меня крутилась в голове идея обобщенного скрипта на Питоне, однако в конце-концов на Хабре появился пост, который расставил все по своим местам. Главной оказалась идея о том, что файловую структуру диска без особых хлопот можно получить через find.

читать дальше в wordpress'e


11го марта я написал на базе того, что было описано на Хабре свой вариант скрипта. Главное отличие в том, что мне хотелось большего автоматизма. Свои диски при записи я как правило называю вполне внятными именами (чего по моим наблюдениям многие не делают), которые пишу маркером на дисках же. Т.е. диск с именем video20100327 будет подписан соответствующе и вполне однозначно привязан к системе обозначений (другое дело что кроме video20100327 на него можно дописать всякой пояснительной информации).

Вот что получилось в моем варианте:
#! /bin/bash

# получаем название диска и путь куда сохранить каталог
# в моем случае - это будет ~/hive/cat

A=$(isoinfo -i /dev/cdrom -d | grep "Volume id" | sed "s/^.*: //g") && \
h=$'/home/vik/hive/cat/' && \

# информируем пользователя о том что и куда пишем
echo $A
echo $h$A

# создаем файл-каталог текущего dvd
# туда складываем заголовок: название диска, дату создания
# и линейку-разделитель

touch $h$A.kat && \
echo 'disk: '$A > $h$A.kat
date +%Y-%m-%d' '%H:%M >> $h$A.kat
echo '=============================================================' >> $h$A.kat

# получаем содержимое диска, сортируем его по порядку,
# обрабатываем его sed'ом - убираем лишнюю информацию
# и лишний кусок пути после чего сливаем содержание в файл-каталог

find /media/cdrom0 | sort | \
                            sed -e '1d' -e 's=/media/cdrom0/==g' \
                                >> $h$A.kat && \

# извлекаем диск - очень удобно когда каталогизируется множество дисков
# если мешает - можно закомментировать.
eject

В принципе вот и все. Таким макаром подбираются файлы название которых соответствует названию диска, а содержимое - файловому дереву диска. Так же появилась (в отличие от Cathy) возможность разложить "файлы-диски" по "папкам-бандлам", где каждой папке соответствует реальный пластиковый футляр с дисками - сразу становится понятно где и что искать.

Каталогизация идет примитивно - на панель GNOME уже описанным методом вытащена кнопка. Диск вставляется. Я жду пока система смонтирует его, кликаю по кнопке, пауза... диск сам извлекается обратно. После чего файл перекладывается в нужную папку.

К сожалению не все человеки разделяют мою манию ставить на дисках информативные имена (особенно этим грешит сэр Хайвей - как только не называются его диски). Но файл диска всегда можно переименовать вручную.

Искать можно, например, способом описанном в статье на хабре. Лично я просто пользуюсь grep'ом. Эта система очень хорошо описана в статье про греп и словари - кстати, очень рекомендую.

В приложении к дискам это может выглядеть например так. Мне хочется вспомнить где у меня лежат Карпатские фотографии 2008-го года.
vik@firefly:~/hive/cat$ grep -R 2008.*Карпаты *

(-R означает "искать рекурсивно во всех подкаталогах")

Получаем:
gifs20050403trave/FOTO20080620.kat:20080425 - 0503 - Поход в Карпаты
gifs20050403trave/FOTO20080620.kat:20080425 - 0503 - Поход в Карпаты/DSC08224.JPG
...
gifs20050403trave/FOTO20080620.kat:20080425 - 0503 - Поход в Карпаты/MOV08356.MPG
gifs20050403trave/FOTO20080620.kat:20080425 - 0503 - Поход в Карпаты/MOV08356.THM
gifs20050403trave/FOTO20080620.kat:20080425 - 0503 - Поход в Карпаты/Фото Антона
gifs20050403trave/FOTO20080620.kat:20080425 - 0503 - Поход в Карпаты/Фото Антона/DSC03273.JPG
...
gifs20050403trave/FOTO20080620.kat:20080425 - 0503 - Поход в Карпаты/Фото Антона/MOV03416.MPG
gifs20050403trave/FOTO20080620.kat:20080425 - 0503 - Поход в Карпаты/Фото Антона/MOV03416.THM
gifs20050403trave/TRAVE20080711.kat:accounts/20080426 Карпаты Абордажная Команда Boarding Party
gifs20050403trave/TRAVE20080711.kat:accounts/20080426 Карпаты Абордажная Команда Boarding Party/01.JPG
gifs20050403trave/TRAVE20080711.kat:accounts/20080426 Карпаты Абордажная Команда Boarding Party/02.JPG
gifs20050403trave/TRAVE20080711.kat:accounts/20080426 Карпаты Абордажная Команда Boarding Party/03.JPG
...
sper20060105_20081209/SPER20081208.kat:ferbot2/accounts/20080426 Карпаты Абордажная Команда Boarding Party
...

То есть фотографии (и отчеты, которые попутно нашлись) лежат в бандлах с наклейками "gifs20050403trave" и "sper20060105_20081209" соответственно и называются "FOTO20080620.kat", "TRAVE20080711.kat" и "SPER20081208.kat". Спером у меня называются бэкапы по давней традиции. Снимаем с полки нужные бандлы и достаем соответствующие диски.



Приятная особенность, которая выяснилась по ходу дела. Неделю назад я поставил себе MetaTracker - настольную поисковую систему, вроде GoogleDesktop сотоварищи. Когда понадобилось найти книгу - выяснилось, что он просканировал и мою библиотеку на дисках и искал название в том числе и по ней. В итоге я не покидая из трекера получил все координаты нужного мне источника - поскольку название файла и папка где он лежит прямо указывали на нужный dvd. Plain text традиционно рулит и педалит.
Page 1 of 4 << [1] [2] [3] [4] >>

Date: 2010-03-27 05:17 pm (UTC)
From: [identity profile] cymepk.livejournal.com
Осталось добавить в эту стройную систему RFID-метки=)

Date: 2010-03-27 05:22 pm (UTC)
From: [identity profile] d7s.livejournal.com
> Диск вставляется. Я жду пока система смонтирует его, кликаю по кнопке, пауза..

Но зачем?

Date: 2010-03-27 05:34 pm (UTC)
From: [identity profile] tengu-crow.livejournal.com
Это идея :) С другой стороны позволить соседям у меня за стеной с помощью сканера отслеживать перемещения моих дисков и делать из этого выводы? Кто параноик? Я параноик?

Date: 2010-03-27 05:36 pm (UTC)
From: [identity profile] tengu-crow.livejournal.com
Кстати, да. Ну... так было проще навскидку. Плюс можно вкушать по ходу дела различные плюшки :)

А как можно было бы сделать иначе? Я просто не уверен что смогу обойти автомонтирование в Убунте.

Date: 2010-03-27 05:39 pm (UTC)
From: [identity profile] d7s.livejournal.com
Во-первых, автомонтирование реализуется десктопным окружением, во-вторых, я помню в гномонастройках автомонтирования возможность автоматически запускать программу/скрипт при обнаружении подключенного диска/флешки/еще какой ерунды. Так что ты бы мог ограничиться ролью CD-changer'а, без тыканья в разные кнопки на всяких панельках.

Date: 2010-03-27 05:40 pm (UTC)
From: [identity profile] d7s.livejournal.com
Добавить множество ложных рфидов! Не говоря уже о мерах активного противодействия.

Date: 2010-03-27 05:44 pm (UTC)
From: [identity profile] tengu-crow.livejournal.com
Угумс. И тасовать их по псевдослучайным законам, маскируясь под белый шум... меня точно тогда загребут. Не ЦРУ, так Желтый Дом :)

Date: 2010-03-27 05:45 pm (UTC)
From: [identity profile] cymepk.livejournal.com
оу, у ваших соседей уже есть сканер RFID-меток?=)
В любом случае, им надо еще знать, что означает эта куча меток, лежащих скорее всего в одном месте:)

Date: 2010-03-27 05:47 pm (UTC)
From: [identity profile] tengu-crow.livejournal.com
Это я как раз знаю. Просто не уверен, что сумею включить его обратно :) Тут с пульс-аудио нехорошо получилось, так я уже берегусь :)

Ага. Клево. Сообразил. Главное опять-таки уметь эту штуку "отключить обратно" :) а то будет случай лисы и винограда - все закаталогизировано... а посмотреть - йок :)

Date: 2010-03-27 05:47 pm (UTC)
From: [identity profile] cymepk.livejournal.com
угу, активно и хаотично перемещать их с места на место.
*представил себе Тэнгу, жонглирующего тортами с дисками, дабы сбить с толку соседей

Date: 2010-03-27 05:48 pm (UTC)
From: [identity profile] tengu-crow.livejournal.com
От наших соседей всего можно ждать... (таинственно вращает глазами)... спутники шпионы, допросы на полиграфе...

Я думаю, если они приобрели рфид-сканер, то до всего остального они быстро додумаются. Или решат, что у меня склад попяченной продукции :)))

Date: 2010-03-27 05:52 pm (UTC)
From: [identity profile] tengu-crow.livejournal.com
Торт это хорошее название :))) возьму на вооружение :)))

Тэнгу сейчас может разве что вяло их тасовать (задумчиво выполняет вольт, пролистывает колоду, снимает, рассеянно вытаскивает туза пик из середины колоды... спохватывается и прячет карты). Но вообще да - жонглировать это идея. Однако, боюсь, что время на поиск требуемого диска сильно удлинится (я бы даже сказал может бесконечно удлиниться - тут на ум приходят шеклиевские "Хождения Джоэниса" с их перестраиваемым противошпионским пентагоном, где блукают не столько шпионы, сколько сами служащие).

Date: 2010-03-27 05:52 pm (UTC)
From: [identity profile] cymepk.livejournal.com
да уж... в этом жестоком мире вообще одна надежда на шапочки из фольги. Желательно заземленные=)

Date: 2010-03-27 05:52 pm (UTC)
From: [identity profile] d7s.livejournal.com
> Тут с пульс-аудио нехорошо получилось, так я уже берегусь :)

С пульсаудио нехоро получалось само собой, но год назад. Что ты с ним сделал? %)

Date: 2010-03-27 05:53 pm (UTC)
From: [identity profile] tengu-crow.livejournal.com
а ведь таки да. и опять таки можно чужие рфиды попячивать... с другой стороны сканерные ворота по идее на фольгу будут реагировать. на моток провода во всяком случае реагировали.

Date: 2010-03-27 05:58 pm (UTC)
From: [identity profile] tengu-crow.livejournal.com
Удалил. Давно. Сейчас не доходят руки выпилить его так, чтобы система не приволакивала его обратно (знаю, что теоретически она этого не должна делать, если я его запурджил - но делает) и вообще я не уверен, что правильно поступил :) Мучает совесть и по ночам грезится Гарринарт Поттеринг который укоризненно машет палочкой с криком авада кедавра качает головой и объясняет мне как я неправ, что удалил такой подающий надежды харвестер.

Date: 2010-03-27 05:59 pm (UTC)
From: [identity profile] d7s.livejournal.com
НЪТЪ! Шапочка из фольги НЕ СПАСАЕТ!!!!111

Date: 2010-03-27 06:01 pm (UTC)
From: [identity profile] d7s.livejournal.com
Централизованый звук позволяет такие вкусности как глобальный эквалайзер, раздельные громкости для приложений и быстрое переключение потоков туда-сюда. Мало того, оно еще и работает! %)

Date: 2010-03-27 06:02 pm (UTC)
From: [identity profile] snusmuumra.livejournal.com
ох, отстали вы безнадежно, ребятууушки.
шапочка ваша энта, вчерашний день уже.
не спасает она нисколечко.
охохонюшки-хохо.
http://www.rosbalt.ru/2010/02/21/714685.html

Date: 2010-03-27 06:03 pm (UTC)
From: [identity profile] snusmuumra.livejournal.com
ааа! операжатор детектед!

Date: 2010-03-27 06:03 pm (UTC)
From: [identity profile] tengu-crow.livejournal.com
Жесть. Значит -надцать тысячь метров редкого металла люминия были выброшены практически на ветер? Осталось проверить кому это было продест. В смысле кто сдела таки маленький гешефт на защите от инопланетной угрозы. Ви таки будете смеяться, но...

Date: 2010-03-27 06:05 pm (UTC)
From: [identity profile] d7s.livejournal.com
Red onez go fasta!

Date: 2010-03-27 06:07 pm (UTC)
From: [identity profile] tengu-crow.livejournal.com
(отмечает удивительное единодушие своих френдов по борьбе с инопланетной угрозой и страшными лучами Кей-Джи-Би)

Date: 2010-03-27 06:07 pm (UTC)
From: [identity profile] tengu-crow.livejournal.com
Олл ер ред белонг ту ас :))) В смысле А.С.Пушкин %)

Date: 2010-03-27 06:09 pm (UTC)
From: [identity profile] tengu-crow.livejournal.com
Быстро поднятное упавшим не считается как в шутку говорили римляне: "пусть будут прокляты высказывающие наши мысли раньше нас" :)

Но меня просто потрясает интерес к борьбе с инопланетным вторжением (ясное дело - учитывая мое богатое Икс-Комовское прошлое) :)
Page 1 of 4 << [1] [2] [3] [4] >>

February 2026

S M T W T F S
1234567
891011121314
1516171819 2021
22 232425262728

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 16th, 2026 01:29 am
Powered by Dreamwidth Studios