mglib/mglib/mime.py

41 lines
874 B
Python

import logging
from pmworker import wrapper
logger = logging.getLogger(__name__)
class Mime(wrapper.Wrapper):
def __init__(self, filepath):
super().__init__(exec_name="file")
self.filepath = filepath
def get_cmd(self):
cmd = super().get_cmd()
cmd.extend(['--mime-type'])
cmd.extend(['-b'])
cmd.extend([self.filepath])
return cmd
def is_tiff(self):
return self.guess() == 'image/tiff'
def is_pdf(self):
return self.guess() == 'application/pdf'
def is_image(self):
"""
Returns true if MIME type is one of following:
* image/png
* image/jpg
"""
return self.guess() in ('image/png', 'image/jpg')
def guess(self):
cmd = self.get_cmd()
complete = self.run(cmd)
return complete.stdout.strip()