diff options
-rw-r--r-- | mediagoblin/plugins/api/views.py | 5 | ||||
-rw-r--r-- | mediagoblin/processing/task.py | 3 | ||||
-rw-r--r-- | mediagoblin/submit/lib.py | 12 | ||||
-rw-r--r-- | mediagoblin/submit/views.py | 5 |
4 files changed, 18 insertions, 7 deletions
diff --git a/mediagoblin/plugins/api/views.py b/mediagoblin/plugins/api/views.py index 7383e20d..2055a663 100644 --- a/mediagoblin/plugins/api/views.py +++ b/mediagoblin/plugins/api/views.py @@ -86,7 +86,10 @@ def post_entry(request): # # (... don't change entry after this point to avoid race # conditions with changes to the document via processing code) - run_process_media(entry, request) + feed_url = request.urlgen( + 'mediagoblin.user_pages.atom_feed', + qualified=True, user=request.user.username) + run_process_media(entry, feed_url) return json_response(get_entry_serializable(entry, request.urlgen)) diff --git a/mediagoblin/processing/task.py b/mediagoblin/processing/task.py index 2cdd5f1a..e9bbe084 100644 --- a/mediagoblin/processing/task.py +++ b/mediagoblin/processing/task.py @@ -94,7 +94,8 @@ class ProcessMedia(task.Task): entry.save() # Notify the PuSH servers as async task - handle_push_urls.subtask().delay(feed_url) + if mgg.app_config["push_urls"] and feed_url: + handle_push_urls.subtask().delay(feed_url) json_processing_callback(entry) except BaseProcessingFail as exc: diff --git a/mediagoblin/submit/lib.py b/mediagoblin/submit/lib.py index ba07c6fa..679fc543 100644 --- a/mediagoblin/submit/lib.py +++ b/mediagoblin/submit/lib.py @@ -54,10 +54,14 @@ def prepare_queue_task(app, entry, filename): return queue_file -def run_process_media(entry, request): - feed_url = request.urlgen( - 'mediagoblin.user_pages.atom_feed', - qualified=True, user=request.user.username) +def run_process_media(entry, feed_url=None): + """Process the media asynchronously + + :param entry: MediaEntry() instance to be processed. + :param feed_url: A string indicating the feed_url that the PuSH servers + should be notified of. This will be sth like: `request.urlgen( + 'mediagoblin.user_pages.atom_feed',qualified=True, + user=request.user.username)`""" try: process_media.apply_async( [entry.id, feed_url], {}, diff --git a/mediagoblin/submit/views.py b/mediagoblin/submit/views.py index 145b9f5e..49ab4230 100644 --- a/mediagoblin/submit/views.py +++ b/mediagoblin/submit/views.py @@ -89,7 +89,10 @@ def submit_start(request): # # (... don't change entry after this point to avoid race # conditions with changes to the document via processing code) - run_process_media(entry, request) + feed_url = request.urlgen( + 'mediagoblin.user_pages.atom_feed', + qualified=True, user=request.user.username) + run_process_media(entry, feed_url) add_message(request, SUCCESS, _('Woohoo! Submitted!')) return redirect(request, "mediagoblin.user_pages.user_home", |