From 62f7052103ef2000f9acc013f923180f8d52537a Mon Sep 17 00:00:00 2001 From: Valeriy Mironov Date: Tue, 30 Mar 2021 20:14:33 +0300 Subject: [PATCH] Use priority value of 50 for magic matches without priority set --- lib/marcel/tables.rb | 42 +++++++++--------- script/generate_tables.rb | 4 +- .../vnd.oasis.opendocument.spreadsheet.ods | Bin 0 -> 6948 bytes .../vnd.oasis.opendocument.text.odt | Bin 0 -> 7931 bytes 4 files changed, 23 insertions(+), 23 deletions(-) create mode 100644 test/fixtures/magic/application/vnd.oasis.opendocument.spreadsheet/vnd.oasis.opendocument.spreadsheet.ods create mode 100644 test/fixtures/magic/application/vnd.oasis.opendocument.text/vnd.oasis.opendocument.text.odt diff --git a/lib/marcel/tables.rb b/lib/marcel/tables.rb index 2b3c2a2..a4f768b 100644 --- a/lib/marcel/tables.rb +++ b/lib/marcel/tables.rb @@ -2240,6 +2240,7 @@ module Marcel ['video/x-ogm', [[0, 'OggS', [[29, 'ideo']]]]], ['application/x-msdownload;format=pe', [[0, 'MZ', [[128, "PE\000\000"], [176, "PE\000\000"], [208, "PE\000\000"], [240, "PE\000\000"]]]]], ['application/applefile', [[0, "\000\005\026\000"]]], + ['application/dash+xml', [[0, '\""]]], ['application/vnd.ms-works', [[0..8, "\320\317\021\340\241\261\032\341", [[1152..4096, "M\000a\000t\000O\000S\000T"]]]]], + ['application/vnd.oasis.opendocument.chart', [[0, 'PK', [[30, 'mimetypeapplication/vnd.oasis.opendocument.chart']]]]], + ['application/vnd.oasis.opendocument.chart-template', [[0, 'PK', [[30, 'mimetypeapplication/vnd.oasis.opendocument.chart-template']]]]], + ['application/vnd.oasis.opendocument.formula', [[0, 'PK', [[30, 'mimetypeapplication/vnd.oasis.opendocument.formula']]]]], + ['application/vnd.oasis.opendocument.formula-template', [[0, 'PK', [[30, 'mimetypeapplication/vnd.oasis.opendocument.formula-template']]]]], + ['application/vnd.oasis.opendocument.graphics', [[0, 'PK', [[30, 'mimetypeapplication/vnd.oasis.opendocument.graphics']]]]], + ['application/vnd.oasis.opendocument.graphics-template', [[0, 'PK', [[30, 'mimetypeapplication/vnd.oasis.opendocument.graphics-template']]]]], + ['application/vnd.oasis.opendocument.image', [[0, 'PK', [[30, 'mimetypeapplication/vnd.oasis.opendocument.image']]]]], + ['application/vnd.oasis.opendocument.image-template', [[0, 'PK', [[30, 'mimetypeapplication/vnd.oasis.opendocument.image-template']]]]], + ['application/vnd.oasis.opendocument.presentation', [[0, 'PK', [[30, 'mimetypeapplication/vnd.oasis.opendocument.presentation']]]]], + ['application/vnd.oasis.opendocument.presentation-template', [[0, 'PK', [[30, 'mimetypeapplication/vnd.oasis.opendocument.presentation-template']]]]], + ['application/vnd.oasis.opendocument.spreadsheet', [[0, 'PK', [[30, 'mimetypeapplication/vnd.oasis.opendocument.spreadsheet']]]]], + ['application/vnd.oasis.opendocument.spreadsheet-template', [[0, 'PK', [[30, 'mimetypeapplication/vnd.oasis.opendocument.spreadsheet-template']]]]], + ['application/vnd.oasis.opendocument.text', [[0, 'PK', [[30, 'mimetypeapplication/vnd.oasis.opendocument.text']]]]], + ['application/vnd.oasis.opendocument.text-master', [[0, 'PK', [[30, 'mimetypeapplication/vnd.oasis.opendocument.text-master']]]]], + ['application/vnd.oasis.opendocument.text-template', [[0, 'PK', [[30, 'mimetypeapplication/vnd.oasis.opendocument.text-template']]]]], + ['application/vnd.oasis.opendocument.text-web', [[0, 'PK', [[30, 'mimetypeapplication/vnd.oasis.opendocument.text-web']]]]], ['application/vnd.rn-realmedia', [[0, '.RMF']]], ['application/vnd.stardivision.calc', [[0..8, "\320\317\021\340\241\261\032\341", [[2048..2207, 'StarCalc']]]]], ['application/vnd.stardivision.draw', [[0..8, "\320\317\021\340\241\261\032\341", [[2048..2207, 'StarDraw']]]]], ['application/vnd.stardivision.impress', [[0..8, "\320\317\021\340\241\261\032\341", [[2048..2207, 'StarImpress']]]]], ['application/vnd.stardivision.writer', [[0..8, "\320\317\021\340\241\261\032\341", [[2048..2207, 'StarWriter']]]]], + ['application/vnd.sun.xml.writer', [[0, 'PK', [[30, 'mimetypeapplication/vnd.sun.xml.writer']]]]], ['application/vnd.symbian.install', [[8, "\031\004\000\020"]]], ['application/vnd.tcpdump.pcap', [[0, "\241\262\303\324"], [0, "\324\303\262\241"]]], ['application/vnd.wolfram.wl', [[0, '#!/usr/bin/env wolframscript']]], @@ -2316,6 +2335,7 @@ module Marcel ['application/x-erdas-hfa', [[0, 'EHFA_HEADER_TAG']]], ['application/x-executable', [[0, "\177ELF", [[16, "\002\000"], [16, "\000\002"]]]]], ['application/x-filemaker', [[14, "\300HBAM7", [[525, "HBAM2101OCT99\301\002H\aPro 7.0\300\300"]]]]], + ['application/x-foxmail', [[0, "\020\020\020\020\020\020\020\021\021\021\021\021\021S"]]], ['application/x-gnumeric', [[39, '= [-b[0],b[1]] } +magics = magics.sort_by { |priority, type| [-priority, type] } common_types = [ "image/jpeg", # .jpg diff --git a/test/fixtures/magic/application/vnd.oasis.opendocument.spreadsheet/vnd.oasis.opendocument.spreadsheet.ods b/test/fixtures/magic/application/vnd.oasis.opendocument.spreadsheet/vnd.oasis.opendocument.spreadsheet.ods new file mode 100644 index 0000000000000000000000000000000000000000..5c53a94b5bc43b2def350efde25dccb6fbbed26c GIT binary patch literal 6948 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 w