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

Commitba2539e

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 commitba2539e

File tree

1 file changed

+77
-28
lines changed

1 file changed

+77
-28
lines changed

‎gitlab/const.py‎

Lines changed: 77 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -15,44 +15,93 @@
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+
34+
# https://gitlab.com/gitlab-org/gitlab/-/blob/e97357824bedf007e75f8782259fe07435b64fbb/lib/gitlab/visibility_level.rb#L23-25
35+
classVisibility(Enum):
36+
PRIVATE:str="private"
37+
INTERNAL:str="internal"
38+
PUBLIC:str="public"
39+
40+
41+
classNotificationLevel(Enum):
42+
DISABLED:str="disabled"
43+
PARTICIPATING:str="participating"
44+
WATCH:str="watch"
45+
GLOBAL:str="global"
46+
MENTION:str="mention"
47+
CUSTOM:str="custom"
48+
49+
50+
# https://gitlab.com/gitlab-org/gitlab/-/blob/e97357824bedf007e75f8782259fe07435b64fbb/app/views/search/_category.html.haml#L10-37
51+
classSearchScope(Enum):
52+
# all scopes (global, group and project)
53+
PROJECTS:str="projects"
54+
ISSUES:str="issues"
55+
MERGE_REQUESTS:str="merge_requests"
56+
MILESTONES:str="milestones"
57+
WIKI_BLOBS:str="wiki_blobs"
58+
COMMITS:str="commits"
59+
BLOBS:str="blobs"
60+
USERS:str="users"
61+
62+
# specific global scope
63+
GLOBAL_SNIPPET_TITLES:str="snippet_titles"
64+
65+
# specific project scope
66+
PROJECT_NOTES:str="notes"
67+
68+
2069
DEFAULT_URL:str="https://gitlab.com"
2170

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"
71+
NO_ACCESS=AccessLevel.NO_ACCESS.value
72+
MINIMAL_ACCESS=AccessLevel.MINIMAL_ACCESS.value
73+
GUEST_ACCESS=AccessLevel.GUEST.value
74+
REPORTER_ACCESS=AccessLevel.REPORTER.value
75+
DEVELOPER_ACCESS=AccessLevel.DEVELOPER.value
76+
MAINTAINER_ACCESS=AccessLevel.MAINTAINER.value
77+
OWNER_ACCESS=AccessLevel.OWNER.value
78+
79+
VISIBILITY_PRIVATE=Visibility.PRIVATE.value
80+
VISIBILITY_INTERNAL=Visibility.INTERNAL.value
81+
VISIBILITY_PUBLIC=Visibility.PUBLIC.value
82+
83+
NOTIFICATION_LEVEL_DISABLED=NotificationLevel.DISABLED.value
84+
NOTIFICATION_LEVEL_PARTICIPATING=NotificationLevel.PARTICIPATING.value
85+
NOTIFICATION_LEVEL_WATCH=NotificationLevel.WATCH.value
86+
NOTIFICATION_LEVEL_GLOBAL=NotificationLevel.GLOBAL.value
87+
NOTIFICATION_LEVEL_MENTION=NotificationLevel.MENTION.value
88+
NOTIFICATION_LEVEL_CUSTOM=NotificationLevel.CUSTOM.value
4089

4190
# Search scopes
4291
# 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"
92+
SEARCH_SCOPE_PROJECTS=SearchScope.PROJECTS.value
93+
SEARCH_SCOPE_ISSUES=SearchScope.ISSUES.value
94+
SEARCH_SCOPE_MERGE_REQUESTS=SearchScope.MERGE_REQUESTS.value
95+
SEARCH_SCOPE_MILESTONES=SearchScope.MILESTONES.value
96+
SEARCH_SCOPE_WIKI_BLOBS=SearchScope.WIKI_BLOBS.value
97+
SEARCH_SCOPE_COMMITS=SearchScope.COMMITS.value
98+
SEARCH_SCOPE_BLOBS=SearchScope.BLOBS.value
99+
SEARCH_SCOPE_USERS=SearchScope.USERS.value
51100

52101
# specific global scope
53-
SEARCH_SCOPE_GLOBAL_SNIPPET_TITLES:str="snippet_titles"
102+
SEARCH_SCOPE_GLOBAL_SNIPPET_TITLES=SearchScope.GLOBAL_SNIPPET_TITLES.value
54103

55104
# specific project scope
56-
SEARCH_SCOPE_PROJECT_NOTES:str="notes"
105+
SEARCH_SCOPE_PROJECT_NOTES=SearchScope.PROJECT_NOTES.value
57106

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

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp