Skip to content

Commit fe0878b

Browse files
authored
Merge pull request #741 from bgfNGl35QpGme9mpx0f4b8yE3S/feature_lxc
Feature lxc
2 parents 11b8ade + d7e342d commit fe0878b

File tree

11 files changed

+428
-0
lines changed

11 files changed

+428
-0
lines changed

api/pulls/comments.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
from core.rest_client import RestClient
2+
3+
class Comments(RestClient):
4+
5+
def list_comments_on_a_pull_request(self, owner, repo, pull_number, **kwargs):
6+
"""
7+
https://developer.github.com/v3/pulls/comments/#list-comments-on-a-pull-request
8+
"""
9+
headers = {'Accept':'application/vnd.github.squirrel-girl-preview'}
10+
return self.get('/repos/{}/{}/pulls/{}/comments'.format(owner, repo, pull_number), **kwargs, headers=headers)
11+
12+
def list_comments_in_a_repository(self, owner, repo, **kwargs):
13+
"""
14+
https://developer.github.com/v3/pulls/comments/#list-comments-in-a-repository
15+
"""
16+
headers = {'Accept':'application/vnd.github.squirrel-girl-preview'}
17+
return self.get('/repos//pulls/comments'.format(owner, repo), **kwargs, headers=headers)
18+
19+
def get_a_single_comment(self, owner, repo, comment_id):
20+
"""
21+
https://developer.github.com/v3/pulls/comments/#get-a-single-comment
22+
"""
23+
headers = {'Accept': 'application/vnd.github.squirrel-girl-preview'}
24+
return self.get('/repos/{}/{}/pulls/comments/{}'.format(owner, repo, comment_id), headers=headers)
25+
26+
def create_a_comment(self, owner, repo, pull_number, **kwargs):
27+
"""
28+
https://developer.github.com/v3/pulls/comments/#create-a-comment
29+
"""
30+
return self.post('/repos/{}/{}/pulls/{}/comments'.format(owner, repo, pull_number), **kwargs)
31+
32+
def edit_a_comment(self, owner, repo, comment_id, **kwargs):
33+
"""
34+
https://developer.github.com/v3/pulls/comments/#create-a-comment
35+
"""
36+
return self.patch('/repos/{}/{}/pulls/comments/{}'.format(owner, repo, comment_id), **kwargs)
37+
38+
def delete_a_comment(self, owner, repo, comment_id):
39+
"""
40+
https://developer.github.com/v3/pulls/comments/#delete-a-comment
41+
"""
42+
return self.delete('/repos/{}/{}/pulls/comments/{}'.format(owner, repo, comment_id))

