{"action":"created","comment":{"url":"https://api.github.com/repos/openvstorage/framework-extensions/pulls/comments/212551471","pull_request_review_id":149209781,"id":212551471,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxMjU1MTQ3MQ==","diff_hunk":"@@ -0,0 +1,79 @@\n+# Copyright (C) 2018 iNuron NV\n+#\n+# This file is part of Open vStorage Open Source Edition (OSE),\n+# as available from\n+#\n+#      http://www.openvstorage.org and\n+#      http://www.openvstorage.com.\n+#\n+# This file is free software; you can redistribute it and/or modify it\n+# under the terms of the GNU Affero General Public License v3 (GNU AGPLv3)\n+# as published by the Free Software Foundation, in version 3 as it comes\n+# in the LICENSE.txt file of the Open vStorage OSE distribution.\n+#\n+# Open vStorage is distributed in the hope that it will be useful,\n+# but WITHOUT ANY WARRANTY of any kind.\n+\n+\"\"\"\n+UDev Generator\n+\"\"\"\n+\n+from collections import OrderedDict\n+\n+\n+class UDevGenerator(object):\n+\n+    base_path = '/lib/udev/rules.d/{0}'\n+\n+    def __init__(self, name, level=99):\n+        # type(str, Optional[int]) -> None\n+        \"\"\"\n+        Generates a Udev generator object, that can be expanded with various seperate rules.\n+        :param name: Name that will be\n+        :param level:","path":"src/generic/udev.py","position":33,"original_position":33,"commit_id":"f21c85f6009c9fb69295d2d85b6a9acbc0b88d05","original_commit_id":"f21c85f6009c9fb69295d2d85b6a9acbc0b88d05","user":{"login":"JeffreyDevloo","id":17570109,"node_id":"MDQ6VXNlcjE3NTcwMTA5","avatar_url":"https://avatars0.githubusercontent.com/u/17570109?v=4","gravatar_id":"","url":"https://api.github.com/users/JeffreyDevloo","html_url":"https://github.com/JeffreyDevloo","followers_url":"https://api.github.com/users/JeffreyDevloo/followers","following_url":"https://api.github.com/users/JeffreyDevloo/following{/other_user}","gists_url":"https://api.github.com/users/JeffreyDevloo/gists{/gist_id}","starred_url":"https://api.github.com/users/JeffreyDevloo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JeffreyDevloo/subscriptions","organizations_url":"https://api.github.com/users/JeffreyDevloo/orgs","repos_url":"https://api.github.com/users/JeffreyDevloo/repos","events_url":"https://api.github.com/users/JeffreyDevloo/events{/privacy}","received_events_url":"https://api.github.com/users/JeffreyDevloo/received_events","type":"User","site_admin":false},"body":"Docstrings","created_at":"2018-08-24T08:07:12Z","updated_at":"2018-08-24T08:10:01Z","html_url":"https://github.com/openvstorage/framework-extensions/pull/170#discussion_r212551471","pull_request_url":"https://api.github.com/repos/openvstorage/framework-extensions/pulls/170","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/openvstorage/framework-extensions/pulls/comments/212551471"},"html":{"href":"https://github.com/openvstorage/framework-extensions/pull/170#discussion_r212551471"},"pull_request":{"href":"https://api.github.com/repos/openvstorage/framework-extensions/pulls/170"}}},"pull_request":{"url":"https://api.github.com/repos/openvstorage/framework-extensions/pulls/170","id":210439683,"node_id":"MDExOlB1bGxSZXF1ZXN0MjEwNDM5Njgz","html_url":"https://github.com/openvstorage/framework-extensions/pull/170","diff_url":"https://github.com/openvstorage/framework-extensions/pull/170.diff","patch_url":"https://github.com/openvstorage/framework-extensions/pull/170.patch","issue_url":"https://api.github.com/repos/openvstorage/framework-extensions/issues/170","number":170,"state":"open","locked":false,"title":"Udev generator + unittests","user":{"login":"simonOpenV","id":33058909,"node_id":"MDQ6VXNlcjMzMDU4OTA5","avatar_url":"https://avatars1.githubusercontent.com/u/33058909?v=4","gravatar_id":"","url":"https://api.github.com/users/simonOpenV","html_url":"https://github.com/simonOpenV","followers_url":"https://api.github.com/users/simonOpenV/followers","following_url":"https://api.github.com/users/simonOpenV/following{/other_user}","gists_url":"https://api.github.com/users/simonOpenV/gists{/gist_id}","starred_url":"https://api.github.com/users/simonOpenV/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/simonOpenV/subscriptions","organizations_url":"https://api.github.com/users/simonOpenV/orgs","repos_url":"https://api.github.com/users/simonOpenV/repos","events_url":"https://api.github.com/users/simonOpenV/events{/privacy}","received_events_url":"https://api.github.com/users/simonOpenV/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-08-23T13:00:13Z","updated_at":"2018-08-24T08:10:01Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f5aa62492bfa2758835370a77efa5ef3061efdca","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":621744970,"node_id":"MDU6TGFiZWw2MjE3NDQ5NzA=","url":"https://api.github.com/repos/openvstorage/framework-extensions/labels/state_inprogress","name":"state_inprogress","color":"c2e0c6","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/openvstorage/framework-extensions/pulls/170/commits","review_comments_url":"https://api.github.com/repos/openvstorage/framework-extensions/pulls/170/comments","review_comment_url":"https://api.github.com/repos/openvstorage/framework-extensions/pulls/comments{/number}","comments_url":"https://api.github.com/repos/openvstorage/framework-extensions/issues/170/comments","statuses_url":"https://api.github.com/repos/openvstorage/framework-extensions/statuses/f21c85f6009c9fb69295d2d85b6a9acbc0b88d05","head":{"label":"openvstorage:udev_generator","ref":"udev_generator","sha":"f21c85f6009c9fb69295d2d85b6a9acbc0b88d05","user":{"login":"openvstorage","id":12763393,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyNzYzMzkz","avatar_url":"https://avatars3.githubusercontent.com/u/12763393?v=4","gravatar_id":"","url":"https://api.github.com/users/openvstorage","html_url":"https://github.com/openvstorage","followers_url":"https://api.github.com/users/openvstorage/followers","following_url":"https://api.github.com/users/openvstorage/following{/other_user}","gists_url":"https://api.github.com/users/openvstorage/gists{/gist_id}","starred_url":"https://api.github.com/users/openvstorage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openvstorage/subscriptions","organizations_url":"https://api.github.com/users/openvstorage/orgs","repos_url":"https://api.github.com/users/openvstorage/repos","events_url":"https://api.github.com/users/openvstorage/events{/privacy}","received_events_url":"https://api.github.com/users/openvstorage/received_events","type":"Organization","site_admin":false},"repo":{"id":91660291,"node_id":"MDEwOlJlcG9zaXRvcnk5MTY2MDI5MQ==","name":"framework-extensions","full_name":"openvstorage/framework-extensions","owner":{"login":"openvstorage","id":12763393,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyNzYzMzkz","avatar_url":"https://avatars3.githubusercontent.com/u/12763393?v=4","gravatar_id":"","url":"https://api.github.com/users/openvstorage","html_url":"https://github.com/openvstorage","followers_url":"https://api.github.com/users/openvstorage/followers","following_url":"https://api.github.com/users/openvstorage/following{/other_user}","gists_url":"https://api.github.com/users/openvstorage/gists{/gist_id}","starred_url":"https://api.github.com/users/openvstorage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openvstorage/subscriptions","organizations_url":"https://api.github.com/users/openvstorage/orgs","repos_url":"https://api.github.com/users/openvstorage/repos","events_url":"https://api.github.com/users/openvstorage/events{/privacy}","received_events_url":"https://api.github.com/users/openvstorage/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/openvstorage/framework-extensions","description":null,"fork":false,"url":"https://api.github.com/repos/openvstorage/framework-extensions","forks_url":"https://api.github.com/repos/openvstorage/framework-extensions/forks","keys_url":"https://api.github.com/repos/openvstorage/framework-extensions/keys{/key_id}","collaborators_url":"https://api.github.com/repos/openvstorage/framework-extensions/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/openvstorage/framework-extensions/teams","hooks_url":"https://api.github.com/repos/openvstorage/framework-extensions/hooks","issue_events_url":"https://api.github.com/repos/openvstorage/framework-extensions/issues/events{/number}","events_url":"https://api.github.com/repos/openvstorage/framework-extensions/events","assignees_url":"https://api.github.com/repos/openvstorage/framework-extensions/assignees{/user}","branches_url":"https://api.github.com/repos/openvstorage/framework-extensions/branches{/branch}","tags_url":"https://api.github.com/repos/openvstorage/framework-extensions/tags","blobs_url":"https://api.github.com/repos/openvstorage/framework-extensions/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/openvstorage/framework-extensions/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/openvstorage/framework-extensions/git/refs{/sha}","trees_url":"https://api.github.com/repos/openvstorage/framework-extensions/git/trees{/sha}","statuses_url":"https://api.github.com/repos/openvstorage/framework-extensions/statuses/{sha}","languages_url":"https://api.github.com/repos/openvstorage/framework-extensions/languages","stargazers_url":"https://api.github.com/repos/openvstorage/framework-extensions/stargazers","contributors_url":"https://api.github.com/repos/openvstorage/framework-extensions/contributors","subscribers_url":"https://api.github.com/repos/openvstorage/framework-extensions/subscribers","subscription_url":"https://api.github.com/repos/openvstorage/framework-extensions/subscription","commits_url":"https://api.github.com/repos/openvstorage/framework-extensions/commits{/sha}","git_commits_url":"https://api.github.com/repos/openvstorage/framework-extensions/git/commits{/sha}","comments_url":"https://api.github.com/repos/openvstorage/framework-extensions/comments{/number}","issue_comment_url":"https://api.github.com/repos/openvstorage/framework-extensions/issues/comments{/number}","contents_url":"https://api.github.com/repos/openvstorage/framework-extensions/contents/{+path}","compare_url":"https://api.github.com/repos/openvstorage/framework-extensions/compare/{base}...{head}","merges_url":"https://api.github.com/repos/openvstorage/framework-extensions/merges","archive_url":"https://api.github.com/repos/openvstorage/framework-extensions/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/openvstorage/framework-extensions/downloads","issues_url":"https://api.github.com/repos/openvstorage/framework-extensions/issues{/number}","pulls_url":"https://api.github.com/repos/openvstorage/framework-extensions/pulls{/number}","milestones_url":"https://api.github.com/repos/openvstorage/framework-extensions/milestones{/number}","notifications_url":"https://api.github.com/repos/openvstorage/framework-extensions/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/openvstorage/framework-extensions/labels{/name}","releases_url":"https://api.github.com/repos/openvstorage/framework-extensions/releases{/id}","deployments_url":"https://api.github.com/repos/openvstorage/framework-extensions/deployments","created_at":"2017-05-18T07:03:44Z","updated_at":"2018-08-23T15:01:56Z","pushed_at":"2018-08-23T15:01:56Z","git_url":"git://github.com/openvstorage/framework-extensions.git","ssh_url":"git@github.com:openvstorage/framework-extensions.git","clone_url":"https://github.com/openvstorage/framework-extensions.git","svn_url":"https://github.com/openvstorage/framework-extensions","homepage":null,"size":14337,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":6,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":6,"watchers":0,"default_branch":"develop"}},"base":{"label":"openvstorage:develop","ref":"develop","sha":"594c779142f10d7c15324ce53323689500b61037","user":{"login":"openvstorage","id":12763393,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyNzYzMzkz","avatar_url":"https://avatars3.githubusercontent.com/u/12763393?v=4","gravatar_id":"","url":"https://api.github.com/users/openvstorage","html_url":"https://github.com/openvstorage","followers_url":"https://api.github.com/users/openvstorage/followers","following_url":"https://api.github.com/users/openvstorage/following{/other_user}","gists_url":"https://api.github.com/users/openvstorage/gists{/gist_id}","starred_url":"https://api.github.com/users/openvstorage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openvstorage/subscriptions","organizations_url":"https://api.github.com/users/openvstorage/orgs","repos_url":"https://api.github.com/users/openvstorage/repos","events_url":"https://api.github.com/users/openvstorage/events{/privacy}","received_events_url":"https://api.github.com/users/openvstorage/received_events","type":"Organization","site_admin":false},"repo":{"id":91660291,"node_id":"MDEwOlJlcG9zaXRvcnk5MTY2MDI5MQ==","name":"framework-extensions","full_name":"openvstorage/framework-extensions","owner":{"login":"openvstorage","id":12763393,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyNzYzMzkz","avatar_url":"https://avatars3.githubusercontent.com/u/12763393?v=4","gravatar_id":"","url":"https://api.github.com/users/openvstorage","html_url":"https://github.com/openvstorage","followers_url":"https://api.github.com/users/openvstorage/followers","following_url":"https://api.github.com/users/openvstorage/following{/other_user}","gists_url":"https://api.github.com/users/openvstorage/gists{/gist_id}","starred_url":"https://api.github.com/users/openvstorage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openvstorage/subscriptions","organizations_url":"https://api.github.com/users/openvstorage/orgs","repos_url":"https://api.github.com/users/openvstorage/repos","events_url":"https://api.github.com/users/openvstorage/events{/privacy}","received_events_url":"https://api.github.com/users/openvstorage/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/openvstorage/framework-extensions","description":null,"fork":false,"url":"https://api.github.com/repos/openvstorage/framework-extensions","forks_url":"https://api.github.com/repos/openvstorage/framework-extensions/forks","keys_url":"https://api.github.com/repos/openvstorage/framework-extensions/keys{/key_id}","collaborators_url":"https://api.github.com/repos/openvstorage/framework-extensions/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/openvstorage/framework-extensions/teams","hooks_url":"https://api.github.com/repos/openvstorage/framework-extensions/hooks","issue_events_url":"https://api.github.com/repos/openvstorage/framework-extensions/issues/events{/number}","events_url":"https://api.github.com/repos/openvstorage/framework-extensions/events","assignees_url":"https://api.github.com/repos/openvstorage/framework-extensions/assignees{/user}","branches_url":"https://api.github.com/repos/openvstorage/framework-extensions/branches{/branch}","tags_url":"https://api.github.com/repos/openvstorage/framework-extensions/tags","blobs_url":"https://api.github.com/repos/openvstorage/framework-extensions/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/openvstorage/framework-extensions/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/openvstorage/framework-extensions/git/refs{/sha}","trees_url":"https://api.github.com/repos/openvstorage/framework-extensions/git/trees{/sha}","statuses_url":"https://api.github.com/repos/openvstorage/framework-extensions/statuses/{sha}","languages_url":"https://api.github.com/repos/openvstorage/framework-extensions/languages","stargazers_url":"https://api.github.com/repos/openvstorage/framework-extensions/stargazers","contributors_url":"https://api.github.com/repos/openvstorage/framework-extensions/contributors","subscribers_url":"https://api.github.com/repos/openvstorage/framework-extensions/subscribers","subscription_url":"https://api.github.com/repos/openvstorage/framework-extensions/subscription","commits_url":"https://api.github.com/repos/openvstorage/framework-extensions/commits{/sha}","git_commits_url":"https://api.github.com/repos/openvstorage/framework-extensions/git/commits{/sha}","comments_url":"https://api.github.com/repos/openvstorage/framework-extensions/comments{/number}","issue_comment_url":"https://api.github.com/repos/openvstorage/framework-extensions/issues/comments{/number}","contents_url":"https://api.github.com/repos/openvstorage/framework-extensions/contents/{+path}","compare_url":"https://api.github.com/repos/openvstorage/framework-extensions/compare/{base}...{head}","merges_url":"https://api.github.com/repos/openvstorage/framework-extensions/merges","archive_url":"https://api.github.com/repos/openvstorage/framework-extensions/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/openvstorage/framework-extensions/downloads","issues_url":"https://api.github.com/repos/openvstorage/framework-extensions/issues{/number}","pulls_url":"https://api.github.com/repos/openvstorage/framework-extensions/pulls{/number}","milestones_url":"https://api.github.com/repos/openvstorage/framework-extensions/milestones{/number}","notifications_url":"https://api.github.com/repos/openvstorage/framework-extensions/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/openvstorage/framework-extensions/labels{/name}","releases_url":"https://api.github.com/repos/openvstorage/framework-extensions/releases{/id}","deployments_url":"https://api.github.com/repos/openvstorage/framework-extensions/deployments","created_at":"2017-05-18T07:03:44Z","updated_at":"2018-08-23T15:01:56Z","pushed_at":"2018-08-23T15:01:56Z","git_url":"git://github.com/openvstorage/framework-extensions.git","ssh_url":"git@github.com:openvstorage/framework-extensions.git","clone_url":"https://github.com/openvstorage/framework-extensions.git","svn_url":"https://github.com/openvstorage/framework-extensions","homepage":null,"size":14337,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":6,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":6,"watchers":0,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/openvstorage/framework-extensions/pulls/170"},"html":{"href":"https://github.com/openvstorage/framework-extensions/pull/170"},"issue":{"href":"https://api.github.com/repos/openvstorage/framework-extensions/issues/170"},"comments":{"href":"https://api.github.com/repos/openvstorage/framework-extensions/issues/170/comments"},"review_comments":{"href":"https://api.github.com/repos/openvstorage/framework-extensions/pulls/170/comments"},"review_comment":{"href":"https://api.github.com/repos/openvstorage/framework-extensions/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/openvstorage/framework-extensions/pulls/170/commits"},"statuses":{"href":"https://api.github.com/repos/openvstorage/framework-extensions/statuses/f21c85f6009c9fb69295d2d85b6a9acbc0b88d05"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"JeffreyDevloo"}}