Конвертировать MIME-тип из спецификации freededesktop в формат libmagic - PullRequest
0 голосов
/ 05 июля 2011

После прочтения shared-mime-info spec и добавления моих собственных типов в / usr / share / mime / packages. Я обновил базу данных:

$ update-mime-database /usr/share/mime

У меня есть попытка с gvfs-info, он возвращает правильную пантомиму. Поэтому в командном файле unix используют libmagic, а libmagic использует свою собственную базу данных / usr / share / misc / magic. Я хотел бы знать, если они способ конвертировать XML-файл в волшебный файл для libmagic?

1 Ответ

2 голосов
/ 16 января 2012

Вы не можете.Ваша база данных mime и libmagick выполняют две разные функции и предназначены для совместного использования.Libmagick считывает «магический номер» в заголовке файла, чтобы определить, что это за файл и каковы расширения файла вашей карты базы данных MIME до его MIME-типа.

Попробуйте сначала определить файл по его расширению и используйте libmagick в качестве резервной копии на тот случай, если вы столкнетесь с файлом без расширения.

Вы не хотите просто использовать libmagick, потому что нет файлагарантированно будет иметь это «магическое число» в заголовке.Получить хорошую поддержку для правильного определения каждого файла mimetype каждый раз может быть сложно.

Если вы хотите читать файлы .desktop, используйте ini-парсер.

...