api/pulls/pulls.py

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
from core.rest_client import RestClient
2+
from api.pulls.comments import Comments
3+
from api.pulls.review_requests import Review_requests
4+
from api.pulls.reviews import Reviews
5+
6+
class Pulls(RestClient):
7+
def __init__(self, api_root_url, **kwargs):
8+
super(Pulls, self).__init__(api_root_url, **kwargs)
9+
self.comments = Comments(self.api_root_url, **kwargs)
10+
self.review_requests = Review_requests(self.api_root_url, **kwargs)
11+
self.reviews = Reviews(self.api_root_url, **kwargs)
12+
13+
def list_pull_request(self, owner, repo, **kwargs):
14+
"""
15+
https://developer.github.com/v3/pulls/#list-pull-requests
16+
"""
17+
headers = {'Accept':'application/vnd.github.shadow-cat-preview+json,'
18+
'application/vnd.github.symmetra-preview+json,'
19+
'application/vnd.github.sailor-v-preview+json'}
20+
return self.get('/repes/{}/{}/pulls'.format(owner, repo), **kwargs, headers = headers)
21+
22+
def get_a_single_pull_request(self, owner, repo, pull_number):
23+
"""
24+
https://developer.github.com/v3/pulls/#get-a-single-pull-request
25+
"""
26+
headers = {'Accept': 'application/vnd.github.shadow-cat-preview+json,'
27+
'application/vnd.github.symmetra-preview+json,'
28+
'application/vnd.github.sailor-v-preview+json'}
29+
return self.get('/repes/{}/{}/pulls/{}'.format(owner, repo, pull_number), headers = headers)
30+
31+
def create_a_pull_request(self, owner, repo, **kwargs):
32+
"""
33+
https://developer.github.com/v3/pulls/#create-a-pull-request
34+
"""
35+
headers = {'Accept': 'application/vnd.github.shadow-cat-preview+json,'
36+
'application/vnd.github.symmetra-preview+json,'
37+
'application/vnd.github.sailor-v-preview+json'}
38+
39+
return self.post('/repos/{}/{}/pulls'.format(owner, repo),**kwargs, headers=headers)
40+
41+
def update_a_pull_request_branch(self, owner, repo, pull_number, **kwargs):
42+
"""
43+
https://developer.github.com/v3/pulls/#update-a-pull-request-branch
44+
"""
45+
headers={'Accept':'application/vnd.github.lydian-preview+json'}
46+
return self.put('/repos/{}/{}/pulls/{}/update-branch'.format(owner, repo, pull_number),**kwargs, headers=headers)
47+
48+
def update_a_pull_request(self, owner, repo, pull_number, **kwargs):
49+
"""
50+
https://developer.github.com/v3/pulls/#update-a-pull-request
51+
"""
52+
headers = {'Accept': 'application/vnd.github.shadow-cat-preview+json,'
53+
'application/vnd.github.symmetra-preview+json,'
54+
'application/vnd.github.sailor-v-preview+json'}
55+
return self.patch('/repos/{}/{}/pulls/{}'.format(owner, repo, pull_number), **kwargs, headers = headers)
56+
57+
def list_a_commits_on_a_pull_request(self, owner ,repo, pull_number):
58+
"""
59+
https://developer.github.com/v3/pulls/#list-commits-on-a-pull-request
60+
"""
61+
return self.get('/repos/{}/{}/pulls/{}/commits'.format(owner, repo, pull_number))
62+
63+
def list_pull_requests_files(self, owner, repo, pull_number):
64+
"""
65+
https://developer.github.com/v3/pulls/#list-commits-on-a-pull-request
66+
"""
67+
return self.get('/repos/{}/{}/pulls/{}/files'.format(owner, repo, pull_number))
68+
69+
def get_a_if_pull_request_has_been_merged(self, owner, repo, pull_number):
70+
"""
71+
https://developer.github.com/v3/pulls/#get-if-a-pull-request-has-been-merged
72+
"""
73+
return self.get('/repos/{}/{}/pulls/{}/merge'.format(owner, repo, pull_number))
74+
75+
def merged_a_pull_request(self, owner, repo, pull_number, **kwargs):
76+
"""
77+
https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button
78+
"""
79+
return self.put('/repos/{}/{}/pulls/{}/merge'.format(owner, repo, pull_number), **kwargs)
80+
81+

api/pulls/review_requests.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from core.rest_client import RestClient
2+
3+
class Review_requests(RestClient):
4+
5+
def list_review_request(self, owner, repo, pull_number):
6+
"""
7+
https://developer.github.com/v3/pulls/review_requests/#list-review-requests
8+
"""
9+
return self.get('/repos/{}/{}/pulls/{}/requested_reviewers'.format(owner, repo, pull_number))
10+
11+
def create_a_review_request(self, owner, repo, pull_number):
12+
"""
13+
https://developer.github.com/v3/pulls/review_requests/#create-a-review-request
14+
"""
15+
headers = {'Accept':'application/vnd.github.symmetra-preview+json'}
16+
return self.post('/repos/{}/{}/pulls/{}/requested_reviewers'.format(owner, repo, pull_number),headers = headers)
17+
18+
def delete_a_review_request(self, owner, repo, pull_number):
19+
"""
20+
https://developer.github.com/v3/pulls/review_requests/#delete-a-review-request
21+
"""
22+
return self.delete('/repos/{}/{}/pulls/{}/requested_reviewers'.format(owner, repo, pull_number))

