skip audio reprocessing if necessary
[mediagoblin.git] / mediagoblin / tools / files.py
CommitLineData
03ae172a 1# GNU MediaGoblin -- federated, autonomous media hosting
cf29e8a8 2# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS.
03ae172a
AW
3#
4# This program is free software: you can redistribute it and/or modify
5# it under the terms of the GNU Affero General Public License as published by
6# the Free Software Foundation, either version 3 of the License, or
7# (at your option) any later version.
8#
9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12# GNU Affero General Public License for more details.
13#
14# You should have received a copy of the GNU Affero General Public License
15# along with this program. If not, see <http://www.gnu.org/licenses/>.
16
17from mediagoblin import mg_globals
18
fb2fbe2c 19
03ae172a
AW
20def delete_media_files(media):
21 """
22 Delete all files associated with a MediaEntry
23
24 Arguments:
25 - media: A MediaEntry document
26 """
6d539afd 27 no_such_files = []
228c4470 28 for listpath in media.media_files.itervalues():
fb2fbe2c
JAN
29 try:
30 mg_globals.public_store.delete_file(
31 listpath)
32 except OSError:
1ec85bb3 33 no_such_files.append("/".join(listpath))
03ae172a 34
35029581 35 for attachment in media.attachment_files:
fb2fbe2c
JAN
36 try:
37 mg_globals.public_store.delete_file(
38 attachment['filepath'])
39 except OSError:
df5b142a 40 no_such_files.append("/".join(attachment['filepath']))
fb2fbe2c 41
6d539afd 42 if no_such_files:
118bafbd 43 raise OSError(", ".join(no_such_files))