Observer — распаковка файлов из различных контейнеров

Здесь можно обсудить ваш любимый плагин.
Ariman
Posts: 1264
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 35 times
Contact:

Observer — распаковка файлов из различных контейнеров

Post by Ariman »

Тема для обсуждения плагина Observer.
Плагин предназначен только для распаковки файлов. Запаковка/редактирование архивов не планируется.

Хотелки/баги:

Известные проблемы:

Планируемые новые модули:

Если "ничего не работает", то прежде чем писать сюда:


Сторонние модули:
Dir — поддержка вывода команд dir и ls в качестве виртуального архива. (на версии 1.10 работать не будет в связи с изменением API модулей)
Inno Setup - поддержка файлов Inno Setup (сделан на основе innounp).

Скачать последнюю сборку
Last edited by Ariman on Tue 26 Nov, 2019 11:25, edited 1 time in total.

2useven10
Posts: 4000
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 179 times

Re: Observer — распаковка файлов из различных контейнеров

Post by 2useven10 »

Latest post of the previous page:

отвалился при открытии MacOS.vmdk
имеет смысл давать детали, или просто не поддерживается?

User avatar
HaRT
Moderator
Posts: 9238
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 93 times
Been thanked: 197 times

Re: Observer — распаковка файлов из различных контейнеров

Post by HaRT »

Ariman wrote:Моё предложение по поводу опции, которая будет разрешать отсутствие пустой строки между заголовком и телом, в силе.
А как тогда при включенной этой гипотетической опции будет определяться, затесалась ли посередь заголовка левая строка или это заголовок закончился?
Ariman wrote:К одинаковым имена циферки добавляются, чтобы файлы различать.
Означает ли это, что и на панели имена файлов буду с циферками? Это было бы очень неудобно по двум причинам: (1) непонятно, где циферки исходно, а где от плагина; (2) неудобно копировать исходное имя файла.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Ariman
Posts: 1264
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 35 times
Contact:

Re: Observer — распаковка файлов из различных контейнеров

Post by Ariman »

2useven10 wrote:отвалился при открытии MacOS.vmdk
имеет смысл давать детали, или просто не поддерживается?
Если упало, то конечно имеет. Насчёт поддержки, вроде в DiskUtils добавили поддержку маковских разделов, но у меня не получилось заставить её работать. Пытался на dmg инсталяхе MacOS, сам контейнер распарсило, а файловую систему не распознало. Глубже не ковырял.
HaRT wrote:А как тогда при включенной этой гипотетической опции будет определяться, затесалась ли посередь заголовка левая строка или это заголовок закончился?
Посередине левые строки не могут быть. Логика там такая: первая строка не в формате заголовка считается началом тела. Это оригинальная логика GMime-а, которую я запатчил. Там даже в комментарии написано, что для поддержки кривых программ, которые заголовок и тело не разделяют строкой :) Я подозреваю, что в таком ключе большинство программ парсит.
HaRT wrote:Означает ли это, что и на панели имена файлов буду с циферками? Это было бы очень неудобно по двум причинам: (1) непонятно, где циферки исходно, а где от плагина; (2) неудобно копировать исходное имя файла.
Да, на панели будут с циферками. Собственно, так все модули сейчас и работают. Можно легко найти пример в NSIS и MSI файлах. Где циферки плагина понять не сложно, номер отделяется запятой от имени файла, и в природе такое редко встречается. А вот имена копировать будет неудобно, да.

User avatar
HaRT
Moderator
Posts: 9238
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 93 times
Been thanked: 197 times

Re: Observer — распаковка файлов из различных контейнеров

Post by HaRT »

Ariman wrote:Логика там такая: первая строка не в формате заголовка считается началом тела. Это оригинальная логика GMime-а, которую я запатчил. Там даже в комментарии написано, что для поддержки кривых программ, которые заголовок и тело не разделяют строкой
Я не против такой опции, но запросто обойдусь пока и без неё. Предлагаю записать её в список хотелок, чтобы не забылось.
Ariman wrote:Да, на панели будут с циферками. Собственно, так все модули сейчас и работают. Можно легко найти пример в NSIS и MSI файлах.
Насколько принципиально это поведение? Я-то предпочёл бы, чтобы хотя бы опционально исходно одинаковые имена оставались таковыми и на панели плагина. Хотя ещё надо посмотреть, насколько часты будут конфликты имён.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
John Doe
Бюрократ
Posts: 12601
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 35 times
Been thanked: 260 times

Re: Observer — распаковка файлов из различных контейнеров

Post by John Doe »

HaRT wrote:Я-то предпочёл бы, чтобы хотя бы опционально исходно одинаковые имена оставались таковыми и на панели плагина.
Я тоже.
HaRT wrote:Хотя ещё надо посмотреть, насколько часты будут конфликты имён.
Будут часты, это факт.
Но что если эти конфликты решать на этапе распаковки?

Ariman
Posts: 1264
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 35 times
Contact:

Re: Observer — распаковка файлов из различных контейнеров

Post by Ariman »

HaRT wrote:Я-то предпочёл бы, чтобы хотя бы опционально исходно одинаковые имена оставались таковыми и на панели плагина.
John Doe wrote:Я тоже.
Добавил хотелку.
HaRT wrote:Предлагаю записать её в список хотелок, чтобы не забылось.
Записал.
John Doe wrote:Но что если эти конфликты решать на этапе распаковки?
Тут разве что можно предложить добавить в диалог перезаписи новые кнопки [Rename] и [Rename All]. Если делать автоматическую переименовку, то тут удовлетворить все случаи будет сложно.

