From 9079eac90a4ec3dd970fc9ef457c1f3f64370a82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Vinot?= Date: Thu, 5 Nov 2015 01:41:45 +0100 Subject: [PATCH] try to fix magic --- .travis.yml | 2 +- bin/generic.py | 7 +++++-- bin/specific.py | 10 +++++++--- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6bc7dd1..b3ce57a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,6 +16,7 @@ addons: - p7zip-full install: + - pip install git+https://github.com/Rafiot/python-magic.git@travis - sudo add-apt-repository ppa:fontforge/fontforge --yes - sudo add-apt-repository ppa:coolwanglu/pdf2htmlex --yes - sudo apt-get update -qq @@ -28,7 +29,6 @@ install: - make - sudo make install - popd - - pip install python-magic - pip install lxml - pip install officedissector - if [ $(python -c 'import sys; print(sys.version_info.major)') == '2' ]; then pip install oletools olefile ; fi diff --git a/bin/generic.py b/bin/generic.py index 5f18c13..845b34e 100644 --- a/bin/generic.py +++ b/bin/generic.py @@ -50,9 +50,12 @@ class File(FileBase): self.main_type = '' self.main_type = '' try: - mimetype = magic.from_file(src_path, mime=True).decode("utf-8") + mimetype = magic.from_file(src_path, mime=True) + try: + mimetype = mimetype.decode("utf-8") + except: + pass except Exception as e: - print('************************** BROKEN', self.src_path) print('************************** BROKEN', self.src_path, e) self.make_dangerous() return diff --git a/bin/specific.py b/bin/specific.py index 9e5dbed..1f570b8 100644 --- a/bin/specific.py +++ b/bin/specific.py @@ -17,9 +17,13 @@ class FileSpec(FileBase): super(FileSpec, self).__init__(src_path, dst_path) a, self.extension = os.path.splitext(self.src_path) try: - self.mimetype = magic.from_file(self.src_path, mime=True).decode("utf-8") - except: - print('************************** BROKEN', self.src_path) + self.mimetype = magic.from_file(self.src_path, mime=True) + try: + self.imetype = self.mimetype.decode("utf-8") + except: + pass + except Exception as e: + print('************************** BROKEN', self.src_path, e) class KittenGroomerSpec(KittenGroomerBase):