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

Commitcf84b4b

Browse files
committed
feat(api): convert gitlab.const to Enums
This allows accessing the elements by value, i.e.:import gitlab.constgitlab.const.AccessLevel(20)
1 parent57283fc commitcf84b4b

File tree

1 file changed

+76
-28
lines changed

1 file changed

+76
-28
lines changed

‎gitlab/const.py‎

Lines changed: 76 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -15,44 +15,92 @@
1515
# You should have received a copy of the GNU Lesser General Public License
1616
# along with this program. If not, see <http://www.gnu.org/licenses/>.
1717

18+
fromenumimportEnum,IntEnum
19+
1820
fromgitlab.__version__import__title__,__version__
1921

22+
23+
# https://gitlab.com/gitlab-org/gitlab/-/blob/e97357824bedf007e75f8782259fe07435b64fbb/lib/gitlab/access.rb#L12-18
24+
classAccessLevel(IntEnum):
25+
NO_ACCESS:int=0
26+
MINIMAL_ACCESS:int=5
27+
GUEST:int=10
28+
REPORTER:int=20
29+
DEVELOPER:int=30
30+
MAINTAINER:int=40
31+
OWNER:int=50
32+
33+
# https://gitlab.com/gitlab-org/gitlab/-/blob/e97357824bedf007e75f8782259fe07435b64fbb/lib/gitlab/visibility_level.rb#L23-25
34+
classVisibility(Enum):
35+
PRIVATE:str="private"
36+
INTERNAL:str="internal"
37+
PUBLIC:str="public"
38+
39+
40+
classNotificationLevel(Enum):
41+
DISABLED:str="disabled"
42+
PARTICIPATING:str="participating"
43+
WATCH:str="watch"
44+
GLOBAL:str="global"
45+
MENTION:str="mention"
46+
CUSTOM:str="custom"
47+
48+
49+
# https://gitlab.com/gitlab-org/gitlab/-/blob/e97357824bedf007e75f8782259fe07435b64fbb/app/views/search/_category.html.haml#L10-37
50+
classSearchScope(Enum):
51+
# all scopes (global, group and project)
52+
PROJECTS:str="projects"
53+
ISSUES:str="issues"
54+
MERGE_REQUESTS:str="merge_requests"
55+
MILESTONES:str="milestones"
56+
WIKI_BLOBS:str="wiki_blobs"
57+
COMMITS:str="commits"
58+
BLOBS:str="blobs"
59+
USERS:str="users"
60+
61+
# specific global scope
62+
GLOBAL_SNIPPET_TITLES:str="snippet_titles"
63+
64+
# specific project scope
65+
PROJECT_NOTES:str="notes"
66+
67+
2068
DEFAULT_URL:str="https://gitlab.com"
2169

22-
NO_ACCESS:int=0
23-
MINIMAL_ACCESS:int=5
24-
GUEST_ACCESS:int=10
25-
REPORTER_ACCESS:int=20
26-
DEVELOPER_ACCESS:int=30
27-
MAINTAINER_ACCESS:int=40
28-
OWNER_ACCESS:int=50
29-
30-
VISIBILITY_PRIVATE:str="private"
31-
VISIBILITY_INTERNAL:str="internal"
32-
VISIBILITY_PUBLIC:str="public"
33-
34-
NOTIFICATION_LEVEL_DISABLED:str="disabled"
35-
NOTIFICATION_LEVEL_PARTICIPATING:str="participating"
36-
NOTIFICATION_LEVEL_WATCH:str="watch"
37-
NOTIFICATION_LEVEL_GLOBAL:str="global"
38-
NOTIFICATION_LEVEL_MENTION:str="mention"
39-
NOTIFICATION_LEVEL_CUSTOM:str="custom"
70+
NO_ACCESS=AccessLevel.NO_ACCESS.value
71+
MINIMAL_ACCESS=AccessLevel.MINIMAL_ACCESS.value
72+
GUEST_ACCESS=AccessLevel.GUEST.value
73+
REPORTER_ACCESS=AccessLevel.REPORTER.value
74+
DEVELOPER_ACCESS=AccessLevel.DEVELOPER.value
75+
MAINTAINER_ACCESS=AccessLevel.MAINTAINER.value
76+
OWNER_ACCESS=AccessLevel.OWNER.value
77+
78+
VISIBILITY_PRIVATE=Visibility.PRIVATE.value
79+
VISIBILITY_INTERNAL=Visibility.INTERNAL.value
80+
VISIBILITY_PUBLIC=Visibility.PUBLIC.value
81+
82+
NOTIFICATION_LEVEL_DISABLED=NotificationLevel.DISABLED.value
83+
NOTIFICATION_LEVEL_PARTICIPATING=NotificationLevel.PARTICIPATING.value
84+
NOTIFICATION_LEVEL_WATCH=NotificationLevel.WATCH.value
85+
NOTIFICATION_LEVEL_GLOBAL=NotificationLevel.GLOBAL.value
86+
NOTIFICATION_LEVEL_MENTION=NotificationLevel.MENTION.value
87+
NOTIFICATION_LEVEL_CUSTOM=NotificationLevel.CUSTOM.value
4088

4189
# Search scopes
4290
# all scopes (global, group and project)
43-
SEARCH_SCOPE_PROJECTS:str="projects"
44-
SEARCH_SCOPE_ISSUES:str="issues"
45-
SEARCH_SCOPE_MERGE_REQUESTS:str="merge_requests"
46-
SEARCH_SCOPE_MILESTONES:str="milestones"
47-
SEARCH_SCOPE_WIKI_BLOBS:str="wiki_blobs"
48-
SEARCH_SCOPE_COMMITS:str="commits"
49-
SEARCH_SCOPE_BLOBS:str="blobs"
50-
SEARCH_SCOPE_USERS:str="users"
91+
SEARCH_SCOPE_PROJECTS=SearchScope.PROJECTS.value
92+
SEARCH_SCOPE_ISSUES=SearchScope.ISSUES.value
93+
SEARCH_SCOPE_MERGE_REQUESTS=SearchScope.MERGE_REQUESTS.value
94+
SEARCH_SCOPE_MILESTONES=SearchScope.MILESTONES.value
95+
SEARCH_SCOPE_WIKI_BLOBS=SearchScope.WIKI_BLOBS.value
96+
SEARCH_SCOPE_COMMITS=SearchScope.COMMITS.value
97+
SEARCH_SCOPE_BLOBS=SearchScope.BLOBS.value
98+
SEARCH_SCOPE_USERS=SearchScope.USERS.value
5199

52100
# specific global scope
53-
SEARCH_SCOPE_GLOBAL_SNIPPET_TITLES:str="snippet_titles"
101+
SEARCH_SCOPE_GLOBAL_SNIPPET_TITLES=SearchScope.GLOBAL_SNIPPET_TITLES.value
54102

55103
# specific project scope
56-
SEARCH_SCOPE_PROJECT_NOTES:str="notes"
104+
SEARCH_SCOPE_PROJECT_NOTES=SearchScope.PROJECT_NOTES.value
57105

58106
USER_AGENT:str=f"{__title__}/{__version__}"

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp