diff options
author | Rodney Ewing <ewing.rj@gmail.com> | 2013-07-02 08:48:47 -0700 |
---|---|---|
committer | Rodney Ewing <ewing.rj@gmail.com> | 2013-07-02 09:00:57 -0700 |
commit | 51e4e435046d043fd26da9ae5160a6ec3b7313f2 (patch) | |
tree | 16d2825c06f3487138b01c01aa27353ea1e86142 | |
parent | df68438a34d3e913b78540216e1d9cc66ffbc401 (diff) | |
download | mediagoblin-51e4e435046d043fd26da9ae5160a6ec3b7313f2.tar.lz mediagoblin-51e4e435046d043fd26da9ae5160a6ec3b7313f2.tar.xz mediagoblin-51e4e435046d043fd26da9ae5160a6ec3b7313f2.zip |
converted pdf media_type to plugin
-rw-r--r-- | mediagoblin/media_types/pdf/__init__.py | 26 | ||||
-rw-r--r-- | mediagoblin/media_types/pdf/processing.py | 9 |
2 files changed, 29 insertions, 6 deletions
diff --git a/mediagoblin/media_types/pdf/__init__.py b/mediagoblin/media_types/pdf/__init__.py index f0ba7867..c180507c 100644 --- a/mediagoblin/media_types/pdf/__init__.py +++ b/mediagoblin/media_types/pdf/__init__.py @@ -17,15 +17,35 @@ from mediagoblin.media_types import MediaManagerBase from mediagoblin.media_types.pdf.processing import process_pdf, \ sniff_handler +from mediagoblin.tools import pluginapi + +ACCEPTED_EXTENSIONS = ['pdf'] +MEDIA_TYPE = 'mediagoblin.media_types.pdf' + + +def setup_plugin(): + config = pluginapi.get_config(MEDIA_TYPE) class PDFMediaManager(MediaManagerBase): human_readable = "PDF" processor = staticmethod(process_pdf) - sniff_handler = staticmethod(sniff_handler) display_template = "mediagoblin/media_displays/pdf.html" default_thumb = "images/media_thumbs/pdf.jpg" - accepted_extensions = ["pdf"] -MEDIA_MANAGER = PDFMediaManager +def get_media_manager(media_type): + if media_type == MEDIA_TYPE: + return PDFMediaManager + + +def get_media_type_and_manager(ext): + if ext in ACCEPTED_EXTENSIONS: + return MEDIA_TYPE, PDFMediaManager + +hooks = { + 'setup': setup_plugin, + 'get_media_type_and_manager': get_media_type_and_manager, + 'sniff_handler': sniff_handler, + 'get_media_manager': get_media_manager, +} diff --git a/mediagoblin/media_types/pdf/processing.py b/mediagoblin/media_types/pdf/processing.py index 49742fd7..a1eeb307 100644 --- a/mediagoblin/media_types/pdf/processing.py +++ b/mediagoblin/media_types/pdf/processing.py @@ -25,6 +25,8 @@ from mediagoblin.tools.translate import fake_ugettext_passthrough as _ _log = logging.getLogger(__name__) +MEDIA_TYPE = 'mediagoblin.media_types.pdf' + # TODO - cache (memoize) util # This is a list created via uniconv --show and hand removing some types that @@ -163,16 +165,17 @@ def check_prerequisites(): return True def sniff_handler(media_file, **kw): + _log.info('Sniffing {0}'.format(MEDIA_TYPE)) if not check_prerequisites(): - return False + return None if kw.get('media') is not None: name, ext = os.path.splitext(kw['media'].filename) clean_ext = ext[1:].lower() if clean_ext in supported_extensions(): - return True + return MEDIA_TYPE - return False + return None def create_pdf_thumb(original, thumb_filename, width, height): # Note: pdftocairo adds '.png', remove it |