api/pulls/reviews.py

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
from core.rest_client import RestClient
2+
3+
class Reviews(RestClient):
4+
5+
def list_reviews_on_a_pull_request(self, owner, repo, pull_number):
6+
"""
7+
https://developer.github.com/v3/pulls/reviews/#list-reviews-on-a-pull-request
8+
"""
9+
return self.get('/repos/{}/{}/pulls/{}/reviews'.format(owner, repo, pull_number))
10+
11+
def get_a_single_review(self, owner, repo, pull_number, review_id):
12+
"""
13+
https://developer.github.com/v3/pulls/reviews/#get-a-single-review
14+
"""
15+
return self.get('/repos/{}/{}/pulls/{}/reviews/{}'.format(owner, repo, pull_number, review_id))
16+
17+
def delete_a_pending_review(self, owner, repo, pull_number, review_id):
18+
"""
19+
https://developer.github.com/v3/pulls/reviews/#delete-a-pending-review
20+
"""
21+
return self.delete('/repos/{}/{}/pulls/{}/reviews/{}'.format(owner, repo, pull_number, review_id))
22+
23+
def get_a_comments_for_a_single_review(self, owner, repo, pull_number, review_id):
24+
"""
25+
https://developer.github.com/v3/pulls/reviews/#delete-a-pending-review
26+
"""
27+
return self.get('/repos/{}/{}/pulls/{}/reviews/{}/comments'.format(owner, repo, pull_number, review_id))
28+
29+
def create_a_pull_request_review(self, owner, repo, pull_number, **kwargs):
30+
"""
31+
https://developer.github.com/v3/pulls/reviews/#create-a-pull-request-review
32+
"""
33+
headers = {'Accept':'application/vnd.github.v3.diff'}
34+
return self.post('/repos/{}/{}/pu lls/{}/reviews'.format(owner, repo, pull_number), **kwargs, headers =headers)
35+
36+
def update_a_pull_request_review(self, owner, repo, pull_number, review_id, **kwargs):
37+
"""
38+
https://developer.github.com/v3/pulls/reviews/#update-a-pull-request-review
39+
"""
40+
return self.put('/repos/{}/{}/pulls/{}/reviews/{}'.format(owner, repo, pull_number, review_id), **kwargs)
41+
42+
def submit_a_pull_request_review(self, owner, repo, pull_number, review_id, **kwargs):
43+
"""
44+
https://developer.github.com/v3/pulls/reviews/#submit-a-pull-request-review
45+
"""
46+
return self.post("/repos/{}/{}/pulls/{}/reviews/{}/events".format(owner, repo, pull_number, review_id), **kwargs)
47+
48+
def dismiss_a_pull_request_review(self, owner, repo, pull_number, review_id, **kwargs):
49+
"""
50+
https://developer.github.com/v3/pulls/reviews/#dismiss-a-pull-request-review
51+
"""
52+
return self.put("/repos/{}/{}/pulls/{}/reviews/{}/dismissals".format(owner, repo, pull_number, review_id), **kwargs)

