summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/toaster/bldcontrol/models.py34
-rwxr-xr-xbitbake/lib/toaster/toastergui/views.py2
2 files changed, 1 insertions, 35 deletions
diff --git a/bitbake/lib/toaster/bldcontrol/models.py b/bitbake/lib/toaster/bldcontrol/models.py
index f2493a8426..ab41105303 100644
--- a/bitbake/lib/toaster/bldcontrol/models.py
+++ b/bitbake/lib/toaster/bldcontrol/models.py
@@ -39,40 +39,6 @@ class BuildEnvironment(models.Model):
39 created = models.DateTimeField(auto_now_add = True) 39 created = models.DateTimeField(auto_now_add = True)
40 updated = models.DateTimeField(auto_now = True) 40 updated = models.DateTimeField(auto_now = True)
41 41
42
43 def get_artifact_type(self, path):
44 if self.betype == BuildEnvironment.TYPE_LOCAL:
45 try:
46 import magic
47
48 # fair warning: this is a mess; there are multiple competeing and incompatible
49 # magic modules floating around, so we try some of the most common combinations
50
51 try: # we try ubuntu's python-magic 5.4
52 m = magic.open(magic.MAGIC_MIME_TYPE)
53 m.load()
54 return m.file(path)
55 except AttributeError:
56 pass
57
58 try: # we try python-magic 0.4.6
59 m = magic.Magic(magic.MAGIC_MIME)
60 return m.from_file(path)
61 except AttributeError:
62 pass
63
64 try: # we try pip filemagic 1.6
65 m = magic.Magic(flags=magic.MAGIC_MIME_TYPE)
66 return m.id_filename(path)
67 except AttributeError:
68 pass
69
70 return "binary/octet-stream"
71 except ImportError:
72 return "binary/octet-stream"
73 raise Exception("FIXME: artifact type not implemented for build environment type %s" % self.get_betype_display())
74
75
76 def get_artifact(self, path): 42 def get_artifact(self, path):
77 if self.betype == BuildEnvironment.TYPE_LOCAL: 43 if self.betype == BuildEnvironment.TYPE_LOCAL:
78 return open(path, "r") 44 return open(path, "r")
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py
index 6e5815595f..839ee78f97 100755
--- a/bitbake/lib/toaster/toastergui/views.py
+++ b/bitbake/lib/toaster/toastergui/views.py
@@ -2981,7 +2981,7 @@ if True:
2981 if file_name is None: 2981 if file_name is None:
2982 raise Exception("Could not handle artifact %s id %s" % (artifact_type, artifact_id)) 2982 raise Exception("Could not handle artifact %s id %s" % (artifact_type, artifact_id))
2983 else: 2983 else:
2984 content_type = b.buildrequest.environment.get_artifact_type(file_name) 2984 content_type = MimeTypeFinder.get_mimetype(file_name)
2985 fsock = b.buildrequest.environment.get_artifact(file_name) 2985 fsock = b.buildrequest.environment.get_artifact(file_name)
2986 file_name = os.path.basename(file_name) # we assume that the build environment system has the same path conventions as host 2986 file_name = os.path.basename(file_name) # we assume that the build environment system has the same path conventions as host
2987 2987