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)
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),
'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' % {