More steps towards a working reprocessing system.
authorChristopher Allan Webber <cwebber@dustycloud.org>
Thu, 8 Aug 2013 18:53:28 +0000 (13:53 -0500)
committerRodney Ewing <ewing.rj@gmail.com>
Fri, 16 Aug 2013 22:30:15 +0000 (15:30 -0700)
Fleshing out the base classes and setting up some docstrings.  Not
everything is totally clear yet, but I think it's on a good track, and
getting clearer.

This commit sponsored by Ben Finney, on behalf of Free Software Melbourne.
Thank you all!

mediagoblin/processing/__init__.py

index 41028fbb4decf3302553f2d8f86b6391df4b39fd..66ef2a5348e176a501f8cd20822b39bc785bbf20 100644 (file)
@@ -114,6 +114,10 @@ class MediaProcessor(object):
     def __init__(self, manager):
         self.manager = manager
 
+        # Should be initialized at time of processing, at least
+        self.workbench = None
+
+    # @with_workbench
     def process(self, **kwargs):
         """
         Actually process this media entry.
@@ -142,13 +146,12 @@ class MediaProcessor(object):
 
 
 class ProcessingManager(object):
-    """
-    """
-    def __init__(self, entry):
-        self.entry = entry
-        # May merge these two classes soon....
-        self.state = ProcessingState(entry)
+    """Manages all the processing actions available for a media type
 
+    Specific processing actions, MediaProcessor subclasses, are added
+    to the ProcessingManager.
+    """
+    def __init__(self):
         # Dict of all MediaProcessors of this media type
         self.processors = {}
 
@@ -162,7 +165,7 @@ class ProcessingManager(object):
         
         self.processors[name] = processor
 
-    def list_eligible_processors(self):
+    def list_eligible_processors(self, entry):
         """
         List all processors that this media entry is eligible to be processed
         for.
@@ -170,9 +173,16 @@ class ProcessingManager(object):
         return [
             processor
             for processor in self.processors.keys()
-            if processor.media_is_eligible(self.entry)]
+            if processor.media_is_eligible(entry)]
+
+    def gen_process_request_via_cli(self, subparser):
+        # Got to figure out what actually goes here before I can write this properly
+        pass
 
-    def process(self, directive, request):
+    def process(self, entry, directive, request):
+        """
+        Process a media entry.
+        """
         pass