{"action":"opened","number":75,"pull_request":{"url":"https://api.github.com/repos/psss/did/pulls/75","id":49478229,"html_url":"https://github.com/psss/did/pull/75","diff_url":"https://github.com/psss/did/pull/75.diff","patch_url":"https://github.com/psss/did/pull/75.patch","issue_url":"https://api.github.com/repos/psss/did/issues/75","number":75,"state":"open","locked":false,"title":"FEATURE: Logg - easily track what you did each day","user":{"login":"kejbaly2","id":3764092,"avatar_url":"https://avatars.githubusercontent.com/u/3764092?v=3","gravatar_id":"","url":"https://api.github.com/users/kejbaly2","html_url":"https://github.com/kejbaly2","followers_url":"https://api.github.com/users/kejbaly2/followers","following_url":"https://api.github.com/users/kejbaly2/following{/other_user}","gists_url":"https://api.github.com/users/kejbaly2/gists{/gist_id}","starred_url":"https://api.github.com/users/kejbaly2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kejbaly2/subscriptions","organizations_url":"https://api.github.com/users/kejbaly2/orgs","repos_url":"https://api.github.com/users/kejbaly2/repos","events_url":"https://api.github.com/users/kejbaly2/events{/privacy}","received_events_url":"https://api.github.com/users/kejbaly2/received_events","type":"User","site_admin":false},"body":"    Logg - easily track what you did each day\r\n    \r\n    Here's an example .did/config entry:\r\n    \r\n        [joy]\r\n        type = logg\r\n        desc = Joy of the Week\r\n    \r\n        [tools]\r\n        type = logg\r\n        desc = Working on Tooling\r\n    \r\n    Then, an example usage:\r\n    \r\n        idid joy '@psss merged all my pull requests! #FTW'\r\n        did this week\r\n    \r\n        Status report for this week (2015-10-12 to 2015-10-18 16:57:49.980797+00:00).\r\n        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n         Chris Ward <cward@redhat.com>\r\n        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n        * Logg stats: 1\r\n         * 2015-10-13 @psss merged all my pull requests! #FTW [joy]\r\n    \r\n    The logg command results in a text file with the loggs stored in plain txt\r\n    \r\n        cat ~/.did/loggs/did-cward.txt\r\n        2015-10-13 X brought me coffee from Italy! #truelove\r\n    \r\n    If you specify 'engine' in the config to point to a git repo you can use a\r\n    git repo with branches as topics as the 'backend' for saving the logs.\r\n    \r\n        [logg]\r\n        engine = git\r\n    \r\n        [joy]\r\n        ...\r\n    \r\n    The same commands above will result in the following git repo, assuming\r\n    you have the necessary GitPython dependencies installed\r\n    \r\n        # config points to git backend\r\n        idid joy '@X brought me coffee from Italy! #ilovemonday'\r\n        cd ~/.did/loggs/did-cward.git/\r\n        git log\r\n        commit 19e4013edd3ccfd52bfe47e9565e6cc03b19f30c\r\n        Author: Chris Ward <cward@redhat.com>\r\n        Date:   Tue Oct 13 19:05:18 2015 +0200\r\n            @X brought me coffee from Italy! #ilovemonday [joy]\r\n    \r\n        commit 60e82b479e9e8792394c7adafca3c44616444496\r\n        Author: Chris Ward <cward@redhat.com>\r\n        Date:   Tue Oct 13 19:05:17 2015 +0200\r\n            New did repo added\r\n    \r\n    It's possible to also save to topic branches that are not\r\n    yet configured, however they won't be available for did reports\r\n    \r\n    Longer form messages can be included as well when using Git\r\n    engine backend, in the same form that a standard git message\r\n    can be Summary + Body separated by a empty line. Use --\r\n    as the 'logg msg' to launch your favorit editor for this. eg::\r\n    \r\n        idid joy --   # launches VIM by default\r\n    \r\n    Additionally, when using Git engine backend it's possible to\r\n    sign your commits by adding your gpg hash to the config. See\r\n    ``did.plugins.logg`` docs for more details.\r\n    \r\n    Some refactoring of was done:\r\n    * main() is split into _run_report (did) and _run_logg (idid)\r\n    * common arguments between did and idid now in parent class Options\r\n    * did and idid custom arguments in subclasses [Report,Logg]Options\r\n    * Some exceptions are now caught where they're actually raised\r\n    * Single instance of Config() is loaded and shared instead of\r\n      calling Config() everywhere a bunch of times\r\n    * Use super() rather than calling the parent class __init__ direct\r\n    * argument order for did.cli.main() matters now; all plugins tests\r\n      updated\r\n      BAD: --bitly --since ... --until ...\r\n      GOOD: --since ... --until ... --bitly\r\n    * some pep8 compliance fixes (eg, braket alignment)\r\n    \r\n    New command: idid\r\n    New Dependency added: GitPython\r\n    \r\n    Tests have (hopefully) been made more robust, and anyways, updated\r\n    * no more implicit global changes to config files; use set_config()\r\n    * main can now accept raw config string to override file based config\r\n    \r\n    There are a few non Logg related changes included here too:\r\n    \r\n    * global config can be obtained by calling ``did.base.get_config``\r\n    * global config can be set by calling ``did.base.set_config``\r\n    * ConfigParser converts 'true' and 'false' values to bool()\r\n    * str(``did.base.Date``) prints unicode version of itself\r\n    * custom strftime format can be passed to Date() for custom format\r\n    * Date() can handle more inputs: Date(), 'today', etc\r\n    * new function added: ``did.utils.remove_path``\r\n    \r\n    Known Issues\r\n    * .git/hooks/commit-msg (bash) fails on `make smoke` even though\r\n      `make smoke` standalone works; could be a python virtualenv issue\r\n    * rpm .spec has not been updated to include PythonGit\r\n\r\n","created_at":"2015-11-02T20:02:08Z","updated_at":"2015-11-02T20:02:08Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/psss/did/pulls/75/commits","review_comments_url":"https://api.github.com/repos/psss/did/pulls/75/comments","review_comment_url":"https://api.github.com/repos/psss/did/pulls/comments{/number}","comments_url":"https://api.github.com/repos/psss/did/issues/75/comments","statuses_url":"https://api.github.com/repos/psss/did/statuses/7f10598cf17b52926cb25d3c17c919307ee9640d","head":{"label":"kejbaly2:feat.logg","ref":"feat.logg","sha":"7f10598cf17b52926cb25d3c17c919307ee9640d","user":{"login":"kejbaly2","id":3764092,"avatar_url":"https://avatars.githubusercontent.com/u/3764092?v=3","gravatar_id":"","url":"https://api.github.com/users/kejbaly2","html_url":"https://github.com/kejbaly2","followers_url":"https://api.github.com/users/kejbaly2/followers","following_url":"https://api.github.com/users/kejbaly2/following{/other_user}","gists_url":"https://api.github.com/users/kejbaly2/gists{/gist_id}","starred_url":"https://api.github.com/users/kejbaly2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kejbaly2/subscriptions","organizations_url":"https://api.github.com/users/kejbaly2/orgs","repos_url":"https://api.github.com/users/kejbaly2/repos","events_url":"https://api.github.com/users/kejbaly2/events{/privacy}","received_events_url":"https://api.github.com/users/kejbaly2/received_events","type":"User","site_admin":false},"repo":{"id":43422730,"name":"did","full_name":"kejbaly2/did","owner":{"login":"kejbaly2","id":3764092,"avatar_url":"https://avatars.githubusercontent.com/u/3764092?v=3","gravatar_id":"","url":"https://api.github.com/users/kejbaly2","html_url":"https://github.com/kejbaly2","followers_url":"https://api.github.com/users/kejbaly2/followers","following_url":"https://api.github.com/users/kejbaly2/following{/other_user}","gists_url":"https://api.github.com/users/kejbaly2/gists{/gist_id}","starred_url":"https://api.github.com/users/kejbaly2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kejbaly2/subscriptions","organizations_url":"https://api.github.com/users/kejbaly2/orgs","repos_url":"https://api.github.com/users/kejbaly2/repos","events_url":"https://api.github.com/users/kejbaly2/events{/privacy}","received_events_url":"https://api.github.com/users/kejbaly2/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/kejbaly2/did","description":"What did you do last week, month, year?","fork":true,"url":"https://api.github.com/repos/kejbaly2/did","forks_url":"https://api.github.com/repos/kejbaly2/did/forks","keys_url":"https://api.github.com/repos/kejbaly2/did/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kejbaly2/did/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kejbaly2/did/teams","hooks_url":"https://api.github.com/repos/kejbaly2/did/hooks","issue_events_url":"https://api.github.com/repos/kejbaly2/did/issues/events{/number}","events_url":"https://api.github.com/repos/kejbaly2/did/events","assignees_url":"https://api.github.com/repos/kejbaly2/did/assignees{/user}","branches_url":"https://api.github.com/repos/kejbaly2/did/branches{/branch}","tags_url":"https://api.github.com/repos/kejbaly2/did/tags","blobs_url":"https://api.github.com/repos/kejbaly2/did/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kejbaly2/did/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kejbaly2/did/git/refs{/sha}","trees_url":"https://api.github.com/repos/kejbaly2/did/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kejbaly2/did/statuses/{sha}","languages_url":"https://api.github.com/repos/kejbaly2/did/languages","stargazers_url":"https://api.github.com/repos/kejbaly2/did/stargazers","contributors_url":"https://api.github.com/repos/kejbaly2/did/contributors","subscribers_url":"https://api.github.com/repos/kejbaly2/did/subscribers","subscription_url":"https://api.github.com/repos/kejbaly2/did/subscription","commits_url":"https://api.github.com/repos/kejbaly2/did/commits{/sha}","git_commits_url":"https://api.github.com/repos/kejbaly2/did/git/commits{/sha}","comments_url":"https://api.github.com/repos/kejbaly2/did/comments{/number}","issue_comment_url":"https://api.github.com/repos/kejbaly2/did/issues/comments{/number}","contents_url":"https://api.github.com/repos/kejbaly2/did/contents/{+path}","compare_url":"https://api.github.com/repos/kejbaly2/did/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kejbaly2/did/merges","archive_url":"https://api.github.com/repos/kejbaly2/did/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kejbaly2/did/downloads","issues_url":"https://api.github.com/repos/kejbaly2/did/issues{/number}","pulls_url":"https://api.github.com/repos/kejbaly2/did/pulls{/number}","milestones_url":"https://api.github.com/repos/kejbaly2/did/milestones{/number}","notifications_url":"https://api.github.com/repos/kejbaly2/did/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kejbaly2/did/labels{/name}","releases_url":"https://api.github.com/repos/kejbaly2/did/releases{/id}","created_at":"2015-09-30T08:59:24Z","updated_at":"2015-09-30T08:59:25Z","pushed_at":"2015-11-02T19:59:31Z","git_url":"git://github.com/kejbaly2/did.git","ssh_url":"git@github.com:kejbaly2/did.git","clone_url":"https://github.com/kejbaly2/did.git","svn_url":"https://github.com/kejbaly2/did","homepage":"","size":562,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"psss:master","ref":"master","sha":"591fa83447cae6e1c25978a783840bf60d774f41","user":{"login":"psss","id":2803150,"avatar_url":"https://avatars.githubusercontent.com/u/2803150?v=3","gravatar_id":"","url":"https://api.github.com/users/psss","html_url":"https://github.com/psss","followers_url":"https://api.github.com/users/psss/followers","following_url":"https://api.github.com/users/psss/following{/other_user}","gists_url":"https://api.github.com/users/psss/gists{/gist_id}","starred_url":"https://api.github.com/users/psss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/psss/subscriptions","organizations_url":"https://api.github.com/users/psss/orgs","repos_url":"https://api.github.com/users/psss/repos","events_url":"https://api.github.com/users/psss/events{/privacy}","received_events_url":"https://api.github.com/users/psss/received_events","type":"User","site_admin":false},"repo":{"id":34252576,"name":"did","full_name":"psss/did","owner":{"login":"psss","id":2803150,"avatar_url":"https://avatars.githubusercontent.com/u/2803150?v=3","gravatar_id":"","url":"https://api.github.com/users/psss","html_url":"https://github.com/psss","followers_url":"https://api.github.com/users/psss/followers","following_url":"https://api.github.com/users/psss/following{/other_user}","gists_url":"https://api.github.com/users/psss/gists{/gist_id}","starred_url":"https://api.github.com/users/psss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/psss/subscriptions","organizations_url":"https://api.github.com/users/psss/orgs","repos_url":"https://api.github.com/users/psss/repos","events_url":"https://api.github.com/users/psss/events{/privacy}","received_events_url":"https://api.github.com/users/psss/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/psss/did","description":"What did you do last week, month, year?","fork":false,"url":"https://api.github.com/repos/psss/did","forks_url":"https://api.github.com/repos/psss/did/forks","keys_url":"https://api.github.com/repos/psss/did/keys{/key_id}","collaborators_url":"https://api.github.com/repos/psss/did/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/psss/did/teams","hooks_url":"https://api.github.com/repos/psss/did/hooks","issue_events_url":"https://api.github.com/repos/psss/did/issues/events{/number}","events_url":"https://api.github.com/repos/psss/did/events","assignees_url":"https://api.github.com/repos/psss/did/assignees{/user}","branches_url":"https://api.github.com/repos/psss/did/branches{/branch}","tags_url":"https://api.github.com/repos/psss/did/tags","blobs_url":"https://api.github.com/repos/psss/did/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/psss/did/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/psss/did/git/refs{/sha}","trees_url":"https://api.github.com/repos/psss/did/git/trees{/sha}","statuses_url":"https://api.github.com/repos/psss/did/statuses/{sha}","languages_url":"https://api.github.com/repos/psss/did/languages","stargazers_url":"https://api.github.com/repos/psss/did/stargazers","contributors_url":"https://api.github.com/repos/psss/did/contributors","subscribers_url":"https://api.github.com/repos/psss/did/subscribers","subscription_url":"https://api.github.com/repos/psss/did/subscription","commits_url":"https://api.github.com/repos/psss/did/commits{/sha}","git_commits_url":"https://api.github.com/repos/psss/did/git/commits{/sha}","comments_url":"https://api.github.com/repos/psss/did/comments{/number}","issue_comment_url":"https://api.github.com/repos/psss/did/issues/comments{/number}","contents_url":"https://api.github.com/repos/psss/did/contents/{+path}","compare_url":"https://api.github.com/repos/psss/did/compare/{base}...{head}","merges_url":"https://api.github.com/repos/psss/did/merges","archive_url":"https://api.github.com/repos/psss/did/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/psss/did/downloads","issues_url":"https://api.github.com/repos/psss/did/issues{/number}","pulls_url":"https://api.github.com/repos/psss/did/pulls{/number}","milestones_url":"https://api.github.com/repos/psss/did/milestones{/number}","notifications_url":"https://api.github.com/repos/psss/did/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/psss/did/labels{/name}","releases_url":"https://api.github.com/repos/psss/did/releases{/id}","created_at":"2015-04-20T09:54:18Z","updated_at":"2015-10-29T01:42:08Z","pushed_at":"2015-11-02T20:02:08Z","git_url":"git://github.com/psss/did.git","ssh_url":"git@github.com:psss/did.git","clone_url":"https://github.com/psss/did.git","svn_url":"https://github.com/psss/did","homepage":"","size":1113,"stargazers_count":22,"watchers_count":22,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":17,"mirror_url":null,"open_issues_count":17,"forks":17,"open_issues":17,"watchers":22,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/psss/did/pulls/75"},"html":{"href":"https://github.com/psss/did/pull/75"},"issue":{"href":"https://api.github.com/repos/psss/did/issues/75"},"comments":{"href":"https://api.github.com/repos/psss/did/issues/75/comments"},"review_comments":{"href":"https://api.github.com/repos/psss/did/pulls/75/comments"},"review_comment":{"href":"https://api.github.com/repos/psss/did/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/psss/did/pulls/75/commits"},"statuses":{"href":"https://api.github.com/repos/psss/did/statuses/7f10598cf17b52926cb25d3c17c919307ee9640d"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":3,"additions":1987,"deletions":498,"changed_files":41}}