вторник, 19 ноября 2013 г.

Экспорт данных Facebook из SocialSafe-бэкапа в HTML

Продолжил домашние/непрофессиональные игры с Perl: создал новую версию скрипта для вывода в виде HTML-файлов данных Facebook, забэкапленных программой SocialSafe v 6.6.0.

Основные отличия от старой версии:
  • Работа скрипта полностью автоматическая. Он сам находит все нужные базы, папки  с картинками и копирует все это в текущий каталог;
  • Есть возможность извлекать данные начиная с определенной даты - достаточно сообщить ее в виде параметра скрипта в формате  дд.мм.гггг при его запуске с командной строки.
  • Скрипт скомпилирован в EXE, для его запуска больше не нужен Perl.

На выходе получается набор файлов, которые можно просматривать обычным файл-менеджером:


На скрипт действуют все возможные дисклеймеры: он создан для бытовых нужд, потому работает и ладно, никакие претензии не принимаются. Открытый исходный код прилагается.

Загрузки:


Упакованный в ZIP EXE-файл
(в результате компиляции - большой размер!)
Версия 6 с исправлением ошибок.  


MD5 ZIP-файлов
f0aefefcc8cd3e48288643fcafec797f *fb_socialsafe_exe_v6.zip
b4902b000ba2691c86f0aaee39410c4a *fb_socialsafe_v6.zip




Старые версии
Версия 5
Исходный код Perl
Упакованый в ZIP EXE-файл 
MD5
fb_socialsafe_v5.zip 4bfb8cea8f468068d103ef21ab2c2d2f



вторник, 12 февраля 2013 г.

Утилиты дедупликации файлов

В результате  тестирования под свои нужды множества утилит поиска дублирующихся файлов я выбрал японскую утилитку FileMany. В ней хорошо то, что даже в бесплатной версии есть 90% нужных функций.
Мне эта программа нужна была для поиска дублей в разных архивах данных одного и того же проекта. Иначе говоря, есть "последняя копия" и я хотел удалить все дубли из предыдущих копий.




Сильные стороны:
  • Несколько алгоритмов сравнения, от медленного, но точного, до менее точного, но более быстрого.
  • Возможность заблокировать определенные подкаталоги и диски от изменений (Lock), что позволяет сравнивать два похожих каталога, и удалять файлы только из одного из них.
  • Возможность массово отметить к удалению все файлы в определенном каталоге и подкаталогах (выбирается через контекстное меню).
  • Есть поиск по списку результатов, сортировки.
  • Удаление в корзину.
  • Критерии отбора сравниваемых файлов.
  • Сохранение и импорт результатов поиска (проекта).
  • Работа без существенных ошибок.
Слабые стороны:
  • Потребляет очень много памяти. В экспериментах объем доходил до 10 ГБ, особенно странно, что память потребляется на этапе удаления файлов (в корзину).
  • Дубли нельзя переместить в специальную папку с сохранением иерархии папок, перемещение возможно только в плоскую структуру.

Другие неплохие программы:
  • Fast Duplicate File Finder. Программа немецких разработчиков быстра и точна, но основные "удобства" имеются только в платной версии.
  • Duplicate Cleaner. Неплохая программа, со многими удобствами, но по каким-то причинам находит не все дубли. Также потребляет много памяти и подвисает при удалении  файлов в корзину и перемещении их в папку.
  • Duplicate & Same Files Searcher. Российская программа, в основном интересная тем, что дубли можно не удалять, а заменять жесткими ссылками NTFS. Зачем то требует прав администратора.

понедельник, 11 февраля 2013 г.

Как извлечь отметки, сделанные в прочитанной в iBooks книге(iPad/iPhone)

How to extract notes and their context from book read in iBooks.

iBooks отличная читалка для книг, и даже позволяет экспортировать сделанные при чтении отметки, но к сожалению контекст этих отметок при экспорте теряется.

Для решения этой проблемы я написал небольшой скрипт на языке Perl. Скрипт относится к категории "кустарная поделка для личных нужд" и никакие претензии к нему не принимаются.

Процедура извлечения данных из iBooks при его помощи выглядит следующим образом.

1.Подготовка: требуется скачать и установить на PC интерпретатор ActivePerl и средство для извлечения данных из iPad архивов iPhone Backup Extractor. Для наших целей подойдет бесплатная версия последнего, позволяющая извлекать всего два файла за раз.

2. Подключить iPad к PС и iTunes, и дождаться когда будет сделана резервная копия данных

3. Запустить iPhone Backup Extractor, перейти в Expert режим, найти папки с файлами iBooks (BKLibrary_ и storeFiles) и отметить файлы, начинающиеся с iBooks_  и AEAnnotation_. Затем нажать кнопку Extract Selected.




4. Найти извлеченные файлы на диске и скопировать их в  ту же паку, где находится скрипт.

5. Запустить скрипт с командной строки (cmd.exe).

Код скрипта здесь (его нужно распаковать, исполняемый файл имеет расширение .pl ): iPad_dump_annotations_bybook_v9

В каталоге должно появиться много файлов c расширением HTML, каждый из которых соответствует отдельной книге. Внутри файлы структурированы в виде дерева, стволом которого являются ваши заметки к книге, а листьями - выделенные "фломастером" участки текста книги, отсортированные в порядке их создания.

PS1. Естественно, сами файлы с исходными данными можно взять не из резервной копии, а напрямую с iPad, например, при помощи программы DiskAid.

PS2. Скрипт проверен для iBooks 2.5, для более поздних версий программа, он не проверялся.

PS3. Скрипт работает только для книг, не защищенных DRM.