Hi Elliot, Patch looks good to me, thanks.
Acked-by: Ed Bartosh <[email protected]> On Thu, Sep 24, 2015 at 01:34:24PM +0100, Elliot Smith wrote: > filemagic is used to guess the mimetype of files when a user > requests a download. However, this adds a dependency on an > external library. > > Python does have a mimetypes module, though this guesses the > mimetype rather than doing anything clever with the actual > file content. But for our purposes, it's more than adequate. > (NB Django also uses this module when serving static files.) > > Use this instead of relying on any external code, and remove > the filemagic dependency. > > Signed-off-by: Elliot Smith <[email protected]> > --- > bitbake/lib/toaster/toastergui/views.py | 15 +++++++++++---- > bitbake/toaster-requirements.txt | 1 - > 2 files changed, 11 insertions(+), 5 deletions(-) > > diff --git a/bitbake/lib/toaster/toastergui/views.py > b/bitbake/lib/toaster/toastergui/views.py > index 8689a12..0a2a959 100755 > --- a/bitbake/lib/toaster/toastergui/views.py > +++ b/bitbake/lib/toaster/toastergui/views.py > @@ -46,19 +46,26 @@ from toastergui.templatetags.projecttags import json as > jsonfilter > import json > from os.path import dirname > import itertools > +import mimetypes > > -import magic > import logging > > logger = logging.getLogger("toaster") > > class MimeTypeFinder(object): > - _magic = magic.Magic(flags = magic.MAGIC_MIME_TYPE) > + # setting this to False enables additional non-standard mimetypes > + # to be included in the guess > + _strict = False > > - # returns the mimetype for a file path > + # returns the mimetype for a file path as a string, > + # or 'application/octet-stream' if the type couldn't be guessed > @classmethod > def get_mimetype(self, path): > - return self._magic.id_filename(path) > + guess = mimetypes.guess_type(path, self._strict) > + guessed_type = guess[0] > + if guessed_type == None: > + guessed_type = 'application/octet-stream' > + return guessed_type > > # all new sessions should come through the landing page; > # determine in which mode we are running in, and redirect appropriately > diff --git a/bitbake/toaster-requirements.txt > b/bitbake/toaster-requirements.txt > index c4a2221..1d7d21b 100644 > --- a/bitbake/toaster-requirements.txt > +++ b/bitbake/toaster-requirements.txt > @@ -2,5 +2,4 @@ Django==1.6 > South==0.8.4 > argparse==1.2.1 > wsgiref==0.1.2 > -filemagic==1.6 > beautifulsoup4>=4.4.0 > -- > Elliot Smith > Software Engineer > Intel OTC > > --------------------------------------------------------------------- > Intel Corporation (UK) Limited > Registered No. 1134945 (England) > Registered Office: Pipers Way, Swindon SN3 1RJ > VAT No: 860 2173 47 > > This e-mail and any attachments may contain confidential material for > the sole use of the intended recipient(s). Any review or distribution > by others is strictly prohibited. If you are not the intended > recipient, please contact the sender and delete all copies. > > -- > _______________________________________________ > toaster mailing list > [email protected] > https://lists.yoctoproject.org/listinfo/toaster -- -- Regards, Ed -- _______________________________________________ toaster mailing list [email protected] https://lists.yoctoproject.org/listinfo/toaster
