Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitdcace1d

Browse files
committed
Update github3.repos.status for consistency
1 parent7f32e37 commitdcace1d

File tree

1 file changed

+118
-53
lines changed

1 file changed

+118
-53
lines changed

‎github3/repos/status.py‎

Lines changed: 118 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,89 +1,154 @@
11
# -*- coding: utf-8 -*-
2-
"""
3-
github3.repos.status
4-
====================
5-
6-
This module contains the Status object for GitHub's commit status API
7-
8-
"""
2+
"""This module contains the Status object for GitHub's commit status API."""
93
from __future__importunicode_literals
104

5+
from ..importmodels
116
from ..importusers
127

138
from ..modelsimportGitHubCore
149

1510

16-
classStatus(GitHubCore):
17-
"""The :class:`Status <Status>` object.
11+
class_Status(models.GitHubCore):
12+
"""Representation of a status on a repository."""
13+
14+
class_name='_Status'
15+
16+
def_update_attributes(self,status):
17+
self._api=status['url']
18+
self.context=status['context']
19+
self.created_at=self._strptime(status['created_at'])
20+
self.description=status['description']
21+
self.id=status['id']
22+
self.state=status['state']
23+
self.target_url=status['target_url']
24+
self.updated_at=self._strptime(status['updated_at'])
25+
26+
def_repr(self):
27+
return'<{s.class_name} [{s.id}:{s.state}]>'.format(s=self)
28+
29+
30+
classShortStatus(_Status):
31+
"""Representation of a short status on a repository.
1832
19-
This represents information from the Repo Status API.
33+
.. versionadded:: 1.0.0
34+
35+
This is the representation found in a
36+
:class:`~github3.repos.status.CombinedStatus` object.
2037
2138
See also: http://developer.github.com/v3/repos/statuses/
22-
"""
2339
24-
def_update_attributes(self,status):
25-
#: A string label to differentiate this status from the status of
26-
#: other systems
27-
self.context=self._get_attribute(status,'context')
40+
This object has the following attributes:
2841
29-
#: datetime object representing the creation of the status object
30-
self.created_at=self._strptime_attribute(status,'created_at')
42+
.. attribute:: context
3143
32-
#: :class:`User <github3.users.User>` who created the object
33-
self.creator=self._class_attribute(
34-
status,'creator',users.ShortUser,self
35-
)
44+
This is a string that explains the context of this status object.
45+
For example, ``'continuous-integration/travis-ci/pr'``.
3646
37-
#: Short description of the Status
38-
self.description=self._get_attribute(status,'description')
47+
.. attribute:: created_at
3948
40-
#: GitHub ID forthestatus object
41-
self.id=self._get_attribute(status,'id')
49+
A :class:`~datetime.datetime` object representingthedate and time
50+
when thisstatus was created.
4251
43-
#: State of the status, e.g., 'success', 'pending', 'failed', 'error'
44-
self.state=self._get_attribute(status,'state')
52+
.. attribute:: creator
4553
46-
#: URL to view more information about the status
47-
self.target_url=self._get_attribute(status,'target_url')
54+
A :class:`~github3.users.ShortUser` representing the user who created
55+
thisstatus.
4856
49-
#: datetime object representing the last time the status was updated
50-
self.updated_at=self._strptime_attribute(status,'updated_at')
57+
.. attribute:: description
5158
52-
def_repr(self):
53-
return'<Status [{s.id}:{s.state}]>'.format(s=self)
59+
A short description of the status.
5460
61+
.. attribute:: id
5562
56-
classCombinedStatus(GitHubCore):
57-
"""The :class:`CombinedStatus <CombinedStatus>` object.
63+
The unique identifier of this status object.
64+
65+
.. attribute:: state
66+
67+
The state of this status, e.g., ``'success'``, ``'pending'``,
68+
``'failure'``.
69+
70+
.. attribute:: target_url
71+
72+
The URL to retrieve more information about this status.
73+
74+
.. attribute:: updated_at
75+
76+
A :class:`~datetime.datetime` object representing the date and time
77+
when this status was most recently updated.
78+
"""
79+
80+
class_name='ShortStatus'
5881

59-
This represents combined information from the Repo Status API.
82+
83+
classStatus(_Status):
84+
"""Representation of a full status on a repository.
6085
6186
See also: http://developer.github.com/v3/repos/statuses/
87+
88+
This object has the same attributes as a
89+
:class:`~github3.repos.status.ShortStatus` as well as the following
90+
attributes:
91+
92+
.. attribute:: creator
93+
94+
A :class:`~github3.users.ShortUser` representing the user who created
95+
this status.
6296
"""
6397

64-
def_update_attributes(self,combined_status):
65-
#: State of the combined status, e.g., 'success', 'pending', 'failure'
66-
self.state=self._get_attribute(combined_status,'state')
98+
class_name='Status'
6799

68-
#: ref's SHA
69-
self.sha=self._get_attribute(combined_status,'sha')
100+
def_update_attributes(self,status):
101+
super(Status,self)._update_attributes(status)
102+
self.creator=users.ShortUser(status['creator'],self)
70103

71-
#: Total count of sub-statuses
72-
self.total_count=self._get_attribute(combined_status,'total_count')
73104

74-
#: List of :class:`Status <github3.repos.status.Status>`
75-
#: objects.
76-
statuses=self._get_attribute(combined_status,'statuses', [])
77-
self.statuses= [Status(s,self)forsinstatuses]
105+
classCombinedStatus(GitHubCore):
106+
"""A representation of the combined statuses in a repository.
107+
108+
See also: http://developer.github.com/v3/repos/statuses/
109+
110+
This object has the following attributes:
111+
112+
.. attribute:: commit_url
113+
114+
The URL of the commit this combined status is present on.
115+
116+
.. attribute:: repository
117+
118+
A :class:`~gitub3.repos.repo.ShortRepository` representing the
119+
repository on which this combined status exists.
120+
121+
.. attribute:: sha
78122
123+
The SHA1 of the commit this status exists on.
124+
125+
.. attribute:: state
126+
127+
The state of the combined status, e.g., ``'success'``, ``'pending'``,
128+
``'failure'``.
129+
130+
.. attribute:: statuses
131+
132+
The list of :class:`~github3.repos.status.ShortStatus` objects
133+
representing the individual statuses that is combined in this object.
134+
135+
.. attribute:: total_count
136+
137+
The total number of sub-statuses.
138+
"""
139+
140+
def_update_attributes(self,combined_status):
79141
from .importrepo
80-
#: Repository the combined status belongs too.
81-
self.repository=self._class_attribute(
82-
combined_status,'repository',repo.ShortRepository,self
142+
self._api=combined_status['url']
143+
self.commit_url=combined_status['commit_url']
144+
self.repository=repo.ShortRepository(
145+
combined_status['repository'],self,
83146
)
84-
85-
#: commit URL
86-
self.commit_url=self._get_attribute(combined_status,'commit_url')
147+
self.sha=self._get_attribute(combined_status,'sha')
148+
self.state=self._get_attribute(combined_status,'state')
149+
statuses=self._get_attribute(combined_status,'statuses', [])
150+
self.statuses= [ShortStatus(s,self)forsinstatuses]
151+
self.total_count=self._get_attribute(combined_status,'total_count')
87152

88153
def_repr(self):
89154
f='<CombinedStatus [{s.state}:{s.total_count} sub-statuses]>'

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp