{"action":"created","comment":{"url":"https://api.github.com/repos/salamandra19/kindle/pulls/comments/165819997","pull_request_review_id":93819545,"id":165819997,"diff_hunk":"@@ -1,63 +1,357 @@\n package main\n \n import (\n+\t\"io/ioutil\"\n+\t\"os\"\n \t\"testing\"\n+\t\"time\"\n \n \t\"github.com/powerman/check\"\n \t_ \"github.com/smartystreets/goconvey/convey\"\n )\n \n func TestMain(m *testing.M) { check.TestMain(m) }\n \n-// - путь path/documents/cat\n-// - путь path/documents\n-\n+// - путь path/documents/dir\n func TestAbs2KindlePath(tt *testing.T) {\n \tt := check.T(tt)\n-\tcases := []struct {\n-\t\tpath string\n-\t\twant string\n-\t}{\n-\t\t{\"/home/tanya/documents/Author/book.txt\", \"Author/book.txt\"},\n-\t\t{\"/home/tanya/documents\", \"\"},\n+\n+\torigKindleDir := kindleDir\n+\tdefer func() { kindleDir = origKindleDir }()\n+\tkindleDir = \"/mnt/kindle\"\n+\n+\tt.Equal(Abs2KindlePath(\"/mnt/kindle/documents/Author/book.txt\"), \"Author/book.txt\")\n+\tt.PanicMatch(func() { Abs2KindlePath(\"book.txt\") }, `not a kindle path`)\n+\tt.PanicMatch(func() { Abs2KindlePath(\"\") }, `not a kindle path`)\n+}\n+\n+// - передать путь к существующим файлам\n+//   - убедиться, что программа произвела корректные записи в collection\n+func addbooks(t *check.C, path string) int64 {\n+\tfileInfo, err := os.Stat(path)\n+\tt.Nil(err)\n+\tlastAccess := fileInfo.ModTime().Unix() * 1000\n+\tt.Nil(filePath(path, fileInfo, err))\n+\treturn lastAccess\n+}\n+\n+func TestFilePath(tt *testing.T) {\n+\tt := check.T(tt)\n+\n+\ttmpDir, err := ioutil.TempDir(\"\", \"gotest\")\n+\tt.Nil(err)\n+\tdefer func() { t.Nil(os.Remove(tmpDir)) }()\n+\n+\torigKindleDir := kindleDir\n+\tdefer func() { kindleDir = origKindleDir }()\n+\tkindleDir = tmpDir\n+\n+\tdpath := tmpDir + \"/documents\"\n+\tdirs := []string{\n+\t\ttmpDir + \"/system\",\n+\t\tdpath,\n+\t\tdpath + \"/Author\",\n+\t\tdpath + \"/Author/new\",\n \t}\n-\tfor _, v := range cases {\n-\t\tgot := Abs2KindlePath(v.path)\n-\t\tt.Equal(got, v.want)\n+\tfiles := []string{\n+\t\tdpath + \"/Author/file.txt\",\n+\t\tdpath + \"/Author/new/file.pdf\",\n+\t\tdpath + \"/Author/new/file.mobi\",\n+\t\tdpath + \"/Author/new/file.prc\",\n+\t\tdpath + \"/Author/new/file.azw\",\n+\t\tdpath + \"/Author/new/file.azw3\",\n+\t\tdpath + \"/Author/new/file.jpg\",\n+\t\tdpath + \"/Author/new/file\",\n+\t}\n+\tfor _, d := range dirs {\n+\t\tt.Nil(os.Mkdir(d, 0755))\n \t}\n+\tdefer func() {\n+\t\tfor i := len(dirs) - 1; i >= 0; i-- {\n+\t\t\tt.Nil(os.Remove(dirs[i]))\n+\t\t}\n+\t}()\n+\tfor _, f := range files {\n+\t\tt.Nil(ioutil.WriteFile(f, nil, 0644))\n+\t}\n+\tdefer func() {\n+\t\tfor i := len(files) - 1; i >= 0; i-- {\n+\t\t\tt.Nil(os.Remove(files[i]))\n+\t\t}\n+\t}()\n+\n+\tvar collectionTest = make(map[string]*Books)\n+\tdefer func() { collection = make(map[string]*Books) }()\n+\n+\tfileInfo, err := os.Stat(dpath + \"/Author/file.txt\")\n+\tt.Nil(err)\n+\tcollectionTest[\"Author@en-US\"] = &Books{\n+\t\tItems:      []string{\"*7c491ea1e58939598afbbcb48a5c5174d47b4650\"},\n+\t\tLastAccess: fileInfo.ModTime().Unix() * 1000,\n+\t}\n+\tt.Nil(filePath(dpath+\"/Author/file.txt\", fileInfo, err))\n+\tt.DeepEqual(collection, collectionTest)\n+\n+\tfileInfo, err = os.Stat(dpath + \"/Author/new/file.pdf\")\n+\tt.Nil(err)\n+\tcollectionTest[\"Author-new@en-US\"] = &Books{\n+\t\tItems:      []string{\"*f827769a187f768d4145dfaceddfc4525b8e2e49\"},\n+\t\tLastAccess: fileInfo.ModTime().Unix() * 1000,\n+\t}\n+\tt.Nil(filePath(dpath+\"/Author/new/file.pdf\", fileInfo, err))\n+\tt.DeepEqual(collection, collectionTest)\n+\n+\tbooks := collectionTest[\"Author-new@en-US\"]\n+\n+\tlastAccess := addbooks(t, dpath+\"/Author/new/file.mobi\")\n+\tbooks.Items = append(books.Items, \"*6e57bc1c50ce96b679b7eb2b153f610e179d6609\")\n+\tbooks.LastAccess = lastAccess\n+\tt.DeepEqual(collection, collectionTest)\n+\n+\tlastAccess = addbooks(t, dpath+\"/Author/new/file.prc\")\n+\tbooks.Items = append(books.Items, \"*8c2e2e36abee81f32ebf61d40f038a8c80b0893b\")\n+\tbooks.LastAccess = lastAccess\n+\tt.DeepEqual(collection, collectionTest)\n+\n+\tlastAccess = addbooks(t, dpath+\"/Author/new/file.azw\")\n+\tbooks.Items = append(books.Items, \"*fecdd63969b387326772b2ff5586b83ede5682cf\")\n+\tbooks.LastAccess = lastAccess\n+\tt.DeepEqual(collection, collectionTest)\n+\n+\tlastAccess = addbooks(t, dpath+\"/Author/new/file.azw3\")\n+\tbooks.Items = append(books.Items, \"*e465ef6ecde1994cdfc397df6841fd82baccc285\")\n+\tbooks.LastAccess = lastAccess\n+\tt.DeepEqual(collection, collectionTest)\n+\n+\t// - передать путь с не соответствующим расширением\n+\t//   - убедиться, что запись в collection не произведена\n+\tfileInfo, err = os.Stat(dpath + \"/Author/new/file.jpg\")\n+\tt.Nil(err)\n+\tt.Nil(filePath(dpath+\"/Author/new/file.jpg\", fileInfo, err))\n+\tt.DeepEqual(collection, collectionTest)\n+\n+\t// - передать путь без расширения\n+\t//   - убедиться,что запись в collection не произведена\n+\tfileInfo, err = os.Stat(dpath + \"/Author/new/file\")\n+\tt.Nil(err)\n+\tt.Nil(filePath(dpath+\"/Author/new/file\", fileInfo, err))\n+\tt.DeepEqual(collection, collectionTest)\n+\n+\t// - передать путь к каталогу\n+\t//   - убедиться, что запись в collection не произведена\n+\tfileInfo, err = os.Stat(dpath + \"/Author/new\")\n+\tt.Nil(err)\n+\tt.Nil(filePath(dpath+\"/Author/new\", fileInfo, err))\n+\tt.DeepEqual(collection, collectionTest)\n+}\n+func addBook(t *check.C, path string, tm time.Duration) (int64, func()) {\n+\tt.Helper()\n+\tt.Nil(ioutil.WriteFile(path, nil, 0644))\n+\tt.Nil(os.Chtimes(path, time.Now().Add(tm), time.Now().Add(tm)))\n+\tt.Nil(makeColl(path))\n+\tfileInfo, err := os.Stat(path)\n+\tt.Nil(err)\n+\tlastAccess := fileInfo.ModTime().Unix() * 1000\n+\tcleanup := func() { t.Nil(os.Remove(path)) }\n+\treturn lastAccess, cleanup\n }\n \n-/*\n-func TestIsKindle(tt *testing.T) {\n+func TestMakeColl(tt *testing.T) {\n \tt := check.T(tt)\n-// - !IsDir()\n-// - путь IsDir, содержит documents, system\n-// - путь IsDir, содержит documents, не содержит system\n-// - путь IsDir, содержит system, не содержит documents\n-// - путь IsDir, не содержит documents, не содержит system\n-// - путь !IsDir, содержит documents, system\n-// - путь !IsDir, содержит documents, не содержит system\n-// - путь !IsDir, содержит system, не содержит documents\n-\tcases := []struct{\n-\t\tdir string\n-\t\twant bool\n-\t}{\n-\t\t{\"/gocode/src/library\",true},\n-\t\t{\"\",true},\n-\t\t{\"\",true},\n-\t\t{\"\",true},\n-\t\t{\"\",true},\n+\n+\t// - создать временный каталог и в нем нужные для теста функции/файлы\n+\ttmpDir, err := ioutil.TempDir(\"\", \"gotest\")\n+\tt.Nil(err)\n+\tdefer func() { t.Nil(os.Remove(tmpDir)) }()\n+\n+\torigKindleDir := kindleDir\n+\tdefer func() { kindleDir = origKindleDir }()\n+\tkindleDir = tmpDir\n+\n+\tdpath := tmpDir + \"/documents\"\n+\tdirs := []string{\n+\t\ttmpDir + \"/system\",\n+\t\tdpath,\n+\t\tdpath + \"/Author\",\n+\t\tdpath + \"/Author/new\",\n+\t}\n+\tfiles := []string{\n+\t\tdpath + \"/Author/new/books.txt\",\n+\t\tdpath + \"/Author/new/workpad.txt\",\n \t}\n \n+\tfor _, d := range dirs {\n+\t\tt.Nil(os.Mkdir(d, 0755))\n \t}\n+\tdefer func() {\n+\t\tfor i := len(dirs) - 1; i >= 0; i-- {\n+\t\t\tt.Nil(os.Remove(dirs[i]))\n+\t\t}\n+\t}()\n+\n+\tfor _, f := range files {\n+\t\tt.Nil(ioutil.WriteFile(f, nil, 0644))\n+\t}\n+\tdefer func() {\n+\t\tfor i := len(files) - 1; i >= 0; i-- {\n+\t\t\tt.Nil(os.Remove(files[i]))\n+\t\t}\n+\t}()\n+\n+\t//   - убедиться что collection пустой\n+\tt.Len(collection, 0)\n+\n+\t// - вызвать makeColl от одного из созданных файлов\n+\t//   - убедиться, что collection изменился ожидаемым образом","path":"main_test.go","position":236,"original_position":236,"commit_id":"881c7d58f4e02babf8501167918f95ecdaf137d0","original_commit_id":"881c7d58f4e02babf8501167918f95ecdaf137d0","user":{"login":"powerman","id":1354301,"avatar_url":"https://avatars0.githubusercontent.com/u/1354301?v=4","gravatar_id":"","url":"https://api.github.com/users/powerman","html_url":"https://github.com/powerman","followers_url":"https://api.github.com/users/powerman/followers","following_url":"https://api.github.com/users/powerman/following{/other_user}","gists_url":"https://api.github.com/users/powerman/gists{/gist_id}","starred_url":"https://api.github.com/users/powerman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/powerman/subscriptions","organizations_url":"https://api.github.com/users/powerman/orgs","repos_url":"https://api.github.com/users/powerman/repos","events_url":"https://api.github.com/users/powerman/events{/privacy}","received_events_url":"https://api.github.com/users/powerman/received_events","type":"User","site_admin":false},"body":"Этот комментарий явно не на своём месте, он должен быть несколькими строками ниже.","created_at":"2018-02-03T17:26:30Z","updated_at":"2018-02-03T17:31:52Z","html_url":"https://github.com/salamandra19/kindle/pull/16#discussion_r165819997","pull_request_url":"https://api.github.com/repos/salamandra19/kindle/pulls/16","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/salamandra19/kindle/pulls/comments/165819997"},"html":{"href":"https://github.com/salamandra19/kindle/pull/16#discussion_r165819997"},"pull_request":{"href":"https://api.github.com/repos/salamandra19/kindle/pulls/16"}}},"pull_request":{"url":"https://api.github.com/repos/salamandra19/kindle/pulls/16","id":161106425,"html_url":"https://github.com/salamandra19/kindle/pull/16","diff_url":"https://github.com/salamandra19/kindle/pull/16.diff","patch_url":"https://github.com/salamandra19/kindle/pull/16.patch","issue_url":"https://api.github.com/repos/salamandra19/kindle/issues/16","number":16,"state":"open","locked":false,"title":"some tests","user":{"login":"salamandra19","id":20011440,"avatar_url":"https://avatars3.githubusercontent.com/u/20011440?v=4","gravatar_id":"","url":"https://api.github.com/users/salamandra19","html_url":"https://github.com/salamandra19","followers_url":"https://api.github.com/users/salamandra19/followers","following_url":"https://api.github.com/users/salamandra19/following{/other_user}","gists_url":"https://api.github.com/users/salamandra19/gists{/gist_id}","starred_url":"https://api.github.com/users/salamandra19/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/salamandra19/subscriptions","organizations_url":"https://api.github.com/users/salamandra19/orgs","repos_url":"https://api.github.com/users/salamandra19/repos","events_url":"https://api.github.com/users/salamandra19/events{/privacy}","received_events_url":"https://api.github.com/users/salamandra19/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-01-04T11:44:54Z","updated_at":"2018-02-03T17:31:52Z","closed_at":null,"merged_at":null,"merge_commit_sha":"447ec0e0617a9192ff785499c7a8022c7bd44431","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"milestone":null,"commits_url":"https://api.github.com/repos/salamandra19/kindle/pulls/16/commits","review_comments_url":"https://api.github.com/repos/salamandra19/kindle/pulls/16/comments","review_comment_url":"https://api.github.com/repos/salamandra19/kindle/pulls/comments{/number}","comments_url":"https://api.github.com/repos/salamandra19/kindle/issues/16/comments","statuses_url":"https://api.github.com/repos/salamandra19/kindle/statuses/881c7d58f4e02babf8501167918f95ecdaf137d0","head":{"label":"salamandra19:tests","ref":"tests","sha":"881c7d58f4e02babf8501167918f95ecdaf137d0","user":{"login":"salamandra19","id":20011440,"avatar_url":"https://avatars3.githubusercontent.com/u/20011440?v=4","gravatar_id":"","url":"https://api.github.com/users/salamandra19","html_url":"https://github.com/salamandra19","followers_url":"https://api.github.com/users/salamandra19/followers","following_url":"https://api.github.com/users/salamandra19/following{/other_user}","gists_url":"https://api.github.com/users/salamandra19/gists{/gist_id}","starred_url":"https://api.github.com/users/salamandra19/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/salamandra19/subscriptions","organizations_url":"https://api.github.com/users/salamandra19/orgs","repos_url":"https://api.github.com/users/salamandra19/repos","events_url":"https://api.github.com/users/salamandra19/events{/privacy}","received_events_url":"https://api.github.com/users/salamandra19/received_events","type":"User","site_admin":false},"repo":{"id":107869861,"name":"kindle","full_name":"salamandra19/kindle","owner":{"login":"salamandra19","id":20011440,"avatar_url":"https://avatars3.githubusercontent.com/u/20011440?v=4","gravatar_id":"","url":"https://api.github.com/users/salamandra19","html_url":"https://github.com/salamandra19","followers_url":"https://api.github.com/users/salamandra19/followers","following_url":"https://api.github.com/users/salamandra19/following{/other_user}","gists_url":"https://api.github.com/users/salamandra19/gists{/gist_id}","starred_url":"https://api.github.com/users/salamandra19/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/salamandra19/subscriptions","organizations_url":"https://api.github.com/users/salamandra19/orgs","repos_url":"https://api.github.com/users/salamandra19/repos","events_url":"https://api.github.com/users/salamandra19/events{/privacy}","received_events_url":"https://api.github.com/users/salamandra19/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/salamandra19/kindle","description":null,"fork":false,"url":"https://api.github.com/repos/salamandra19/kindle","forks_url":"https://api.github.com/repos/salamandra19/kindle/forks","keys_url":"https://api.github.com/repos/salamandra19/kindle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/salamandra19/kindle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/salamandra19/kindle/teams","hooks_url":"https://api.github.com/repos/salamandra19/kindle/hooks","issue_events_url":"https://api.github.com/repos/salamandra19/kindle/issues/events{/number}","events_url":"https://api.github.com/repos/salamandra19/kindle/events","assignees_url":"https://api.github.com/repos/salamandra19/kindle/assignees{/user}","branches_url":"https://api.github.com/repos/salamandra19/kindle/branches{/branch}","tags_url":"https://api.github.com/repos/salamandra19/kindle/tags","blobs_url":"https://api.github.com/repos/salamandra19/kindle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/salamandra19/kindle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/salamandra19/kindle/git/refs{/sha}","trees_url":"https://api.github.com/repos/salamandra19/kindle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/salamandra19/kindle/statuses/{sha}","languages_url":"https://api.github.com/repos/salamandra19/kindle/languages","stargazers_url":"https://api.github.com/repos/salamandra19/kindle/stargazers","contributors_url":"https://api.github.com/repos/salamandra19/kindle/contributors","subscribers_url":"https://api.github.com/repos/salamandra19/kindle/subscribers","subscription_url":"https://api.github.com/repos/salamandra19/kindle/subscription","commits_url":"https://api.github.com/repos/salamandra19/kindle/commits{/sha}","git_commits_url":"https://api.github.com/repos/salamandra19/kindle/git/commits{/sha}","comments_url":"https://api.github.com/repos/salamandra19/kindle/comments{/number}","issue_comment_url":"https://api.github.com/repos/salamandra19/kindle/issues/comments{/number}","contents_url":"https://api.github.com/repos/salamandra19/kindle/contents/{+path}","compare_url":"https://api.github.com/repos/salamandra19/kindle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/salamandra19/kindle/merges","archive_url":"https://api.github.com/repos/salamandra19/kindle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/salamandra19/kindle/downloads","issues_url":"https://api.github.com/repos/salamandra19/kindle/issues{/number}","pulls_url":"https://api.github.com/repos/salamandra19/kindle/pulls{/number}","milestones_url":"https://api.github.com/repos/salamandra19/kindle/milestones{/number}","notifications_url":"https://api.github.com/repos/salamandra19/kindle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/salamandra19/kindle/labels{/name}","releases_url":"https://api.github.com/repos/salamandra19/kindle/releases{/id}","deployments_url":"https://api.github.com/repos/salamandra19/kindle/deployments","created_at":"2017-10-22T13:48:31Z","updated_at":"2017-10-24T21:39:41Z","pushed_at":"2018-02-03T08:34:28Z","git_url":"git://github.com/salamandra19/kindle.git","ssh_url":"git@github.com:salamandra19/kindle.git","clone_url":"https://github.com/salamandra19/kindle.git","svn_url":"https://github.com/salamandra19/kindle","homepage":null,"size":21,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":2,"license":null,"forks":0,"open_issues":2,"watchers":0,"default_branch":"master"}},"base":{"label":"salamandra19:master","ref":"master","sha":"295402bca13b4df3af64eeee706decfb723335e5","user":{"login":"salamandra19","id":20011440,"avatar_url":"https://avatars3.githubusercontent.com/u/20011440?v=4","gravatar_id":"","url":"https://api.github.com/users/salamandra19","html_url":"https://github.com/salamandra19","followers_url":"https://api.github.com/users/salamandra19/followers","following_url":"https://api.github.com/users/salamandra19/following{/other_user}","gists_url":"https://api.github.com/users/salamandra19/gists{/gist_id}","starred_url":"https://api.github.com/users/salamandra19/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/salamandra19/subscriptions","organizations_url":"https://api.github.com/users/salamandra19/orgs","repos_url":"https://api.github.com/users/salamandra19/repos","events_url":"https://api.github.com/users/salamandra19/events{/privacy}","received_events_url":"https://api.github.com/users/salamandra19/received_events","type":"User","site_admin":false},"repo":{"id":107869861,"name":"kindle","full_name":"salamandra19/kindle","owner":{"login":"salamandra19","id":20011440,"avatar_url":"https://avatars3.githubusercontent.com/u/20011440?v=4","gravatar_id":"","url":"https://api.github.com/users/salamandra19","html_url":"https://github.com/salamandra19","followers_url":"https://api.github.com/users/salamandra19/followers","following_url":"https://api.github.com/users/salamandra19/following{/other_user}","gists_url":"https://api.github.com/users/salamandra19/gists{/gist_id}","starred_url":"https://api.github.com/users/salamandra19/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/salamandra19/subscriptions","organizations_url":"https://api.github.com/users/salamandra19/orgs","repos_url":"https://api.github.com/users/salamandra19/repos","events_url":"https://api.github.com/users/salamandra19/events{/privacy}","received_events_url":"https://api.github.com/users/salamandra19/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/salamandra19/kindle","description":null,"fork":false,"url":"https://api.github.com/repos/salamandra19/kindle","forks_url":"https://api.github.com/repos/salamandra19/kindle/forks","keys_url":"https://api.github.com/repos/salamandra19/kindle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/salamandra19/kindle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/salamandra19/kindle/teams","hooks_url":"https://api.github.com/repos/salamandra19/kindle/hooks","issue_events_url":"https://api.github.com/repos/salamandra19/kindle/issues/events{/number}","events_url":"https://api.github.com/repos/salamandra19/kindle/events","assignees_url":"https://api.github.com/repos/salamandra19/kindle/assignees{/user}","branches_url":"https://api.github.com/repos/salamandra19/kindle/branches{/branch}","tags_url":"https://api.github.com/repos/salamandra19/kindle/tags","blobs_url":"https://api.github.com/repos/salamandra19/kindle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/salamandra19/kindle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/salamandra19/kindle/git/refs{/sha}","trees_url":"https://api.github.com/repos/salamandra19/kindle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/salamandra19/kindle/statuses/{sha}","languages_url":"https://api.github.com/repos/salamandra19/kindle/languages","stargazers_url":"https://api.github.com/repos/salamandra19/kindle/stargazers","contributors_url":"https://api.github.com/repos/salamandra19/kindle/contributors","subscribers_url":"https://api.github.com/repos/salamandra19/kindle/subscribers","subscription_url":"https://api.github.com/repos/salamandra19/kindle/subscription","commits_url":"https://api.github.com/repos/salamandra19/kindle/commits{/sha}","git_commits_url":"https://api.github.com/repos/salamandra19/kindle/git/commits{/sha}","comments_url":"https://api.github.com/repos/salamandra19/kindle/comments{/number}","issue_comment_url":"https://api.github.com/repos/salamandra19/kindle/issues/comments{/number}","contents_url":"https://api.github.com/repos/salamandra19/kindle/contents/{+path}","compare_url":"https://api.github.com/repos/salamandra19/kindle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/salamandra19/kindle/merges","archive_url":"https://api.github.com/repos/salamandra19/kindle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/salamandra19/kindle/downloads","issues_url":"https://api.github.com/repos/salamandra19/kindle/issues{/number}","pulls_url":"https://api.github.com/repos/salamandra19/kindle/pulls{/number}","milestones_url":"https://api.github.com/repos/salamandra19/kindle/milestones{/number}","notifications_url":"https://api.github.com/repos/salamandra19/kindle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/salamandra19/kindle/labels{/name}","releases_url":"https://api.github.com/repos/salamandra19/kindle/releases{/id}","deployments_url":"https://api.github.com/repos/salamandra19/kindle/deployments","created_at":"2017-10-22T13:48:31Z","updated_at":"2017-10-24T21:39:41Z","pushed_at":"2018-02-03T08:34:28Z","git_url":"git://github.com/salamandra19/kindle.git","ssh_url":"git@github.com:salamandra19/kindle.git","clone_url":"https://github.com/salamandra19/kindle.git","svn_url":"https://github.com/salamandra19/kindle","homepage":null,"size":21,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":2,"license":null,"forks":0,"open_issues":2,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/salamandra19/kindle/pulls/16"},"html":{"href":"https://github.com/salamandra19/kindle/pull/16"},"issue":{"href":"https://api.github.com/repos/salamandra19/kindle/issues/16"},"comments":{"href":"https://api.github.com/repos/salamandra19/kindle/issues/16/comments"},"review_comments":{"href":"https://api.github.com/repos/salamandra19/kindle/pulls/16/comments"},"review_comment":{"href":"https://api.github.com/repos/salamandra19/kindle/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/salamandra19/kindle/pulls/16/commits"},"statuses":{"href":"https://api.github.com/repos/salamandra19/kindle/statuses/881c7d58f4e02babf8501167918f95ecdaf137d0"}},"author_association":"OWNER"}}
{"actor":{"display_login":"powerman"}}