[#6487] handle more complex content-types, e.g. from http://code.google.com/p/msysgit/logo?cct=1342277278
diff --git a/Allura/allura/model/filesystem.py b/Allura/allura/model/filesystem.py
index 1bb0087..dbe1aa7 100644
--- a/Allura/allura/model/filesystem.py
+++ b/Allura/allura/model/filesystem.py
@@ -162,6 +162,7 @@
if content_type is None:
content_type = utils.guess_mime_type(filename)
if not content_type.lower() in SUPPORTED_BY_PIL:
+ log.debug('Content type %s from file %s not supported', content_type, filename)
return None, None
try:
diff --git a/ForgeImporters/forgeimporters/google/__init__.py b/ForgeImporters/forgeimporters/google/__init__.py
index 332d075..f4a7b7a 100644
--- a/ForgeImporters/forgeimporters/google/__init__.py
+++ b/ForgeImporters/forgeimporters/google/__init__.py
@@ -69,8 +69,9 @@
fp_ish = urllib2.urlopen(icon_url)
fp = StringIO(fp_ish.read())
M.ProjectFile.save_image(
- icon_name, fp, fp_ish.info()['content-type'], square=True,
- thumbnail_size=(48,48),
+ icon_name, fp,
+ fp_ish.info()['content-type'].split(';')[0], # strip off charset=x extra param,
+ square=True, thumbnail_size=(48,48),
thumbnail_meta={'project_id': self.project._id, 'category': 'icon'})
def get_license(self):