diff options
author | Joar Wandborg <git@wandborg.com> | 2011-08-30 23:16:46 +0200 |
---|---|---|
committer | Joar Wandborg <git@wandborg.com> | 2011-08-30 23:16:46 +0200 |
commit | 502073f2bf65380be18b349a678ac075777889a4 (patch) | |
tree | 9472a0644926b2df8316d1f92fee53ebe58ae15c /mediagoblin/util.py | |
parent | 7d0efbae2955cf58eed86daa30cd3507c9088269 (diff) | |
download | mediagoblin-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.py | 15 |
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']) |