mglib/mglib/mime.py

47 lines
1.0 KiB
Python
Raw Permalink Normal View History

import logging
from . import wrapper
2020-08-11 19:47:35 +02:00
from .conf import settings
logger = logging.getLogger(__name__)
class Mime(wrapper.Wrapper):
def __init__(self, filepath):
2020-08-11 19:47:35 +02:00
super().__init__(exec_name=settings.BINARY_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
"""
2020-07-16 15:02:20 +02:00
return self.guess() in ('image/png', 'image/jpg', 'image/jpeg')
def guess(self):
cmd = self.get_cmd()
complete = self.run(cmd)
return complete.stdout.strip()
2020-07-16 15:02:20 +02:00
def __str__(self):
mime_type = self.guess()
return f"Mime({self.filepath}, {mime_type})"