Implement licenses.get_license_by_url
Rather than exploding in the user's face (for example if we custom-configure licenses in our MG instance, and there are still media with now "unknown" licenses in the db), simply return a License object as a fallback, where all attributes are set to the URL we were handed. Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
This commit is contained in:
parent
8e5fae9b43
commit
138a18fd6e
@ -139,7 +139,7 @@ class MediaEntryMixin(object):
|
||||
|
||||
def get_license_data(self):
|
||||
"""Return license dict for requested license"""
|
||||
return licenses.SUPPORTED_LICENSES[self.license or ""]
|
||||
return licenses.get_license_by_url(self.license or "")
|
||||
|
||||
def exif_display_iter(self):
|
||||
from mediagoblin.tools.exif import USEFUL_TAGS
|
||||
|
@ -50,6 +50,16 @@ SORTED_LICENSES = [
|
||||
SUPPORTED_LICENSES = dict(((l.uri, l) for l in SORTED_LICENSES))
|
||||
|
||||
|
||||
def get_license_by_url(url):
|
||||
"""Look up a license by its url and return the License object"""
|
||||
try:
|
||||
return SUPPORTED_LICENSES[url]
|
||||
except KeyError:
|
||||
# in case of an unknown License, just display the url given
|
||||
# rather than exploding in the user's face.
|
||||
return License(url, url, url)
|
||||
|
||||
|
||||
def licenses_as_choices():
|
||||
"""List of (uri, abbreviation) tuples for HTML choice field population
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user