a580cc93ebAdded draft for Dropbox plugin
Fabio Manganiello
2019-09-13 10:18:54 +0000
a43508a743Do not import cv2 in camera.__init__ unless we specify a video_type that needs to be expanded. Otherwise we introduce the OpenCV dependency also for the camera.pi plugin
Fabio Manganiello
2019-09-10 00:21:11 +0200
e9c7104242Keep track of the newly inserted token records in media.local.search, or we can experience UniqueConstraint violations upon session commit because of duplicate records
Fabio Manganiello
2019-09-02 23:05:16 +0200
1dca11c0beHTTP headers should always be an argument of the Request object
Fabio Manganiello
2019-09-02 01:17:52 +0200
e673b3e0c7search_* methods can't be static
Fabio Manganiello
2019-09-02 01:12:43 +0200
86d38b421aAdded headers in torrent API requests
Fabio Manganiello
2019-09-02 01:10:22 +0200
7bf4284f7bTypo in keyword name
Fabio Manganiello
2019-09-02 01:00:38 +0200
b9360cf2c5camera.close() should be in a finally block to make sure that we don't run out of resources because of failed camera initializations
Fabio Manganiello
2019-08-25 16:51:03 +0200
69a03fa025Do wait_recording until the client disconnects
Fabio Manganiello
2019-08-17 00:27:19 +0200
b599c622c4_get_camera should first verify both that camera is not null and not closed before returning the cached object
Fabio Manganiello
2019-08-16 19:15:00 +0200
5ca8ee594fIf a for loop argument returns a native Python iterable then expand that iterable
Fabio Manganiello
2019-08-16 19:04:15 +0200
3c675b296fDon't propagate the exception if stop_preview failed
Fabio Manganiello
2019-08-16 18:49:15 +0200
6465a6f282Added start/stop preview camera actions
Fabio Manganiello
2019-08-16 18:38:04 +0200
c93af07333Close camera preview after taking a picture or a sequence
Fabio Manganiello
2019-08-16 18:30:49 +0200
7fd5f5c4f8Proper synchronization with client connections and stop_streaming condition in the streaming thread
Fabio Manganiello
2019-08-16 17:49:15 +0200
65ef7ca027The official ouimeaux package is no longer maintained. Use the maitained fork instead
Fabio Manganiello
2019-08-15 08:57:56 +0200
59d976d681Start ranging only with one setting (to get more accurate measurements once the sensor has warmed up) and configure it only at sensor startup
Fabio Manganiello
2019-08-15 15:20:49 +0200
dccd3fd3d4Don't open the device and leave it open on each measurement, or the backend will fail with 'Too many open files' at some point
Fabio Manganiello
2019-08-15 13:06:31 +0200
8396c82d56Typo in import name
Fabio Manganiello
2019-08-15 00:35:17 +0200
b15dff0a24Class name typo
Fabio Manganiello
2019-08-15 00:30:42 +0200
e60660b0e6Added plugin and backend for VL53L1X laser ranger/distance sensor
Fabio Manganiello
2019-08-15 00:24:57 +0200
8462f474f7Skip tolerance check whether if the new or the old value are not numeric
Fabio Manganiello
2019-08-14 22:49:18 +0200
4a34fcd7fdMore robust sensor tolerance measurement in case of non-numeric sensor data
Fabio Manganiello
2019-08-14 22:45:50 +0200
e7448d90d6Trigger a ConversationStartedEvent before initializing the assistant object
Fabio Manganiello
2019-08-14 21:46:31 +0200
df5f17eb0eFixed wrong plugin name
Fabio Manganiello
2019-08-14 21:38:52 +0200
68500725bdAdded docs for LTR559 sensor plugin and backend
Fabio Manganiello
2019-08-14 21:27:49 +0200
8bf5076334FIX we should return device from _get_device
Fabio Manganiello
2019-08-14 20:52:27 +0200
693b38ef51Cache the BME280 object instead of initializing it on each get_measurement call
Fabio Manganiello
2019-08-14 20:50:06 +0200
e0351421adBetter management of sensor tolerance in SensorBackend
Fabio Manganiello
2019-08-14 20:39:21 +0200
851635bc15typo on serial plugin name
Fabio Manganiello
2019-08-14 20:03:34 +0200
8bfe875483We don't need to fail hard in backend.http if the backend is configured to run the web server externally but without spawning uswgi directly (e.g. if nginx takes care of spawning and wrapping the uwsgi instance)
Fabio Manganiello
2019-08-14 20:02:13 +0200
4e31edcd34Added docs for BME280 sensor plugin and backend
Fabio Manganiello
2019-08-14 19:50:44 +0200
9cb9eadfa3Added docs for BME280 sensor plugin and backend
Fabio Manganiello
2019-08-14 19:50:05 +0200
757e0ff9bfRefactored SensorBackend and derived classes and added BME280 sensor plugin and backend
Fabio Manganiello
2019-08-14 19:49:19 +0200
e79430cdc4Implemented tolerance threshold for lat/long/alt in GPS backend
Fabio Manganiello
2019-08-13 22:25:28 +0200
228e656da8Only import cv2 in the methods that require it (prevents camera.pi and other camera derived plugins from failing if OpenCV is not installed)
Fabio Manganiello
2019-08-07 09:43:40 +0200
fa9b816d06Return the parsed raw YouTube URL only if available, otherwise the original URL
Fabio Manganiello
2019-08-04 17:36:06 +0200
aebeadbcf7args can be either a list or a tuple - treat accordingly
Fabio Manganiello
2019-08-04 17:17:01 +0200
3a5a731bd2pause and then play omxplayer in the play handler to make sure that all the proper events are generated upon play
Fabio Manganiello
2019-08-04 16:50:35 +0200
b9113bb57bAdded docs for envirophat and gps integrations
Fabio Manganiello
2019-08-03 02:11:21 +0200
18ac909cf3mercury-parser.js added to static assets to be copied upon installation
Fabio Manganiello
2019-07-25 18:36:12 +0200
1f2f293778Redirect mercury-parser.js stderr to stdout. Moreover, if an error occurs while parsing a link from an RSS feed we should report the link that raised the error, not the URL of the parent feed
Fabio Manganiello
2019-07-25 16:34:00 +0000
44e27e6c62Log the link we are trying to parse (useful for debugging parsing issues)
Fabio Manganiello
2019-07-25 18:23:28 +0200
83db3f770cDon't generate HTML/CSS wrapper for the content unless the output is a destination file (HTML/PDF).
Fabio Manganiello
2019-07-25 18:08:18 +0200
34433a363bCall sound.stop_recording upon audio stream stop so we won't have hanging streams with no clients connected
Fabio Manganiello
2019-07-25 14:01:04 +0200
beef06fad2Log exception and parser output if it returns invalid JSON
Fabio Manganiello
2019-07-24 23:31:27 +0000
6aaa2fa1eaextract_content is supposed to be a boolean
Fabio Manganiello
2019-07-25 01:09:16 +0200
5293f5b203#73: Implemented wrapper plugin for the new Node.js mercury-parser.
Fabio Manganiello
2019-07-24 19:02:53 +0200
43ca3a6f94Added support for streaming audio from an input source over HTTP
Fabio Manganiello
2019-07-23 18:22:00 +0200
426f064459"Remember me" options on session should leave the cookie for a longer time (e.g. one year), it should be browser-session-only otherwise
Fabio Manganiello
2019-07-23 00:31:17 +0200
a16fc65d37Try to load the dev version of vue.js if available
Fabio Manganiello
2019-07-19 20:00:39 +0200
5020256a33Ignore development version of vue.js if installed
Fabio Manganiello
2019-07-19 19:58:54 +0200
57712b3693Be more robust in case of Mercury API failures while parsing RSS feeds. TODO: the Mercury API has now been retired and replaced by a library, that however is only available for Node.js. Figure out how to wrap the new library in Python 3
Fabio Manganiello
2019-07-19 15:00:06 +0000
f12c6db34fAdded camera web panel
Fabio Manganiello
2019-07-19 15:20:48 +0200