api/repositories/comments.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
from core.rest_client import RestClient
2+
3+
class Comments(RestClient):
4+
5+
def list_commit_comments_for_a_repository(self, owner, repo):
6+
"""
7+
https://developer.github.com/v3/repos/comments/#list-commit-comments-for-a-repository
8+
"""
9+
return self.get("/repos/{}/{}/comments".format(owner, repo))
10+
11+
def list_comment_for_a_single_commit(self, owner, repo, commit_sha):
12+
"""
13+
https://developer.github.com/v3/repos/comments/#list-comments-for-a-single-commit
14+
"""
15+
return self.get("/repos/{}/{}/commits/{}".format(owner, repo, commit_sha))
16+
17+
def create_a_commit_comment(self, owner, repo, commit_sha, **kwargs):
18+
"""
19+
https://developer.github.com/v3/repos/comments/#create-a-commit-comment
20+
"""
21+
return self.post("/repos/{}/{}/commits/{}".format(owner, repo, commit_sha), **kwargs)
22+
23+
def get_a_single_commit_comment(self, owner, repo, comment_id):
24+
"""
25+
https://developer.github.com/v3/repos/comments/#get-a-single-commit-comment
26+
"""
27+
return self.get("/repos/{}/{}/comments/{}".format(owner, repo, comment_id))
28+
29+
def update_a_commit_comment(self, owner, repo, comment_id, **kwargs):
30+
"""
31+
https://developer.github.com/v3/repos/comments/#update-a-commit-comment
32+
"""
33+
return self.patch("/repos/{}/{}/comments/{}".format(owner, repo, comment_id), **kwargs)
34+
35+
def delete_a_comment_commit(self, owner, repo, comment_id):
36+
"""
37+
https://developer.github.com/v3/repos/comments/#delete-a-commit-comment
38+
"""
39+
return self.delete("/repos/{}/{}/comments/{}".format(owner, repo, comment_id))

api/repositories/commits.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
from core.rest_client import RestClient
2+
3+
class Commits(RestClient):
4+
5+
def list_commits_on_a_repository(self, owner, repo, **kwargs):
6+
"""
7+
https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository
8+
"""
9+
return self.get("/repos/{}/{}/commits".format(owner, repo), **kwargs)
10+
11+
def get_a_single_commit(self, owner, repo, ref, **kwargs):
12+
"""
13+
https://developer.github.com/v3/repos/commits/#get-a-single-commit
14+
"""
15+
return self.get("/repoe/{}/{}/commits/{}".format(owner, repo, ref),**kwargs)
16+
17+
def compare_two_commits(self, owner, repo, base, head, **kwargs):
18+
"""
19+
https://developer.github.com/v3/repos/commits/#compare-two-commits
20+
"""
21+
return self.get("/repos/{}/{}/compare/{}...{}".format(owner, repo, base, head), **kwargs)
22+
23+
def list_branchese_for_HEAD_commit(self, owner, repo, commit_sha):
24+
"""
25+
https://developer.github.com/v3/repos/commits/#list-branches-for-head-commit
26+
"""
27+
headers = {"Accept":"application/vnd.github.groot-preview+json"}
28+
return self.get("/repos/{}/{}/commits/{}/branches-where-head".format(owner, repo, commit_sha), headers = headers)
29+
30+
def list_pull_requests_associated_with_commit(self, owner, repo, commit_sha):
31+
"""
32+
https://developer.github.com/v3/repos/commits/#list-pull-requests-associated-with-commit
33+
"""
34+
return self.get("/repos/{}/{}/commits/{}/pulls".format(owner, repo, commit_sha))
35+

api/repositories/contents.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
from core.rest_client import RestClient
2+
3+
class Contents(RestClient):
4+
5+
def get_the_readme(self, owner, repo, **kwargs):
6+
"""
7+
https://developer.github.com/v3/repos/contents/#get-the-readme
8+
"""
9+
return self.get("/repos/{}/{}/readme".format(owner, repo), **kwargs)
10+
11+
def get_contents(self, owner, repo, path, **kwargs):
12+
"""
13+
https://developer.github.com/v3/repos/contents/#get-contents
14+
"""
15+
return self.get("/repos/{}/{}/contents/{}".format(owner, repo, path), **kwargs)
16+
17+
def create_or_update_file(self, owner, repo, path, **kwargs):
18+
"""
19+
https://developer.github.com/v3/repos/contents/#create-or-update-a-file
20+
"""
21+
return self.put("/repo/{}/{}/contents/{}".format(owner, repo, path), **kwargs)
22+
23+
def delete_a_file(self, owner, repo, path, **kwargs):
24+
"""
25+
https://developer.github.com/v3/repos/contents/#delete-a-file
26+
"""
27+
return self.delete("/repo/{}/{}/contents/{}".format(owner, repo, path), **kwargs)
28+
29+
def get_archive_link(self, owner, repo, archive_format, ref):
30+
"""
31+
https://developer.github.com/v3/repos/contents/#get-archive-link
32+
"""
33+
return self.get("/repos/{}/{}/{}/".format(owner, repo, archive_format, ref))