User avatar
John Doe
Бюрократ
Posts: 12601
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 35 times
Been thanked: 260 times

Re: Observer — распаковка файлов из различных контейнеров

Post by John Doe »

Ariman wrote:Если делать автоматическую переименовку, то тут удовлетворить все случаи будет сложно.
Если файл в папке уже был до начала распаковки, то автоматически переименовывать вряд ли стоит.
Но наверно можно отследить это?

Впрочем, это слишком мудро, не стоит.

User avatar
John Doe
Бюрократ
Posts: 12601
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 35 times
Been thanked: 260 times

Re: Observer — распаковка файлов из различных контейнеров

Post by John Doe »

John Doe wrote:
HaRT wrote:Я-то предпочёл бы, чтобы хотя бы опционально исходно одинаковые имена оставались таковыми и на панели плагина.
Я тоже.
Но с другой стороны, то что эти файлы сразу "помечены" цифрами, тоже полезно: обращает внимание.

User avatar
HaRT
Moderator
Posts: 9238
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 93 times
Been thanked: 197 times

Re: Observer — распаковка файлов из различных контейнеров

Post by HaRT »

John Doe wrote:то что эти файлы сразу "помечены" цифрами, тоже полезно: обращает внимание.
В таком случае лучше бы какой-нибудь менее распространённый символ, нежели запятая. Эх, жаль, что двоеточие или прямая косая черта неизбежно вызовут проблемы при распаковке…
Впрочем, внимание я бы лучше привлекал другими признаками: например, Number of hard links.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
John Doe
Бюрократ
Posts: 12601
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 35 times
Been thanked: 260 times

Re: Observer — распаковка файлов из различных контейнеров

Post by John Doe »

HaRT wrote:Эх, жаль, что двоеточие или прямая косая черта неизбежно вызовут проблемы при распаковке…
Отчего же. Плагин может их переименовывать.
HaRT wrote:Впрочем, внимание я бы лучше привлекал другими признаками: например, Number of hard links.
Неплохая мысль.
А некоторые по сути и есть хардлинки.

2useven10
Posts: 4000
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 179 times

Re: Observer — распаковка файлов из различных контейнеров

Post by 2useven10 »

ещё падение на 2k.vmdk диске (не такое как на MacOS, но диск в разы меньше, запакованный наверное можно и выложить)...

2useven10
Posts: 4000
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 179 times

Re: Observer — распаковка файлов из различных контейнеров

Post by 2useven10 »

Вообще у меня все образы систем <= 2к не открываются (2k, nt4, 98, 95)

2useven10
Posts: 4000
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 179 times

Re: Observer — распаковка файлов из различных контейнеров

Post by 2useven10 »

На FreeBSD.vmdk - нет приложений для открытия этого типа файлов

Ariman
Posts: 1264
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 35 times
Contact:

Re: Observer — распаковка файлов из различных контейнеров

Post by Ariman »

John Doe wrote:Отчего же. Плагин может их переименовывать.
А где гарантия, что уже нет файла с таким же именем, какой будет у переименованного файла? :)
John Doe wrote:А некоторые по сути и есть хардлинки.
Если и есть то очень редко. В NSIS-е, например, дубликаты мержатся и выводятся файлы только с разным содержимым, хоть и с одинаковым именем.
2useven10 wrote:запакованный наверное можно и выложить
Вот это было бы неплохо. Чтобы можно было предметно мучить автора DiscUtils. Если не хочется в публичный доступ выкладывать, можно договориться через приват, аську, etc
2useven10 wrote:На FreeBSD.vmdk - нет приложений для открытия этого типа файлов
А какая там файловая система то? Сам vmdk то файлы не хранит, надо партиции в нативной fs разбирать. А либа не все поддерживает.

User avatar
John Doe
Бюрократ
Posts: 12601
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 35 times
Been thanked: 260 times

Re: Observer — распаковка файлов из различных контейнеров

Post by John Doe »

Ariman wrote:
John Doe wrote:Отчего же. Плагин может их переименовывать.
А где гарантия, что уже нет файла с таким же именем, какой будет у переименованного файла? :)
Гарантии нет и без переименования. Не понял вопроса.
Ariman wrote:
John Doe wrote:А некоторые по сути и есть хардлинки.
Если и есть то очень редко. В NSIS-е, например, дубликаты мержатся и выводятся файлы только с разным содержимым, хоть и с одинаковым именем.
Ок, но как насчёт всё-таки применить это в плагине?

Ariman
Posts: 1264
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 35 times
Contact:

Re: Observer — распаковка файлов из различных контейнеров

Post by Ariman »

John Doe wrote:Гарантии нет и без переименования. Не понял вопроса.
Ну я так понял идея применения запрещённых символов в том, чтобы не было коллизий с другими файлами. Но при переименовании в процессе распаковки мы возвращаемся к тому с чего начали.
John Doe wrote:Ок, но как насчёт всё-таки применить это в плагине?
Я, если честно, не очень понял что предлагается сделать то. В апи вроде нет понятия хардлинков.

Post Reply

Return to “Обсуждение плагинов”