aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/util.py
diff options
context:
space:
mode:
authorJoar Wandborg <git@wandborg.com>2011-08-30 23:16:46 +0200
committerJoar Wandborg <git@wandborg.com>2011-08-30 23:16:46 +0200
commit502073f2bf65380be18b349a678ac075777889a4 (patch)
tree9472a0644926b2df8316d1f92fee53ebe58ae15c /mediagoblin/util.py
parent7d0efbae2955cf58eed86daa30cd3507c9088269 (diff)
downloadmediagoblin-502073f2bf65380be18b349a678ac075777889a4.tar.lz
mediagoblin-502073f2bf65380be18b349a678ac075777889a4.tar.xz
mediagoblin-502073f2bf65380be18b349a678ac075777889a4.zip
Feature #403 - Ability to delete media entries - Fixes according to feedback
* Moved `mediagoblin.confirm` stuff to `mediagoblin.user_pages`, templates too. * Removed route extension for `mediagoblin.confirm` * Created `delete_media_files` which deletes all media files on the public_store when the entry is deleted * Created a new decorator to check if a user has the permission to delete an entry.
Diffstat (limited to 'mediagoblin/util.py')
-rw-r--r--mediagoblin/util.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/mediagoblin/util.py b/mediagoblin/util.py
index ba4ac01e..27c81f3a 100644
--- a/mediagoblin/util.py
+++ b/mediagoblin/util.py
@@ -681,3 +681,18 @@ def render_404(request):
"""
return render_to_response(
request, 'mediagoblin/404.html', {}, status=400)
+
+def delete_media_files(media):
+ """
+ Delete all files associated with a MediaEntry
+
+ Arguments:
+ - media: A MediaEntry document
+ """
+ for handle, listpath in media['media_files'].items():
+ mg_globals.public_store.delete_file(
+ listpath)
+
+ for attachment in media['attachment_files']:
+ mg_globals.public_store.delete_file(
+ attachment['filepath'])