api/repositories/deployments.py

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
from core.rest_client import RestClient
2+
3+
class Deployments(RestClient):
4+
5+
def list_deployments(self, owner, repo, **kwargs):
6+
"""
7+
https://developer.github.com/v3/repos/deployments/#list-deployments
8+
"""
9+
headers = {'Accept':'application/vnd.github.ant-man-preview+json'}
10+
return self.get("/repos/{}/{}/deployments".format(owner, repo), headers = headers, **kwargs)
11+
12+
def get_a_single_deployment(self, owner, repo, deployment_id):
13+
"""
14+
https://developer.github.com/v3/repos/deployments/#get-a-single-deployment
15+
"""
16+
headers = {'Accept':'application/vnd.github.machine-man-preview'}
17+
return self.get("/repos/{}/{}/deployments/{}".format(owner, repo, deployment_id), headers=headers)
18+
19+
def create_deployment(self, owner, repo, **kwargs):
20+
"""
21+
https://developer.github.com/v3/repos/deployments/#create-a-deployment
22+
"""
23+
headers = {'Accept':'application/vnd.github.ant-man-preview+json'}
24+
return self.post("/repos/{}/{}/deployments".format(owner, repo),headers=headers, **kwargs)
25+
26+
def list_deployment_statuses(self, owner, repo, deployment_id):
27+
"""
28+
https://developer.github.com/v3/repos/deployments/#list-deployment-statuses
29+
"""
30+
headers = {'Accept':'application/vnd.github.ant-man-preview+json,application/vnd.github.flash-preview+json'}
31+
return self.get("/repos/{}/{}/deployments/{}/statuses".format(owner, repo, deployment_id),headers=headers)
32+
33+
def get_a_single_deployment_status(self, owner, repo, deployment_id, status_id):
34+
"""
35+
https://developer.github.com/v3/repos/deployments/#get-a-single-deployment-status
36+
"""
37+
headers = {'Accept':'application/vnd.github.machine-man-preview,'
38+
'application/vnd.github.flash-preview+json,'
39+
'application/vnd.github.ant-man-preview+json'}
40+
return self.get("/repos/{}/{}/deployments/{}/statuses/{}",format(owner, repo, deployment_id, status_id),headers=headers)
41+
42+
def create_a_deployment_status(self, owner, repo, deployment_id, **kwargs):
43+
"""
44+
https://developer.github.com/v3/repos/deployments/#create-a-deployment-status
45+
"""
46+
headers = {'Accept':'application/vnd.github.flash-preview+json,'
47+
'application/vnd.github.ant-man-preview+json'}
48+
return self.post("/repos/{}/{}/deployments/{}/statuses".format(owner, repo, deployment_id), headers=headers, **kwargs)
49+

api/repositories/downloads.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
from core.rest_client import RestClient
2+
3+
class Downloads(RestClient):
4+
5+
def list_downloads_for_a_repository(self, owner, repo):
6+
"""
7+
https://developer.github.com/v3/repos/downloads/#list-downloads-for-a-repository
8+
"""
9+
return self.get("/repos/{}/{}/downloads".format(owner, repo))
10+
11+
def get_a_single_downloads(self, owner, repo, download_id):
12+
"""
13+
https://developer.github.com/v3/repos/downloads/#get-a-single-download
14+
"""
15+
return self.get("/repos/{}/{}/downloads/{}".format(owner, repo, download_id))
16+
17+
def delete_a_downlaod(self, owner, repo, download_id):
18+
"""
19+
https://developer.github.com/v3/repos/downloads/#delete-a-download
20+
"""
21+
return self.delete("/repos/{}/{}/downloads/{}".format(owner, repo, download_id))

0 commit comments

Comments
 (0)