From 4b860cb823fd160742ab050f481eb65e389f9a7b Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 12 Aug 2011 19:59:19 -0500 Subject: Create processing errors and raise BadMediaFail on failure to load the image --- mediagoblin/process_media/errors.py | 54 +++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 mediagoblin/process_media/errors.py (limited to 'mediagoblin/process_media/errors.py') diff --git a/mediagoblin/process_media/errors.py b/mediagoblin/process_media/errors.py new file mode 100644 index 00000000..f2ae87ff --- /dev/null +++ b/mediagoblin/process_media/errors.py @@ -0,0 +1,54 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011 Free Software Foundation, Inc +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +from mediagoblin.util import lazy_pass_to_ugettext as _ + +class BaseProcessingFail(Exception): + """ + Base exception that all other processing failure messages should + subclass from. + + You shouldn't call this itself; instead you should subclass it + and provid the exception_path and general_message applicable to + this error. + """ + general_message = u'' + + @property + def exception_path(self): + return u"%s.%s" % ( + self.__class__.__module__, self.__class__.__name__) + + def __init__(self, **metadata): + self.metadata = metadata or {} + + def generate_error_message(self): + """ + Generate an error to display to users in the panel. + + Uses this class's general_message, possibly interpolated + with any metadata in self.metadata['error_message_vars'], + if appropriate. + """ + return self.general_message % self.metadata.get('error_message_vars', {}) + + +class BadMediaFail(BaseProcessingFail): + """ + Error that should be raised when an inappropriate file was given + for the media type specified. + """ + general_message = _(u'Invalid file given for media type.') -- cgit v1.2.3 From e3e9b8fcc962621e39a56748a7d34793a39e6bc6 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Sun, 14 Aug 2011 07:53:24 -0500 Subject: Switch BaseProcessingFail.exception_path's separator from period to colon Also removing .generator_error_message() which doesn't make sense really... we need to get the message when we don't have an instance of the exception, and this method requires an instance. --- mediagoblin/process_media/errors.py | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) (limited to 'mediagoblin/process_media/errors.py') diff --git a/mediagoblin/process_media/errors.py b/mediagoblin/process_media/errors.py index f2ae87ff..f8ae9ab2 100644 --- a/mediagoblin/process_media/errors.py +++ b/mediagoblin/process_media/errors.py @@ -29,22 +29,12 @@ class BaseProcessingFail(Exception): @property def exception_path(self): - return u"%s.%s" % ( + return u"%s:%s" % ( self.__class__.__module__, self.__class__.__name__) def __init__(self, **metadata): self.metadata = metadata or {} - def generate_error_message(self): - """ - Generate an error to display to users in the panel. - - Uses this class's general_message, possibly interpolated - with any metadata in self.metadata['error_message_vars'], - if appropriate. - """ - return self.general_message % self.metadata.get('error_message_vars', {}) - class BadMediaFail(BaseProcessingFail): """ -- cgit v1.2.3