pushed to bitbake and to toaster-next. -b
On Mon, Sep 28, 2015 at 2:02 AM, Ed Bartosh <[email protected]> wrote: > 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 -- _______________________________________________ toaster mailing list [email protected] https://lists.yoctoproject.org/listinfo/toaster
