From: Dermot Duffy Date: Tue, 27 Feb 2018 22:34:58 +0000 (+0000) Subject: Merge branch 'master' of https://github.com/ccrisan/motioneye into movie-playback X-Git-Url: http://www.vanbest.org/gitweb/?a=commitdiff_plain;h=0631983da82bf92f837134b8611853182378145f;p=motioneye-debian Merge branch 'master' of https://github.com/ccrisan/motioneye into movie-playback --- 0631983da82bf92f837134b8611853182378145f diff --cc motioneye/handlers.py index cc22323,4fe9125..0cbaa62 --- a/motioneye/handlers.py +++ b/motioneye/handlers.py @@@ -1470,10 -1533,10 +1532,10 @@@ class MovieHandler(BaseHandler) return self.finish_json({'error': 'Failed to download movie from %(url)s: %(msg)s.' % { 'url': remote.pretty_camera_url(camera_config), 'msg': error}}) - pretty_filename = os.path.basename(filename) # no camera name available w/o additional request - self.set_header('Content-Type', 'video/mpeg') + pretty_filename = os.path.basename(filename) # no camera name available w/o additional request + self.set_header('Content-Type', mimetypes.guess_type(filename)[0] or 'video/mpeg') self.set_header('Content-Disposition', 'attachment; filename=' + pretty_filename + ';') - + self.finish(response) remote.get_media_content(camera_config, filename=filename, media_type='movie', callback=on_response) diff --cc motioneye/mediafiles.py index a26c0fa,bdca31e..64c035c --- a/motioneye/mediafiles.py +++ b/motioneye/mediafiles.py @@@ -319,13 -381,12 +382,13 @@@ def list_media(camera_config, media_typ path = p[len(target_dir):] if not path.startswith('/'): path = '/' + path - + timestamp = st.st_mtime size = st.st_size - + pipe.send({ 'path': path, + 'mimeType': mimetypes.guess_type(path)[0], 'momentStr': utils.pretty_date_time(datetime.datetime.fromtimestamp(timestamp)), 'momentStrShort': utils.pretty_date_time(datetime.datetime.fromtimestamp(timestamp), short=True), 'sizeStr': utils.pretty_size(size), diff --cc motioneye/remote.py index 23ca8c5,b5cb997..ed724ff --- a/motioneye/remote.py +++ b/motioneye/remote.py @@@ -393,11 -392,11 +392,11 @@@ def get_media_content(local_config, fil 'media_type': media_type, 'id': camera_id, 'filename': filename} - + # timeout here is 10 times larger than usual - we expect a big delay when fetching the media list request = _make_request(scheme, host, port, username, password, - path, timeout=10 * settings.REMOTE_REQUEST_TIMEOUT) - + path, timeout=10 * settings.REMOTE_REQUEST_TIMEOUT) + def on_response(response): if response.error: logging.error('failed to download file %(filename)s of remote camera %(id)s on %(url)s: %(msg)s' % {