Commit Graph

748 Commits

Author SHA1 Message Date
Fabio Manganiello 7ecb27463c Added missing '@' 2019-12-24 14:04:23 +01:00
Fabio Manganiello ba31d4f4c9 Fixed parameter access 2019-12-24 14:00:06 +01:00
Fabio Manganiello 2edb3f0944 Added button for refreshing available cameras 2019-12-24 13:52:14 +01:00
Fabio Manganiello ef58cc9e32 Support for username/password in camera URLs if authentication is required 2019-12-24 13:52:14 +01:00
Fabio Manganiello a23f5446da Added GPIO web panel 2019-12-22 18:10:30 +01:00
Fabio Manganiello 93a3c72d4e Added camera.android.ipcam web panel 2019-12-18 01:00:56 +01:00
Fabio Manganiello 416c9ceb93 Fixed picamera mjpeg stream 2019-12-17 22:44:15 +01:00
Fabio Manganiello 634aeec58d Refactored camera.pi endpoints 2019-12-17 21:51:55 +01:00
Fabio Manganiello 17af488b32 Using an io memory buffer to write the streamed images instead of a
physical file to improve streaming performance
2019-12-17 21:32:56 +01:00
Fabio Manganiello 60d5e7a0f6 Response cast fix 2019-12-17 20:00:08 +01:00
Fabio Manganiello fb744dbc74 Added picamera streaming route and web panel tab 2019-12-17 19:54:38 +01:00
Fabio Manganiello e1ed7f681c Added bluetooth OBEX file browser service (see #89) 2019-12-12 00:11:27 +01:00
Fabio Manganiello 5d2d7d55af Added bluetooth OBEX file receiver service (see #89) 2019-12-11 22:22:56 +01:00
Fabio Manganiello 8c41110145 Added bluetooth plugin (see #89) 2019-12-11 18:05:17 +01:00
Fabio Manganiello 2c8993e67d LINT fixes 2019-12-09 19:22:38 +01:00
Fabio Manganiello 09caa66317 Return immediately in _parse_records if tag.ndef is null 2019-12-08 21:25:39 +01:00
Fabio Manganiello d498c21518 Implemented Node-RED backend, solves #88 2019-12-08 19:02:08 +01:00
Fabio Manganiello a6488e15fe Don't treat the execute tab as a special tab in the web panel,
otherwise configurations with enabled_plugins/disabled_plugins
won't work with it
2019-12-08 17:33:21 +01:00
Fabio Manganiello be5c5d365c Added execute tab to webpanel 2019-12-08 16:25:03 +01:00
Fabio Manganiello d38746d278 Moved imports for extra dependencies inside the methods where they are actually used 2019-12-01 23:35:05 +01:00
Fabio Manganiello f281411b2e Set the light property before the any_on/all_on check on the group 2019-12-01 16:33:48 +01:00
Fabio Manganiello 3bbb6cf053 Include dev version of vue.js if available in the HTTP static/js
folder, otherwise include the minified version
2019-12-01 16:33:48 +01:00
Fabio Manganiello 9b04570e49 Assistant event refactor: always explicitly pass the assistant object.
Also added match_condition override for ResponseEvent to capture the
assistant response text, when available, and prevent the default
response - it should solve #86.
2019-11-26 00:16:32 +01:00
Fabio Manganiello 2cf9bf654d Removed unused imports from Snowboy backend 2019-11-25 20:27:52 +01:00
Fabio Manganiello f98a440200 Support for explicit enabled_plugins/disabled_plugins on webpanel index 2019-11-22 00:00:14 +01:00
Fabio Manganiello f04f42caef Refactored and simplified Snapcast backend. Moreover the "grace sleep"
should happen in any case of errors, not only on disconnect errors,
to prevent a tight loop of retries.
2019-11-05 18:11:04 +01:00
Fabio Manganiello 9914d4ef0b Handling CSS and fonts properly in RSSUpdates digests 2019-10-13 12:43:18 +02:00
Fabio Manganiello 4c72646759 typo 2019-10-08 10:24:48 +00:00
Fabio Manganiello ca41f6b8cf Torrent download from web panel should be asynchronous 2019-10-08 10:14:45 +00:00
Fabio Manganiello 313a195831 Support for torrent direct download through magnet link in web panel 2019-09-29 17:48:30 +02:00
Fabio Manganiello a17dba3ec6 LINT warnings fix 2019-09-26 19:23:38 +02:00
Fabio Manganiello 168b1b0e5a Finalized camera.ir.mlx90640 web interface 2019-09-26 18:33:44 +02:00
Fabio Manganiello d7dc74beed Added web plugin for mlx90640 infrared camera 2019-09-26 11:15:18 +02:00
Fabio Manganiello d6de1189e5 Simplified motion sensor interface by removing unneeded absolute vector 2019-09-24 00:13:02 +02:00
Fabio Manganiello 3da6c41f21 Shorter default poll_seconds (0.01) for better motion sensitivity 2019-09-24 00:10:17 +02:00
Fabio Manganiello f76e45dda9 Backend name typo 2019-09-23 23:34:46 +02:00
Fabio Manganiello 7e92f59d44 Added PWM3901 optical motion/flow sensor plugin 2019-09-23 23:28:33 +02:00
Fabio Manganiello 190ab15a76 Fixed camera.pi plugin 2019-08-16 12:24:42 +02:00
Fabio Manganiello b153d212e3 New picamera plugin 2019-08-16 11:11:45 +02:00
Fabio Manganiello 59d976d681 Start ranging only with one setting (to get more accurate measurements once the sensor has warmed up) and configure it only at sensor startup 2019-08-15 15:20:49 +02:00
Fabio Manganiello b15dff0a24 Class name typo 2019-08-15 00:30:42 +02:00
Fabio Manganiello e60660b0e6 Added plugin and backend for VL53L1X laser ranger/distance sensor 2019-08-15 00:26:25 +02:00
Fabio Manganiello 8462f474f7 Skip tolerance check whether if the new or the old value are not numeric 2019-08-14 22:49:18 +02:00
Fabio Manganiello 4a34fcd7fd More robust sensor tolerance measurement in case of non-numeric sensor data 2019-08-14 22:45:50 +02:00
Fabio Manganiello df5f17eb0e Fixed wrong plugin name 2019-08-14 21:38:52 +02:00
Fabio Manganiello 19dc96ff1c Added LTR559 sensor plugin and backend 2019-08-14 21:27:25 +02:00
Fabio Manganiello e0351421ad Better management of sensor tolerance in SensorBackend 2019-08-14 20:39:21 +02:00
Fabio Manganiello 851635bc15 typo on serial plugin name 2019-08-14 20:03:34 +02:00
Fabio Manganiello 8bfe875483 We 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)
2019-08-14 20:02:13 +02:00
Fabio Manganiello 757e0ff9bf Refactored SensorBackend and derived classes and added BME280 sensor
plugin and backend
2019-08-14 19:49:19 +02:00
Fabio Manganiello e79430cdc4 Implemented tolerance threshold for lat/long/alt in GPS backend 2019-08-13 22:25:28 +02:00
Fabio Manganiello 39b0c3b741 Added GPS backend 2019-08-03 02:06:06 +02:00
Fabio Manganiello c9dc1aac44 _last_read should always contain the full output of the plugin, not
the filtered output
2019-08-01 23:41:46 +02:00
Fabio Manganiello a3271f0522 Only return the sensor data whose value has changed on the envirophat
backend
2019-08-01 23:33:36 +02:00
Fabio Manganiello 675f899b5f FIX: get_measurement should return a dict not a set 2019-08-01 23:17:04 +02:00
Fabio Manganiello 72d1b3cd2a Filter out only selected sensors on the enviropHAT backend 2019-08-01 22:47:34 +02:00
Fabio Manganiello bdadd2061c Added EnviropHAT support 2019-08-01 22:40:41 +02:00
Fabio Manganiello 1ca7feb506 Small fix for the font size on mobile 2019-07-28 23:32:52 +02:00
Fabio Manganiello 1f2f293778 Redirect 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 2019-07-25 16:34:00 +00:00
Fabio Manganiello 44e27e6c62 Log the link we are trying to parse (useful for debugging parsing issues) 2019-07-25 18:23:28 +02:00
Fabio Manganiello 34433a363b Call sound.stop_recording upon audio stream stop so we won't have hanging streams with no clients connected 2019-07-25 14:01:09 +02:00
Fabio Manganiello 6aaa2fa1ea extract_content is supposed to be a boolean 2019-07-25 01:09:16 +02:00
Fabio Manganiello 5293f5b203 #73: Implemented wrapper plugin for the new Node.js mercury-parser.
As the Mercury reader web API is deprecated, and the only available
implementation is the open source mercury-parser, node, npm and
@postlight/mercury-parser have to be added as dependencies for the
http.webpage plugin (or at least for the `simplify` action).
2019-07-24 19:02:53 +02:00
Fabio Manganiello 43ca3a6f94 Added support for streaming audio from an input source over HTTP 2019-07-23 18:22:00 +02:00
Fabio Manganiello 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
2019-07-23 00:31:17 +02:00
Fabio Manganiello a16fc65d37 Try to load the dev version of vue.js if available 2019-07-19 20:00:39 +02:00
Fabio Manganiello 57712b3693 Be 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 2019-07-19 15:00:06 +00:00
Fabio Manganiello f12c6db34f Added camera web panel 2019-07-19 15:20:48 +02:00
Fabio Manganiello f86e2eb5a7 Implemented settings page and finalized multi-user support 2019-07-19 00:50:52 +02:00
Fabio Manganiello cd9bdbb1c8 Fixed undefined reference 2019-07-17 14:57:50 +02:00
Fabio Manganiello a60e89806f Fixed undefined reference 2019-07-16 22:43:27 +02:00
Fabio Manganiello cc61032bec Fixes for readthedocs build 2019-07-16 22:38:42 +02:00
Fabio Manganiello 95b5820783 Fixes for readthedocs build 2019-07-16 22:29:23 +02:00
Fabio Manganiello 9c4646bed5 Fixed documentation and added missing docs to the index 2019-07-16 20:28:00 +02:00
Fabio Manganiello 1c1ecc18df Support for multi-users and authentication for HTTP pages 2019-07-15 14:12:00 +02:00
Fabio Manganiello 674c164fc1 Fixed pylint warnings 2019-07-13 22:36:45 +02:00
Fabio Manganiello 8b2c6d333e Lint warnings fixed 2019-07-13 14:22:43 +02:00
Fabio Manganiello 3c3496b19a Revert "The active-glow animation takes too much CPU on music.mpd"
This reverts commit 4c3cd2fcf2.
2019-07-13 12:27:43 +02:00
Fabio Manganiello 7666e8cb51 Including vue.min.js instead of vue.js 2019-07-13 12:25:02 +02:00
Fabio Manganiello 2999e47a0f Run the hotword detected sound in another thread, or it's likely to mess up with the timing of the hotword-assistant interaction 2019-07-12 17:44:59 +02:00
Fabio Manganiello fe96940744 detect_sound should support relative and ~ paths 2019-07-12 14:55:14 +02:00
Fabio Manganiello 8d660f27d4 Support for multiple hotwords, configurations and assistant languages in Snowboy backend 2019-07-12 14:53:12 +02:00
Fabio Manganiello 5766367402 Rewritten snowboy and Google push-to-talk plugins to make them a better replacement for the deprecated google-assistant-library 2019-07-11 22:54:33 +02:00
Fabio Manganiello 792c24700c Refactored requirements to only include mandatory ones and added style reference to assistant in dashboard.html 2019-07-10 12:18:53 +02:00
Fabio Manganiello 24d3810e44 Added NFC backend 2019-07-09 01:44:31 +02:00
Fabio Manganiello 0a97bb2345 Better style for webpanel switches 2019-07-08 15:21:13 +02:00
Fabio Manganiello b50a52acf2 Sort articles in descending order when querying from RSS news web widget 2019-07-08 09:26:38 +02:00
Fabio Manganiello 4c3cd2fcf2 The active-glow animation takes too much CPU on music.mpd 2019-07-08 00:58:02 +02:00
Fabio Manganiello c19251c6a1 Always reset carousel image width to auto before re-adjusting the size 2019-07-08 00:16:43 +02:00
Fabio Manganiello b2c31fcec6 Dashboard style improvements 2019-07-07 23:50:35 +02:00
Fabio Manganiello 42e5673192 Increased font size for widgets 2019-07-07 20:47:44 +02:00
Fabio Manganiello 09165ca0ff Dashboard rewritten in vue.js 2019-07-07 20:11:32 +02:00
Fabio Manganiello 8006f3688c Removed old gpio scripts 2019-07-02 16:27:13 +02:00
Fabio Manganiello 1e39d3a8d2 Return obj even when the metrics are undefined, or we will set this.metrics to undefined 2019-07-02 16:12:24 +02:00
Fabio Manganiello 75f7fbd67a Don't perform reads on the serial plugin when refreshing 2019-07-02 16:04:06 +02:00
Fabio Manganiello 0dac122db5 Style for the new sensors web plugin 2019-07-02 15:38:09 +02:00
Fabio Manganiello fb4af87967 Style for the new sensors web plugin 2019-07-02 15:23:41 +02:00
Fabio Manganiello 9c44d047ac Vue.set to set metrics object, array assignment won't be picked up by Vue listeners 2019-07-02 15:08:32 +02:00
Fabio Manganiello e82edc8338 Set metrics object through Vue.set 2019-07-02 15:02:44 +02:00
Fabio Manganiello be79d15faf Handle sensor event format correctly 2019-07-02 15:01:40 +02:00
Fabio Manganiello 23d106969f Default timeout for API calls from 30 to 60 seconds 2019-07-02 14:56:43 +02:00
Fabio Manganiello 40fa640397 New sensors web panel WIP 2019-07-02 14:42:25 +02:00
Fabio Manganiello 54a3643605 Added name and value props to sensor component 2019-07-02 14:39:04 +02:00
Fabio Manganiello 43b01f7c0e Fixed icon class 2019-07-02 14:34:05 +02:00
Fabio Manganiello 1eae45805d Added new sensors plugin to webpanel 2019-07-02 14:04:25 +02:00
Fabio Manganiello b932df1c12 Added switch tab to the new web panel 2019-07-02 12:02:28 +02:00
Fabio Manganiello 26ee3fc75c Changed nav bar text to icons 2019-07-01 22:26:04 +02:00
Fabio Manganiello 277d6ec271 Added torrent support in new webplayer 2019-07-01 19:32:22 +02:00
Fabio Manganiello c78789e644 Added Kodi support to new media webplayer 2019-06-29 00:06:03 +02:00
Fabio Manganiello f86eeef549 New media webplugin WIP 2019-06-27 23:52:40 +02:00
Fabio Manganiello 70bba5fc96 Support for browser webplayer and subtitles in new webplugin 2019-06-26 11:05:16 +02:00
Fabio Manganiello e55735f409 Added YouTube support to new media webplugin 2019-06-25 22:46:25 +02:00
Fabio Manganiello cf23e2fc72 Support for subtitles in new media webplugin - WIP 2019-06-25 00:48:00 +02:00
Fabio Manganiello 9305f86d0c New media webplugin WIP 2019-06-24 01:01:08 +02:00
Fabio Manganiello ba800ef8e2 Normalized all local players so that they handle events and return statuses in the same format 2019-06-23 02:16:20 +02:00
Fabio Manganiello 1964f74f19 New media webplugin WIP 2019-06-22 19:05:17 +02:00
Fabio Manganiello 2da6d7d866 New media webplugin WIP 2019-06-22 14:41:42 +02:00
Fabio Manganiello 482f6f0765 New media webplugin WIP 2019-06-22 00:15:32 +02:00
Fabio Manganiello 4cd2e6949f New media webplugin WIP 2019-06-21 02:13:14 +02:00
Fabio Manganiello ecd41a1f41 New media webplugin WIP 2019-06-18 18:14:48 +02:00
Fabio Manganiello 32efebe405 Fixed typos and warnings in snapcast backend 2019-06-16 21:59:31 +02:00
Fabio Manganiello e5d7334662 New media webplugin WIP 2019-06-16 21:45:21 +02:00
Fabio Manganiello 5e2b927267 Explicitly inherit the height of parent panels container 2019-06-15 13:02:09 +02:00
Fabio Manganiello 7015c0df11 Explicitly inherit the height of parent panels container 2019-06-15 13:00:41 +02:00
Fabio Manganiello 496e692860 calc mixin shit 2019-06-15 12:50:14 +02:00
Fabio Manganiello a25565a80d Fill window.config object before including other js code 2019-06-15 12:01:13 +02:00
Fabio Manganiello 3a3637d3d7 Fixed calc mixin and introduced media handlers for webpanel media plugin 2019-06-15 00:51:48 +02:00
Fabio Manganiello fc5ea429d2 Using cross-browser mixin for calc 2019-06-14 19:15:57 +02:00
Fabio Manganiello 359e6703e4 new font-awesome commits 2019-06-14 01:01:51 +02:00
Fabio Manganiello 9d4511577f - Refactored webpanel style to use flex and dynamic element heights
instead of ugly fixed/absolute positioning.

- New media webpanel plugin WIP
2019-06-14 00:54:20 +02:00
Fabio Manganiello 076d766745 New TTS webpanel plugins 2019-06-11 11:53:15 +02:00
Fabio Manganiello 205903bc40 Removed old music.snapcast.js 2019-06-10 23:26:26 +02:00
Fabio Manganiello 91ef6f3ce2 Finalized new Snapcast webpanel plugin 2019-06-10 15:11:24 +02:00
Fabio Manganiello 95a9c22618 Added new Snapcast webpanel plugin 2019-06-10 00:55:23 +02:00
Fabio Manganiello 33d55dcd93 Fixed Pushbullet backend 2019-06-08 22:37:19 +02:00
Fabio Manganiello 6019ba9db6 Wrote new Pushbullet handler for webpanel 2019-06-08 17:16:47 +02:00
Fabio Manganiello 46836374b0 Removed old application.js 2019-06-08 13:38:57 +02:00
Fabio Manganiello 4bfd6baab2 Removed old assistant google web plugin 2019-06-08 13:38:18 +02:00
Fabio Manganiello bb4cc80262 Added assistant.google plugin in new webpanel 2019-06-08 13:25:40 +02:00
Fabio Manganiello 41d8ae48e1 Removed old jQuery music.mpd plugin 2019-06-07 23:13:07 +02:00
Fabio Manganiello b7a625097d Added playlist editor in music.mpd web panel 2019-06-07 23:07:36 +02:00
Fabio Manganiello 1ad72a2695 Implemented support for adding tracks to playlists 2019-06-07 17:17:58 +02:00
Fabio Manganiello 0b6b29f043 Improved support for multiple modals and added ability to search for albums and artists on the fly from tracks in music.mpd - vue.js refactoring WIP 2019-06-07 00:43:39 +02:00
Fabio Manganiello 7df0cec14e Implemented support for modals and music.mpd search and item info 2019-06-06 02:08:36 +02:00
Fabio Manganiello 611a137ff6 music.mpd vue.js refactoring WIP: Implemented playlist track move feature 2019-06-04 15:59:07 +02:00
Fabio Manganiello d3ecb7b871 music.mpd vue.js refactoring WIP 2019-06-03 23:53:37 +02:00
Fabio Manganiello 85bdd54f7e music.mpd vue.js refactoring WIP 2019-06-03 23:37:19 +02:00
Fabio Manganiello e1ddf7bb3b music.mpd vue.js refactoring WIP 2019-06-02 00:54:49 +02:00
Fabio Manganiello 0f3987aaf2 Reverted scrollbar style override 2019-05-30 02:19:20 +02:00
Fabio Manganiello 7a74b83c76 music.mpd plugin vue.js refactoring - WIP 2019-05-30 02:07:28 +02:00
Fabio Manganiello 444fe6331d New support for notifications in webpanel in vue.js 2019-05-28 19:16:55 +02:00
Fabio Manganiello e1c3951456 Added events and websocket support in webpanel refactoring and removed old light.hue templates and scripts 2019-05-28 19:16:55 +02:00
Fabio Manganiello 197a5805be Made nav header fixed 2019-05-28 19:16:55 +02:00
Fabio Manganiello 01b111f436 Webpanel refactoring in progress 2019-05-28 19:16:55 +02:00
Fabio Manganiello 897338399f Synchronize all lights toggles when scenes are selected 2019-05-28 19:16:55 +02:00
Fabio Manganiello e72d4de581 vue.js refactor part 1 - prepared webpanel logic and migrated light.hue plugin 2019-05-28 19:16:55 +02:00
Fabio Manganiello 8b478ede45 vue.js migration commit - WIP 2019-05-28 19:16:55 +02:00
Fabio Manganiello 1ad86428c8 Added support for custom webhooks 2019-05-17 14:55:29 +00:00
Fabio Manganiello 9fc243c93d Use startTime instead of endTime as a time indicator to identify new records 2019-03-29 10:14:46 +00:00
Fabio Manganiello 24d395ce49 Use endTime 2019-03-28 14:37:26 +01:00
Fabio Manganiello c84a6047ed Using modifiedTime instead of startTime to track new data points 2019-03-28 14:17:43 +01:00
Fabio Manganiello c3b2212972 Storing last processed timestamp per fit metric instead of a single timestamp for all the metrics to prevent new data points from being masked from newer ones from other metrics 2019-03-28 02:36:16 +01:00
Fabio Manganiello 68f985d2c6 Copy websockets list before iterating over it to prevent race conditions upon list changed upon iteration 2019-03-27 02:25:06 +01:00
Fabio Manganiello 387ed23e86 No need for snapcast-settings-btn class on snapcast-host-container 2019-03-27 00:49:53 +01:00
Fabio Manganiello 67fd88950a Fixed modal madness in Snapcast frontend 2019-03-27 00:41:19 +01:00
Fabio Manganiello 31108b21e5 Don't define Snapcast modal open elements on the highest level, or modals will pop up even when clicking on other elements than the name 2019-03-21 18:30:32 +01:00
Fabio Manganiello 92f1f3eea7 Wrap Google Fit checks in try-catch block to prevent the backend from crashing with no reload 2019-03-20 10:48:07 +00:00
Fabio Manganiello 7072a19829 Print timestamps in human readable format 2019-03-19 11:32:06 +00:00
Fabio Manganiello eb7b9c066c Logging info about processed Fit entries to debug why we don't always get all the new events 2019-03-19 11:29:53 +00:00
Fabio Manganiello af97f7b6a5 Tentative fix for Google Fit data points timestamp tracking 2019-03-18 11:58:40 +00:00
Fabio Manganiello 9d36688a61 Don't fail hard if it's not possible yet to retrieve the mopidy status in the backend constructor 2019-03-17 02:06:56 +01:00
Fabio Manganiello a1c31a9fb9 Better handling for last_timestamp reads from Google Fit backend 2019-03-17 00:31:32 +01:00
Fabio Manganiello 9153b1e9c4 Added __init__.py init backend.google 2019-03-16 19:36:46 +01:00
Fabio Manganiello f201f039e9 Extended and normalized key names in GoogleFitEvent type 2019-03-16 19:28:47 +01:00
Fabio Manganiello 87d63d7cb3 Added Google Fit backend 2019-03-16 01:22:42 +01:00
Fabio Manganiello 022262eb78 Handle MQTT listeners by host with lists of topics, so we only need one listener thread per host 2019-03-07 23:03:12 +01:00
Fabio Manganiello 84099b2ab7 Added support for multiple listeners on multiple servers and topics for general-purpose messaging on the MQTT backend 2019-03-07 22:52:02 +01:00
Fabio Manganiello 38ebe87220 Get the device_id after initializing/creating the device 2019-03-07 20:11:32 +01:00
Fabio Manganiello 9324ad3f9b Create a device if it doesn't exist 2019-03-07 20:05:40 +01:00
Fabio Manganiello fb93aec3ec Added empty __init__.py to plugins to let importlib correctly find the submodules 2019-03-06 02:21:26 +01:00
Fabio Manganiello 0596d77403 Support for camera snapshot and stream endpoints and for disabling logging on response and event messages 2019-03-06 02:01:17 +01:00
Fabio Manganiello 619c750f3b Don't fail hard if status is not available 2019-03-03 12:42:31 +01:00
Fabio Manganiello a9fb6a38dd New API for firing events and registering/unregistering event handlers
both for plugins and backends
2019-02-28 01:21:25 +01:00
Fabio Manganiello 811af1bf9d Removed conflict leftovers 2019-02-26 23:55:00 +01:00
Fabio Manganiello 17367f5b3e Added camera plugin over cv2 2019-02-26 23:50:48 +01:00
Fabio Manganiello 150d95d0dc Support for launching uWSGI directly from the HTTP backend 2019-02-25 10:52:48 +01:00
Fabio Manganiello 0104037ada Dashboard background image added to static/resources 2019-02-24 20:10:58 +01:00
Fabio Manganiello 2adab13d50 Added favicon 2019-02-24 19:59:08 +01:00
Fabio Manganiello 8ef3aafb52 Added missing doc line in backend.http 2019-02-24 15:53:01 +01:00
Fabio Manganiello 8153d8476f Added uWSGI optional dependency for HTTP backend 2019-02-24 12:35:26 +01:00
Fabio Manganiello e3fcebe4b6 Made a separate uWSGI startup script for the webapp 2019-02-24 00:17:31 +01:00
Fabio Manganiello c74b939660 Renamed app->application for the main Flask webapp to make sure that the default uwsgi configuration can pick it up 2019-02-24 00:11:35 +01:00
Fabio Manganiello d5c31d938b Run each message handling logic on the bus on a separate thread to make sure that messages don't queue up too much 2019-02-23 23:58:43 +01:00
Fabio Manganiello 0e794cd1b0 Refactored HTTP server to split the routes on separate files and keep the main Flask app object in a separate file as well so it can be easily wrapped by a WSGI instance 2019-02-23 21:19:00 +01:00
Fabio Manganiello 73383ab80f Panel and modal close bindings should refer the target element in the event, not $(this) 2019-02-21 20:13:31 +01:00
Fabio Manganiello 6e1b6686c2 Revert "Running Flask webserver in another thread instead than another process"
This reverts commit 0a5c42fdfd.
2019-02-21 16:15:06 +01:00
Fabio Manganiello 0a5c42fdfd Running Flask webserver in another thread instead than another process 2019-02-21 14:33:41 +01:00
Fabio Manganiello 97e1dfacdf Made VLC template symlink 2019-02-21 01:38:21 +01:00
Fabio Manganiello fd18bd84ca Don't download subtitles for magnet links (until the media file/metadata is ready at least) 2019-02-19 10:37:29 +01:00
Fabio Manganiello 151e2e56d9 typo 2019-02-19 01:05:44 +01:00