{"action":"created","issue":{"url":"https://api.github.com/repos/hyperion-project/hyperion.ng/issues/476","repository_url":"https://api.github.com/repos/hyperion-project/hyperion.ng","labels_url":"https://api.github.com/repos/hyperion-project/hyperion.ng/issues/476/labels{/name}","comments_url":"https://api.github.com/repos/hyperion-project/hyperion.ng/issues/476/comments","events_url":"https://api.github.com/repos/hyperion-project/hyperion.ng/issues/476/events","html_url":"https://github.com/hyperion-project/hyperion.ng/pull/476","id":261707123,"number":476,"title":"JsonUtils & improvements","user":{"login":"brindosch","id":15967679,"avatar_url":"https://avatars3.githubusercontent.com/u/15967679?v=4","gravatar_id":"","url":"https://api.github.com/users/brindosch","html_url":"https://github.com/brindosch","followers_url":"https://api.github.com/users/brindosch/followers","following_url":"https://api.github.com/users/brindosch/following{/other_user}","gists_url":"https://api.github.com/users/brindosch/gists{/gist_id}","starred_url":"https://api.github.com/users/brindosch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brindosch/subscriptions","organizations_url":"https://api.github.com/users/brindosch/orgs","repos_url":"https://api.github.com/users/brindosch/repos","events_url":"https://api.github.com/users/brindosch/events{/privacy}","received_events_url":"https://api.github.com/users/brindosch/received_events","type":"User","site_admin":false},"labels":[{"id":422745363,"url":"https://api.github.com/repos/hyperion-project/hyperion.ng/labels/Closed","name":"Closed","color":"ededed","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":44,"created_at":"2017-09-29T17:14:15Z","updated_at":"2017-10-14T15:53:19Z","closed_at":"2017-10-12T09:55:04Z","author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/hyperion-project/hyperion.ng/pulls/476","html_url":"https://github.com/hyperion-project/hyperion.ng/pull/476","diff_url":"https://github.com/hyperion-project/hyperion.ng/pull/476.diff","patch_url":"https://github.com/hyperion-project/hyperion.ng/pull/476.patch"},"body":"**1.** Tell us something about your changes.\r\nAdd JsonUtils which replaces (or should replace all other json functions (QJsonFactory)). FileUtils expanded. Trys to avoid duplicated stuff by wrapping basic functions into other functions so you can access always the function you actually need or the datatypes. These functions also logs everything you need to know (just on failure). To keep the belongings to their caller you pass also the logger instance to them. During read/write of files all possible QFileError's are resolved.\r\n\r\n- General: leds array minItems of 1 to prevent segfault\r\n- General: clearAll kills no longer backgroundEff\r\n- General: Added special keyword $ROOT for paths which will be replaced with the given/default rootPath of hyperiond (see below)\r\n- General: Webserver defaults to port 8090\r\n- JsonRpc: effect save no longer returns success on failure\r\n- WebUI: json/proto/boblight ports now minimum 1024, webserver 80\r\n- WebUI: Fixed effect configurator test error\r\n\r\n\r\n# WARNING\r\nUsage of hypriond has been changed! This change is required for future additions!\r\nDo no longer provide a path to config, just provide a config name (defaults to hyperion_main.json, so it is not required in single instance usage)! A new argument has been added (--rootPath) to control the user data folder, defaults to your home directory\r\n\r\nExample:\r\n'''\r\nhyperiond --rootPath /home/hyperion/TESTDIR\r\n[hyperiond MAIN] <WARNING> Create new config file \r\n (/home/hyperion/TESTDIR/config/hyperion_main.json)\r\n[hyperiond EFFECTENGINE] <WARNING> New Effect path \"/home/hyperion/TESTDIR/custom-effects\" created successfull\r\n'''\r\nThat means also, you can call hyperiond without arguments safely as it points always to the same config/dir, the old behaviour was sloppy (based on working directory, which changes heavy when you call it from a service and command line)\r\n\r\n@Paulchen-Panther \r\nIch hab verzweifelt versucht QJsonFactory::readSchema zu portieren. Eigentlich funktioniert es dem log nach, nur scheint das insert() von QJsonObject irgendwie zickig zu sein, denn es kommt murks bei raus sobald im QJsonValue ein QJsonObject ist, ein QJsonArray scheint kein Problem zu sein (selbst die objects im array gehen dann wieder, was eigentlich nicht viel Sinn macht). Jedenfalls kommt am Ende nicht das raus was durch das log läuft. Hast du mir vielleicht einen Tipp?\r\n\r\n**2.** If this changes affect the .conf file. Please provide the changed section\r\n\r\n**3.** Reference an issue (optional)\r\nhttps://github.com/hyperion-project/hyperion.ng/issues/473\r\n\r\nNote: For further discussions use our forum: forum.hyperion-project.org\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/hyperion-project/hyperion.ng/issues/comments/336644096","html_url":"https://github.com/hyperion-project/hyperion.ng/pull/476#issuecomment-336644096","issue_url":"https://api.github.com/repos/hyperion-project/hyperion.ng/issues/476","id":336644096,"user":{"login":"Paulchen-Panther","id":16664240,"avatar_url":"https://avatars0.githubusercontent.com/u/16664240?v=4","gravatar_id":"","url":"https://api.github.com/users/Paulchen-Panther","html_url":"https://github.com/Paulchen-Panther","followers_url":"https://api.github.com/users/Paulchen-Panther/followers","following_url":"https://api.github.com/users/Paulchen-Panther/following{/other_user}","gists_url":"https://api.github.com/users/Paulchen-Panther/gists{/gist_id}","starred_url":"https://api.github.com/users/Paulchen-Panther/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Paulchen-Panther/subscriptions","organizations_url":"https://api.github.com/users/Paulchen-Panther/orgs","repos_url":"https://api.github.com/users/Paulchen-Panther/repos","events_url":"https://api.github.com/users/Paulchen-Panther/events{/privacy}","received_events_url":"https://api.github.com/users/Paulchen-Panther/received_events","type":"User","site_admin":false},"created_at":"2017-10-14T15:53:19Z","updated_at":"2017-10-14T15:53:19Z","author_association":"CONTRIBUTOR","body":"Ich hab mal alle Effekte kurz getestet. Hier die liste mit den fehlerhaften python scripts:\r\n\r\n```\r\n[hyperiond EFFECTENGINE] <ERROR> ###### PYTHON EXCEPTION ######\r\n[hyperiond EFFECTENGINE] <ERROR> ## In effect 'Cinema brighten lights'\r\n[hyperiond EFFECTENGINE] <ERROR> ## ZeroDivisionError: float division by zero\r\n[hyperiond EFFECTENGINE] <ERROR> ## Traceback (most recent call last):\r\n[hyperiond EFFECTENGINE] <ERROR> ## File \"<string>\", line 35, in <module>\r\n[hyperiond EFFECTENGINE] <ERROR> ## ZeroDivisionError: float division by zero\r\n[hyperiond EFFECTENGINE] <ERROR> ###### EXCEPTION END ######\r\n\r\n[hyperiond EFFECTENGINE] <ERROR> ###### PYTHON EXCEPTION ######\r\n[hyperiond EFFECTENGINE] <ERROR> ## In effect 'Cinema dim lights'\r\n[hyperiond EFFECTENGINE] <ERROR> ## ZeroDivisionError: float division by zero\r\n[hyperiond EFFECTENGINE] <ERROR> ## Traceback (most recent call last):\r\n[hyperiond EFFECTENGINE] <ERROR> ## File \"<string>\", line 41, in <module>\r\n[hyperiond EFFECTENGINE] <ERROR> ## ZeroDivisionError: float division by zero\r\n[hyperiond EFFECTENGINE] <ERROR> ###### EXCEPTION END ######\r\n\r\n[hyperiond EFFECTENGINE] <ERROR> ###### PYTHON EXCEPTION ######\r\n[hyperiond EFFECTENGINE] <ERROR> ## In effect 'Notify blue'\r\n[hyperiond EFFECTENGINE] <ERROR> ## ZeroDivisionError: float division by zero\r\n[hyperiond EFFECTENGINE] <ERROR> ## Traceback (most recent call last):\r\n[hyperiond EFFECTENGINE] <ERROR> ## File \"<string>\", line 35, in <module>\r\n[hyperiond EFFECTENGINE] <ERROR> ## ZeroDivisionError: float division by zero\r\n[hyperiond EFFECTENGINE] <ERROR> ###### EXCEPTION END ######\r\n\r\n[hyperiond EFFECTENGINE] <ERROR> ###### PYTHON EXCEPTION ######\r\n[hyperiond EFFECTENGINE] <ERROR> ## In effect 'Random'\r\n[hyperiond EFFECTENGINE] <ERROR> ## ZeroDivisionError: float division by zero\r\n[hyperiond EFFECTENGINE] <ERROR> ## Traceback (most recent call last):\r\n[hyperiond EFFECTENGINE] <ERROR> ## File \"<string>\", line 10, in <module>\r\n[hyperiond EFFECTENGINE] <ERROR> ## ZeroDivisionError: float division by zero\r\n[hyperiond EFFECTENGINE] <ERROR> ###### EXCEPTION END ######\r\n\r\n[hyperiond EFFECTENGINE] <ERROR> ###### PYTHON EXCEPTION ######\r\n[hyperiond EFFECTENGINE] <ERROR> ## In effect 'Strobe red'\r\n[hyperiond EFFECTENGINE] <ERROR> ## ZeroDivisionError: float division by zero\r\n[hyperiond EFFECTENGINE] <ERROR> ## Traceback (most recent call last):\r\n[hyperiond EFFECTENGINE] <ERROR> ## File \"<string>\", line 35, in <module>\r\n[hyperiond EFFECTENGINE] <ERROR> ## ZeroDivisionError: float division by zero\r\n[hyperiond EFFECTENGINE] <ERROR> ###### EXCEPTION END ######\r\n\r\n[hyperiond EFFECTENGINE] <ERROR> ###### PYTHON EXCEPTION ######\r\n[hyperiond EFFECTENGINE] <ERROR> ## In effect 'Strobe white'\r\n[hyperiond EFFECTENGINE] <ERROR> ## ZeroDivisionError: float division by zero\r\n[hyperiond EFFECTENGINE] <ERROR> ## Traceback (most recent call last):\r\n[hyperiond EFFECTENGINE] <ERROR> ## File \"<string>\", line 41, in <module>\r\n[hyperiond EFFECTENGINE] <ERROR> ## ZeroDivisionError: float division by zero\r\n[hyperiond EFFECTENGINE] <ERROR> ###### EXCEPTION END ######\r\n```"}}
{"actor":{"display_login":"Paulchen-Panther"}}