8000 Fix up usage of Repository and ShortRepository · pythonthings/github3.py@f9bf53a · GitHub
[go: up one dir, main page]

Skip to content

Commit f9bf53a

Browse files
committed
Fix up usage of Repository and ShortRepository
1 parent 3a62f69 commit f9bf53a

File tree

3 files changed

+35
-25
lines changed

3 files changed

+35
-25
lines changed

github3/github.py

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
from .models import GitHubCore
2020
from .orgs import Membership, Organization, Team
2121
from .pulls import PullRequest
22-
from .repos.repo import Repository, repo_issue_params
22+
from .repos import repo
2323
from .search import (CodeSearchResult, IssueSearchResult,
2424
RepositorySearchResult, UserSearchResult)
2525
from .structs import SearchIterator
@@ -125,10 +125,10 @@ def all_repositories(self, number=-1, since=None, etag=None,
125125
endpoint
126126
:param int per_page: (optional), number of repositories to list per
127127
request
128-
:returns: generator of :class:`Repository <github3.repos.Repository>`
128+
:returns: generator of :class:`~github3.repos.ShortRepository`
129129
"""
130130
url = self._build_url('repositories')
131-
return self._iter(int(number), url, Repository,
131+
return self._iter(int(number), url, repo.ShortRepository,
132132
params={'since': since, 'per_page': per_page},
133133
etag=etag)
134134

@@ -338,7 +338,7 @@ def create_repository(self, name, description='', homepage='',
338338
'auto_init': auto_init,
339339
'gitignore_template': gitignore_template}
340340
json = self._json(self._post(url, data=data), 201)
341-
return self._instance_or_null(Repository, json)
341+
return self._instance_or_null(repo.Repository, json)
342342

343343
@requires_auth
344344
def delete_email_addresses(self, addresses=[]):
@@ -689,8 +689,10 @@ def issues_on(self, username, repository, milestone=None, state=None,
689689
if username and repository:
690690
url = self._build_url('repos', username, repository, 'issues')
691691

692-
params = repo_issue_params(milestone, state, assignee, mentioned,
693-
labels, sort, direction, since)
692+
params = repo.repo_issue_params(
693+
milestone, state, assignee, mentioned,
694+
labels, sort, direction, since,
695+
)
694696
return self._iter(int(number), url, Issue, params=params,
695697
etag=etag)
696698
return iter([])
@@ -1070,7 +1072,7 @@ def repositories(self, type=None, sort=None, direction=None, number=-1,
10701072
Default: -1 returns all repositories
10711073
:param str etag: (optional), ETag from a previous request to the same
10721074
endpoint
1073-
:returns: generator of :class:`Repository <github3.repos.Repository>`
1075+
:returns: generator of :class:`~github3.repos.ShortRepository`
10741076
objects
10751077
"""
10761078
url = self._build_url('user', 'repos')
@@ -1083,7 +1085,8 @@ def repositories(self, type=None, sort=None, direction=None, number=-1,
10831085
if direction in ('asc', 'desc'):
10841086
params.update(direction=direction)
10851087

1086-
return self._iter(int(number), url, Repository, params, etag)
1088+
return self._iter(int(number), url, repo.ShortRepository, params,
1089+
etag)
10871090

10881091
def repositories_by(self, username, type=None, sort=None, direction=None,
10891092
number=-1, etag=None):
@@ -1105,7 +1108,7 @@ def repositories_by(self, username, type=None, sort=None, direction=None,
11051108
Default: -1 returns all repositories
11061109
:param str etag: (optional), ETag from a previous request to the same
11071110
endpoint
1108-
:returns: generator of :class:`Repository <github3.repos.Repository>`
1111+
:returns: generator of :class:`~github3.repos.ShortRepository`
11091112
objects
11101113
"""
11111114
url = self._build_url('users', username, 'repos')
@@ -1118,7 +1121,8 @@ def repositories_by(self, username, type=None, sort=None, direction=None,
11181121
if direction in ('asc', 'desc'):
11191122
params.update(direction=direction)
11201123

1121-
return self._iter(int(number), url, Repository, params, etag)
1124+
return self._iter(int(number), url, repo.ShortRepository, params,
1125+
etag)
11221126

11231127
def repository(self, owner, repository):
11241128
"""Returns a Repository object for the specified combination of
@@ -1133,7 +1137,7 @@ def repository(self, owner, repository):
11331137
url = self._build_url('repos', owner, repository)
11341138
json = self._json(self._get(url, headers=License.CUSTOM_HEADERS),
11351139
200)
1136-
return self._instance_or_null(Repository, json)
1140+
return self._instance_or_null(repo.Repository, json)
11371141

11381142
def repository_with_id(self, number):
11391143
"""Returns the Repository with id ``number``.
@@ -1146,7 +1150,7 @@ def repository_with_id(self, number):
11461150
if number > 0:
11471151
url = self._build_url('repositories', str(number))
11481152
json = self._json(self._get(url), 200)
1149-
return self._instance_or_null(Repository, json)
1153+
return self._instance_or_null(repo.Repository, json)
11501154

11511155
@requires_app_credentials
11521156
def revoke_authorization(self, access_token):
@@ -1475,12 +1479,13 @@ def starred(self, sort=None, direction=None, number=-1, etag=None):
14751479
Default: -1 returns all repositories
14761480
:param str etag: (optional), ETag from a previous request to the same
14771481
endpoint
1478-
:returns: generator of :class:`Repository <github3.repos.Repository>`
1482+
:returns: generator of :class:`~github3.repos.ShortRepository>`
14791483
"""
14801484
params = {'sort': sort, 'direction': direction}
14811485
self._remove_none(params)
14821486
url = self._build_url('user', 'starred')
1483-
return self._iter(int(number), url, Repository, params, etag)
1487+
return self._iter(int(number), url, repo.ShortRepository, params,
1488+
etag)
14841489

14851490
def starred_by(self, username, sort=None, direction=None, number=-1,
14861491
etag=None):
@@ -1500,12 +1505,13 @@ def starred_by(self, username, sort=None, direction=None, number=-1,
15001505
Default: -1 returns all repositories
15011506
:param str etag: (optional), ETag from a previous request to the same
15021507
endpoint
1503-
:returns: generator of :class:`Repository <github3.repos.Repository>`
1508+
:returns: generator of :class:`~github3.repos.ShortRepository`
15041509
"""
15051510
params = {'sort': sort, 'direction': direction}
15061511
self._remove_none(params)
15071512
url = self._build_url('users', str(us F438 ername), 'starred')
1508-
return self._iter(int(number), url, Repository, params, etag)
1513+
return self._iter(int(number), url, repo.ShortRepository, params,
1514+
etag)
15091515

15101516
@requires_auth
15111517
def subscriptions(self, number=-1, etag=None):
@@ -1515,10 +1521,10 @@ def subscriptions(self, number=-1, etag=None):
15151521
Default: -1 returns all repositories
15161522
:param str etag: (optional), ETag from a previous request to the same
15171523
endpoint
1518-
:returns: generator of :class:`Repository <github3.repos.Repository>`
1524+
:returns: generator of :class:`~github3.repos.ShortRepository`
15191525
"""
15201526
url = self._build_url('user', 'subscriptions')
1521-
return self._iter(int(number), url, Repository, etag=etag)
1527+
return self._iter(int(number), url, repo.ShortRepository, etag=etag)
15221528

15231529
def subscriptions_for(self, username, number=-1, etag=None):
15241530
"""Iterate over repositories subscribed to by ``username``.
@@ -1529,10 +1535,10 @@ def subscriptions_for(self, username, number=-1, etag=None):
15291535
Default: -1 returns all repositories
15301536
:param str etag: (optional), ETag from a previous request to the same
15311537
endpoint
1532-
:returns: generator of :class:`Repository <github3.repos.Repository>`
1538+
:returns: generator of :class:`~github3.repos.ShortRepository`
15331539
"""
15341540
url = self._build_url('users', str(username), 'subscriptions')
1535-
return self._iter(int(number), url, Repository, etag=etag)
1541+
return self._iter(int(number), url, repo.ShortRepository, etag=etag)
15361542

15371543
@requires_auth
15381544
def unfollow(self, username):

github3/notifications.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@ def _update_attributes(self, notif):
4040
#: Thread information
4141
self.thread = self._get_attribute(notif, 'thread', {})
4242

43-
from .repos import Repository
43+
from . import repos
4444
#: Repository the comment was made on
4545
self.repository = self._class_attribute(
46-
notif, 'repository', Repository, self
46+
notif, 'repository', repos.ShortRepository, self
4747
)
4848

4949
#: When the thread was last updated

github3/repos/repo.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2190,20 +2190,24 @@ def _update_attributes(self, repo):
21902190
self.has_wiki = repo['has_wiki']
21912191
self.homepage = repo['homepage']
21922192
self.language = repo['language']
2193-
self.original_license = License(repo['license'], self)
21942193
self.mirror_url = repo['mirror_url']
2195-
self.network_count = repo['network_count']
21962194
self.open_issues = repo['open_issues']
21972195
self.open_issues_count = repo['open_issues_count']
21982196
self.pushed_at = self._strptime(repo['pushed_at'])
21992197
self.size = repo['size']
22002198
self.ssh_url = repo['ssh_url']
22012199
self.stargazers_count = repo['stargazers_count']
2202-
self.subscribers_count = repo['subscribers_count']
22032200
self.svn_url = self._get_attribute(repo, 'svn_url')
22042201
self.updated_at = self._strptime_attribute(repo, 'updated_at')
22052202
self.watchers_count = self.watchers = repo['watchers_count']
22062203

2204+
# Some repositories do not have these attributes at all
2205+
self.original_license = repo.get('license')
2206+
if self.original_license is not None:
2207+
self.original_license = License(self.original_license, self)
2208+
self.network_count = repo.get('network_count')
2209+
self.subscribers_count = repo.get('subscribers_count')
2210+
22072211
# .......... OLD ...... Deprecated?
22082212

22092213
#: URL of the pure diff of the pull request

0 commit comments

Comments
 (0)
0