|
5 | 5 |
|
6 | 6 |
|
7 | 7 | class Commits(Service, MimeTypeMixin): |
| 8 | + """ Consume `Commits API |
| 9 | + <http://developer.github.com/v3/repos/commits>`_ |
8 | 10 |
|
9 | | - """ TODO: Pagination structure differs from usual |
10 | | - def list(self, user=None, repo=None, sha='', path=''): |
11 | | - request = self.make_request('repos.commits.list', user=user, repo=repo) |
12 | | - return self._get_result(request, sha=sha, path=path) |
| 11 | + .. note:: |
| 12 | + This service support :ref:`mimetypes` configuration |
13 | 13 | """ |
14 | 14 |
|
| 15 | + #TODO: Pagination structure differs from usual |
| 16 | + #def list(self, user=None, repo=None, sha='', path=''): |
| 17 | + #request = self.make_request('repos.commits.list', user=user, repo=repo) |
| 18 | + #return self._get_result(request, sha=sha, path=path) |
| 19 | + |
15 | 20 | def get(self, sha, user=None, repo=None): |
| 21 | + """ Get a single commit |
| 22 | +
|
| 23 | + :param str sha: Commit's sha |
| 24 | + :param str user: Username |
| 25 | + :param str repo: Repository |
| 26 | +
|
| 27 | + .. note:: |
| 28 | +
|
| 29 | + Remember :ref:`config precedence` |
| 30 | + """ |
16 | 31 | request = self.make_request('repos.commits.get', |
17 | 32 | sha=sha, user=user, repo=repo) |
18 | 33 | return self._get(request) |
19 | 34 |
|
20 | 35 | def list_comments(self, sha=None, user=None, repo=None): |
| 36 | + """ Get commit's comments |
| 37 | +
|
| 38 | + :param str sha: Commit's sha |
| 39 | + :param str user: Username |
| 40 | + :param str repo: Repository |
| 41 | +
|
| 42 | + .. note:: |
| 43 | +
|
| 44 | + Remember :ref:`config precedence` |
| 45 | +
|
| 46 | + If you call it without ``sha``, get all commit's comments of a |
| 47 | + repository |
| 48 | + :: |
| 49 | +
|
| 50 | + commits_service.list_comments('6dcb09', user='octocat', |
| 51 | + repo='oct_repo') |
| 52 | + commits_service.list_comments(user='octocat', repo='oct_repo') |
| 53 | + """ |
21 | 54 | request = self.make_request('repos.commits.list_comments', |
22 | 55 | sha=sha, user=user, repo=repo) |
23 | 56 | return self._get_result(request, **self._get_mimetype_as_header()) |
24 | 57 |
|
25 | 58 | def create_comment(self, data, sha, user=None, repo=None): |
| 59 | + """ Create a commit comment |
| 60 | +
|
| 61 | + :param dict data: Input. See `github commits doc`_ |
| 62 | + :param str sha: Commit's sha |
| 63 | + :param str user: Username |
| 64 | + :param str repo: Repository |
| 65 | +
|
| 66 | + .. note:: |
| 67 | +
|
| 68 | + Remember :ref:`config precedence` |
| 69 | +
|
| 70 | + :: |
| 71 | +
|
| 72 | + data = { |
| 73 | + "body": "Nice change", |
| 74 | + "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", |
| 75 | + "line": 1, |
| 76 | + "path": "file1.txt", |
| 77 | + "position": 4 |
| 78 | + } |
| 79 | + commits_service.create_comment(data, '6dcb09', user='octocat', |
| 80 | + repo='oct_repo') |
| 81 | + """ |
26 | 82 | request = self.make_request('repos.commits.create_comment', |
27 | 83 | sha=sha, user=user, repo=repo, body=data) |
28 | 84 | return self._post(request, **self._get_mimetype_as_header()) |
29 | 85 |
|
30 | 86 | def get_comment(self, cid, user=None, repo=None): |
| 87 | + """ Get a single commit comment |
| 88 | +
|
| 89 | + :param int cid: Commit comment id |
| 90 | + :param str user: Username |
| 91 | + :param str repo: Repository |
| 92 | +
|
| 93 | + .. note:: |
| 94 | +
|
| 95 | + Remember :ref:`config precedence` |
| 96 | + """ |
31 | 97 | request = self.make_request('repos.commits.get_comment', |
32 | 98 | comment_id=cid, user=user, repo=repo) |
33 | 99 | return self._get(request, **self._get_mimetype_as_header()) |
34 | 100 |
|
35 | 101 | def update_comment(self, data, cid, user=None, repo=None): |
| 102 | + """ Update a single commit comment |
| 103 | +
|
| 104 | + :param dict data: Input. See `github commits doc`_ |
| 105 | + :param int cid: Commit comment id |
| 106 | + :param str user: Username |
| 107 | + :param str repo: Repository |
| 108 | +
|
| 109 | + .. note:: |
| 110 | +
|
| 111 | + Remember :ref:`config precedence` |
| 112 | +
|
| 113 | + :: |
| 114 | +
|
| 115 | + commits_service.update_comment(dict(body='nice change'), 42, |
| 116 | + user='octocat', repo='oct_repo') |
| 117 | + """ |
36 | 118 | request = self.make_request('repos.commits.update_comment', |
37 | 119 | comment_id=cid, user=user, repo=repo, body=data) |
38 | 120 | return self._patch(request, **self._get_mimetype_as_header()) |
39 | 121 |
|
40 | 122 | def compare(self, base, head, user=None, repo=None): |
| 123 | + """ Compare two commits |
| 124 | +
|
| 125 | + :param str base: Base commit sha |
| 126 | + :param str head: Head commit sha |
| 127 | + :param str user: Username |
| 128 | + :param str repo: Repository |
| 129 | +
|
| 130 | + .. note:: |
| 131 | +
|
| 132 | + Remember :ref:`config precedence` |
| 133 | +
|
| 134 | + :: |
| 135 | +
|
| 136 | + commits_service.compare('6dcb09', 'master', user='octocat', |
| 137 | + repo='oct_repo') |
| 138 | + """ |
41 | 139 | request = self.make_request('repos.commits.compare', |
42 | 140 | base=base, head=head, user=user, repo=repo) |
43 | 141 | return self._get(request) |
44 | 142 |
|
45 | 143 | def delete_comment(self, cid, user=None, repo=None): |
| 144 | + """ Delete a single commit comment |
| 145 | +
|
| 146 | + :param int cid: Commit comment id |
| 147 | + :param str user: Username |
| 148 | + :param str repo: Repository |
| 149 | +
|
| 150 | + .. note:: |
| 151 | +
|
| 152 | + Remember :ref:`config precedence` |
| 153 | + """ |
46 | 154 | request = self.make_request('repos.commits.delete_comment', |
47 | 155 | comment_id=cid, user=user, repo=repo) |
48 | 156 | self._delete(request) |
0 commit comments