Commit Graph

  • e1c3951456 Added events and websocket support in webpanel refactoring and removed old light.hue templates and scripts Fabio Manganiello 2019-05-26 23:41:12 +0200
  • 197a5805be Made nav header fixed Fabio Manganiello 2019-05-26 04:02:08 +0200
  • 01b111f436 Webpanel refactoring in progress Fabio Manganiello 2019-05-26 03:53:48 +0200
  • 897338399f Synchronize all lights toggles when scenes are selected Fabio Manganiello 2019-05-23 19:34:42 +0200
  • 5041d8bec2 whiteline PEP fix Fabio Manganiello 2019-05-23 19:08:53 +0200
  • e72d4de581 vue.js refactor part 1 - prepared webpanel logic and migrated light.hue plugin Fabio Manganiello 2019-05-23 18:51:28 +0200
  • f053aa455d PEP fixes for light.hue plugin and new methods xy and ct added Fabio Manganiello 2019-05-23 18:43:49 +0200
  • 8b478ede45 vue.js migration commit - WIP Fabio Manganiello 2019-05-15 09:31:04 +0200
  • 324ce7eaed New support for notifications in webpanel in vue.js Fabio Manganiello 2019-05-28 19:15:39 +0200
  • c751a24790 Added events and websocket support in webpanel refactoring and removed old light.hue templates and scripts Fabio Manganiello 2019-05-26 23:41:12 +0200
  • 561ce4c8aa Made nav header fixed Fabio Manganiello 2019-05-26 04:02:08 +0200
  • fc08ac7794 Webpanel refactoring in progress Fabio Manganiello 2019-05-26 03:53:48 +0200
  • 439548de1b Synchronize all lights toggles when scenes are selected Fabio Manganiello 2019-05-23 19:34:42 +0200
  • 1189254838 whiteline PEP fix Fabio Manganiello 2019-05-23 19:08:53 +0200
  • db710b3154 vue.js refactor part 1 - prepared webpanel logic and migrated light.hue plugin Fabio Manganiello 2019-05-23 18:51:28 +0200
  • 95d2a48bff PEP fixes for light.hue plugin and new methods xy and ct added Fabio Manganiello 2019-05-23 18:43:49 +0200
  • 1ad86428c8 Added support for custom webhooks Fabio Manganiello 2019-05-17 14:55:29 +0000
  • aa9f5d9be8 vue.js migration commit - WIP Fabio Manganiello 2019-05-15 09:31:04 +0200
  • 7ea65cf90e One more url fix Fabio Manganiello 2019-04-24 23:57:11 +0200
  • 5ed4b10de3 Fixed torrent search URLs Fabio Manganiello 2019-04-24 23:53:20 +0200
  • d2f4ec44c3 Support for searching all the torrent categories in parallel if no categories is provided Fabio Manganiello 2019-04-24 23:45:57 +0200
  • 2bcc22e0fc Refactored torrent search Fabio Manganiello 2019-04-24 23:25:22 +0200
  • 9f3f6c9caa Log URL being parsed Fabio Manganiello 2019-04-13 08:17:45 +0000
  • 3dd47260d6 Raise runtime error if mercury API responds with empty response Fabio Manganiello 2019-04-13 08:15:08 +0000
  • 8553a8eeb5 typo Fabio Manganiello 2019-04-13 08:10:35 +0000
  • 72f179cb7e typo Fabio Manganiello 2019-04-13 08:08:20 +0000
  • 1ea6041dfa Log response from Mercury API Fabio Manganiello 2019-04-13 08:06:40 +0000
  • 611e5f2160 Set default title with timestamp if no title is provided by the Instapaper API Fabio Manganiello 2019-04-13 08:03:42 +0000
  • c55deab6cb Support for authentication in HTTP plugin methods Fabio Manganiello 2019-04-11 16:21:39 +0200
  • 12fefaa220 Improved generated pdf font size and family Fabio Manganiello 2019-03-30 14:08:04 +0100
  • 24ec35e5b3 Increased font size in generated pdf Fabio Manganiello 2019-03-30 12:41:02 +0100
  • 3ca6e75634 Added font style to generated pdf Fabio Manganiello 2019-03-30 12:25:19 +0100
  • 9fc243c93d Use startTime instead of endTime as a time indicator to identify new records Fabio Manganiello 2019-03-29 10:14:46 +0000
  • b8e9adadbe Added plugin to parse web pages Fabio Manganiello 2019-03-29 03:57:16 +0100
  • 24d395ce49 Use endTime Fabio Manganiello 2019-03-28 14:37:26 +0100
  • c84a6047ed Using modifiedTime instead of startTime to track new data points Fabio Manganiello 2019-03-28 14:17:43 +0100
  • 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 Fabio Manganiello 2019-03-28 02:36:16 +0100
  • 68f985d2c6 Copy websockets list before iterating over it to prevent race conditions upon list changed upon iteration Fabio Manganiello 2019-03-27 02:25:06 +0100
  • 387ed23e86 No need for snapcast-settings-btn class on snapcast-host-container Fabio Manganiello 2019-03-27 00:49:53 +0100
  • 67fd88950a Fixed modal madness in Snapcast frontend Fabio Manganiello 2019-03-27 00:20:49 +0100
  • 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 Fabio Manganiello 2019-03-21 18:30:32 +0100
  • 20b0c09a0c Removed workaround that doesn't work Fabio Manganiello 2019-03-20 18:37:46 +0100
  • 92f1f3eea7 Wrap Google Fit checks in try-catch block to prevent the backend from crashing with no reload Fabio Manganiello 2019-03-20 10:48:07 +0000
  • 7072a19829 Print timestamps in human readable format Fabio Manganiello 2019-03-19 11:32:06 +0000
  • eb7b9c066c Logging info about processed Fit entries to debug why we don't always get all the new events Fabio Manganiello 2019-03-19 11:29:53 +0000
  • af97f7b6a5 Tentative fix for Google Fit data points timestamp tracking Fabio Manganiello 2019-03-18 11:58:40 +0000
  • eb40024c53 Only initalize credentials map in Google plugins if some scopes are required Fabio Manganiello 2019-03-18 01:06:10 +0100
  • 710694e8d7 Added altitude to LatLongUpdateEvent Fabio Manganiello 2019-03-18 00:17:11 +0100
  • 8b89166e30 Fixed typo in SSL variable name Fabio Manganiello 2019-03-18 00:16:54 +0100
  • cbe4d8cd78 Delete recording thread item from map only if the thread has actually stopped Fabio Manganiello 2019-03-17 22:55:36 +0100
  • 81a200bd4e Make sure that device_id is in _is_recording and hasn't been removed by another thread before checking it Fabio Manganiello 2019-03-17 02:16:41 +0100
  • 9d36688a61 Don't fail hard if it's not possible yet to retrieve the mopidy status in the backend constructor Fabio Manganiello 2019-03-07 21:19:40 +0100
  • f95f52df19 Few fixes in camera plugin Fabio Manganiello 2019-03-17 02:06:47 +0100
  • 9ed4ad6d85 Set workaround environment variable before importing OpenCV Fabio Manganiello 2019-03-17 01:56:05 +0100
  • 9f008aa954 typo Fabio Manganiello 2019-03-17 01:41:00 +0100
  • 7fb53ead59 Always cast environment variable values to string Fabio Manganiello 2019-03-17 01:39:24 +0100
  • 2f1cea99fa Support for environment variables passed through main config Fabio Manganiello 2019-03-17 01:34:42 +0100
  • 3af30075e3 Temporarily workaround for OpenCV >= 3.4.2 bug that doesn't properly release the video device Fabio Manganiello 2019-03-17 01:26:06 +0100
  • 5942a7cd84 Removed unused imports Fabio Manganiello 2019-03-17 00:56:32 +0100
  • a1c31a9fb9 Better handling for last_timestamp reads from Google Fit backend Fabio Manganiello 2019-03-17 00:31:32 +0100
  • 5880ce51c8 Ignore config dir under root Fabio Manganiello 2019-03-16 23:47:55 +0100
  • b0ae31f53d Added simple startup script in bin Fabio Manganiello 2019-03-16 23:47:01 +0100
  • ab98e51b25 Ignore .idea configuration folder Fabio Manganiello 2019-03-16 22:59:09 +0100
  • 9153b1e9c4 Added __init__.py init backend.google Fabio Manganiello 2019-03-16 19:36:46 +0100
  • f201f039e9 Extended and normalized key names in GoogleFitEvent type Fabio Manganiello 2019-03-16 19:28:47 +0100
  • 87d63d7cb3 Added Google Fit backend Fabio Manganiello 2019-03-16 01:22:42 +0100
  • 55c0896b31 Refactored Google plugins with support multiple scopes and a simpler API and added Google Fit plugin Fabio Manganiello 2019-03-14 01:12:39 +0100
  • 022262eb78 Handle MQTT listeners by host with lists of topics, so we only need one listener thread per host Fabio Manganiello 2019-03-07 23:03:12 +0100
  • 84099b2ab7 Added support for multiple listeners on multiple servers and topics for general-purpose messaging on the MQTT backend Fabio Manganiello 2019-03-07 22:51:58 +0100
  • 38ebe87220 Get the device_id after initializing/creating the device Fabio Manganiello 2019-03-07 20:11:32 +0100
  • 9324ad3f9b Create a device if it doesn't exist Fabio Manganiello 2019-03-07 20:05:40 +0100
  • f6221a798a Don't add disable_logging to the string representation of the Response object unless it's set Fabio Manganiello 2019-03-06 02:23:01 +0100
  • fb93aec3ec Added empty __init__.py to plugins to let importlib correctly find the submodules Fabio Manganiello 2019-03-06 02:21:26 +0100
  • 0596d77403 Support for camera snapshot and stream endpoints and for disabling logging on response and event messages Fabio Manganiello 2019-03-06 02:01:17 +0100
  • dcb0555571 Returing the best option for torrents based on max peers/seeds and returning more metadata info on torrent.search Fabio Manganiello 2019-03-05 00:10:06 +0100
  • 619c750f3b Don't fail hard if status is not available Fabio Manganiello 2019-03-03 12:42:31 +0100
  • 771da4528b Reverted the revert Fabio Manganiello 2019-02-28 18:57:22 +0100
  • f2bd309478 Regex fix Fabio Manganiello 2019-02-28 18:30:52 +0100
  • 12fd582d70 typo Fabio Manganiello 2019-02-28 18:22:50 +0100
  • 1b9094a36b Some hysterical guy has Spotify has decided to change the playlists URI format again in the last couple of months with no notice nor back-compatibility plan. Normalizing playlist URIs in the new (or old-old?) format while innerly cursing at the incompetency of Spotify Fabio Manganiello 2019-02-28 16:33:36 +0100
  • 65d6e5a5f6 Support for video_type in camera plugin Fabio Manganiello 2019-02-28 01:55:12 +0100
  • 2af47372b0 Added docstring to EventGenerator class Fabio Manganiello 2019-02-28 01:28:51 +0100
  • a9fb6a38dd New API for firing events and registering/unregistering event handlers both for plugins and backends Fabio Manganiello 2019-02-28 01:21:25 +0100
  • e445029007 Added missing doc file Fabio Manganiello 2019-02-27 20:26:00 +0100
  • 301bc7912d Synchronized docs Fabio Manganiello 2019-02-27 20:22:57 +0100
  • 8dd1c2adc6 Added docs for the camera plugin Fabio Manganiello 2019-02-27 20:13:37 +0100
  • 29b8d0827b Added basic support for camera events in the camera plugin Fabio Manganiello 2019-02-27 20:12:40 +0100
  • 811af1bf9d Removed conflict leftovers Fabio Manganiello 2019-02-26 23:55:00 +0100
  • 17367f5b3e Added camera plugin over cv2 Fabio Manganiello 2019-02-26 23:48:53 +0100
  • 150d95d0dc Support for launching uWSGI directly from the HTTP backend Fabio Manganiello 2019-02-25 10:52:48 +0100
  • 0104037ada Dashboard background image added to static/resources Fabio Manganiello 2019-02-24 20:10:58 +0100
  • 2adab13d50 Added favicon Fabio Manganiello 2019-02-24 19:59:08 +0100
  • 06564b043e Version bump 0.9.5 -> 0.9.6 0.9.6 Fabio Manganiello 2019-02-24 19:04:07 +0100
  • 8ef3aafb52 Added missing doc line in backend.http Fabio Manganiello 2019-02-24 15:53:01 +0100
  • 8153d8476f Added uWSGI optional dependency for HTTP backend Fabio Manganiello 2019-02-24 12:35:26 +0100
  • e3fcebe4b6 Made a separate uWSGI startup script for the webapp Fabio Manganiello 2019-02-24 00:17:31 +0100
  • c74b939660 Renamed app->application for the main Flask webapp to make sure that the default uwsgi configuration can pick it up Fabio Manganiello 2019-02-24 00:11:35 +0100
  • d5c31d938b Run each message handling logic on the bus on a separate thread to make sure that messages don't queue up too much Fabio Manganiello 2019-02-23 23:58:43 +0100
  • 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 Fabio Manganiello 2019-02-23 21:19:00 +0100
  • 73383ab80f Panel and modal close bindings should refer the target element in the event, not $(this) Fabio Manganiello 2019-02-21 20:13:31 +0100