diff options
Diffstat (limited to 'bitbake/lib/toaster/toastergui/views.py')
-rwxr-xr-x | bitbake/lib/toaster/toastergui/views.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py index be59c83651..98b040e5ab 100755 --- a/bitbake/lib/toaster/toastergui/views.py +++ b/bitbake/lib/toaster/toastergui/views.py | |||
@@ -39,6 +39,22 @@ from datetime import timedelta, datetime, date | |||
39 | from django.utils import formats | 39 | from django.utils import formats |
40 | from toastergui.templatetags.projecttags import json as jsonfilter | 40 | from toastergui.templatetags.projecttags import json as jsonfilter |
41 | import json | 41 | import json |
42 | import mimetypes | ||
43 | |||
44 | class MimeTypeFinder(object): | ||
45 | # setting this to False enables additional non-standard mimetypes | ||
46 | # to be included in the guess | ||
47 | _strict = False | ||
48 | |||
49 | # returns the mimetype for a file path as a string, | ||
50 | # or 'application/octet-stream' if the type couldn't be guessed | ||
51 | @classmethod | ||
52 | def get_mimetype(self, path): | ||
53 | guess = mimetypes.guess_type(path, self._strict) | ||
54 | guessed_type = guess[0] | ||
55 | if guessed_type == None: | ||
56 | guessed_type = 'application/octet-stream' | ||
57 | return guessed_type | ||
42 | 58 | ||
43 | # all new sessions should come through the landing page; | 59 | # all new sessions should come through the landing page; |
44 | # determine in which mode we are running in, and redirect appropriately | 60 | # determine in which mode we are running in, and redirect appropriately |
@@ -3209,7 +3225,7 @@ if toastermain.settings.MANAGED: | |||
3209 | if file_name is None: | 3225 | if file_name is None: |
3210 | raise Exception("Could not handle artifact %s id %s" % (artifact_type, artifact_id)) | 3226 | raise Exception("Could not handle artifact %s id %s" % (artifact_type, artifact_id)) |
3211 | else: | 3227 | else: |
3212 | content_type = b.buildrequest.environment.get_artifact_type(file_name) | 3228 | content_type = MimeTypeFinder.get_mimetype(file_name) |
3213 | fsock = b.buildrequest.environment.get_artifact(file_name) | 3229 | fsock = b.buildrequest.environment.get_artifact(file_name) |
3214 | file_name = os.path.basename(file_name) # we assume that the build environment system has the same path conventions as host | 3230 | file_name = os.path.basename(file_name) # we assume that the build environment system has the same path conventions as host |
3215 | 3231 | ||