diff options
author | Rodney Ewing <ewing.rj@gmail.com> | 2013-07-02 08:09:37 -0700 |
---|---|---|
committer | Rodney Ewing <ewing.rj@gmail.com> | 2013-07-02 09:00:50 -0700 |
commit | 229308123196cbc7b3ba131da31eefb4c14d767e (patch) | |
tree | d4e2fa5962df784e9426ab241e07a084e09f6760 | |
parent | e699197258d5e1b5495e60cb2c238b3ff4f50ed4 (diff) | |
download | mediagoblin-229308123196cbc7b3ba131da31eefb4c14d767e.tar.lz mediagoblin-229308123196cbc7b3ba131da31eefb4c14d767e.tar.xz mediagoblin-229308123196cbc7b3ba131da31eefb4c14d767e.zip |
converted ascii media_type to plugin
-rw-r--r-- | mediagoblin/media_types/ascii/__init__.py | 29 | ||||
-rw-r--r-- | mediagoblin/media_types/ascii/processing.py | 6 |
2 files changed, 29 insertions, 6 deletions
diff --git a/mediagoblin/media_types/ascii/__init__.py b/mediagoblin/media_types/ascii/__init__.py index 0931e83a..bcba237c 100644 --- a/mediagoblin/media_types/ascii/__init__.py +++ b/mediagoblin/media_types/ascii/__init__.py @@ -17,15 +17,36 @@ from mediagoblin.media_types import MediaManagerBase from mediagoblin.media_types.ascii.processing import process_ascii, \ sniff_handler +from mediagoblin.tools import pluginapi + +ACCEPTED_EXTENSIONS = ["txt", "asc", "nfo"] +MEDIA_TYPE = 'mediagoblin.media_types.ascii' + + +def setup_plugin(): + config = pluginapi.get_config(MEDIA_TYPE) class ASCIIMediaManager(MediaManagerBase): human_readable = "ASCII" processor = staticmethod(process_ascii) - sniff_handler = staticmethod(sniff_handler) display_template = "mediagoblin/media_displays/ascii.html" default_thumb = "images/media_thumbs/ascii.jpg" - accepted_extensions = ["txt", "asc", "nfo"] - -MEDIA_MANAGER = ASCIIMediaManager + +def get_media_manager(media_type): + if media_type == MEDIA_TYPE: + return ASCIIMediaManager + + +def get_media_type_and_manager(ext): + if ext in ACCEPTED_EXTENSIONS: + return MEDIA_TYPE, ASCIIMediaManager + + +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/ascii/processing.py b/mediagoblin/media_types/ascii/processing.py index 2f6079be..aca784e8 100644 --- a/mediagoblin/media_types/ascii/processing.py +++ b/mediagoblin/media_types/ascii/processing.py @@ -28,17 +28,19 @@ from mediagoblin.media_types.ascii import asciitoimage _log = logging.getLogger(__name__) SUPPORTED_EXTENSIONS = ['txt', 'asc', 'nfo'] +MEDIA_TYPE = 'mediagoblin.media_types.ascii' def sniff_handler(media_file, **kw): + _log.info('Sniffing {0}'.format(MEDIA_TYPE)) 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 process_ascii(proc_state): |