summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValentin Grégoire <valentin.gregoire@gmail.com>2020-09-29 13:57:48 +0200
committerValentin Grégoire <valentin.gregoire@gmail.com>2020-09-29 13:57:48 +0200
commit16fc0489b2fe24e0356e9092c9878210b7330a72 (patch)
treeb9c778d75304c5bf2916813e8677949335a4262b
parent650b65c389c686bcc9a9cef81b6ca2a509d8cad2 (diff)
downloadgitlab-16fc0489b2fe24e0356e9092c9878210b7330a72.tar.gz
chore: simplified search scope constants
-rw-r--r--docs/gl_objects/search.rst51
-rw-r--r--gitlab/const.py43
2 files changed, 29 insertions, 65 deletions
diff --git a/docs/gl_objects/search.rst b/docs/gl_objects/search.rst
index 283589e..eb8ba80 100644
--- a/docs/gl_objects/search.rst
+++ b/docs/gl_objects/search.rst
@@ -7,41 +7,26 @@ Searches are based on a scope (issues, merge requests, and so on) and a search
string. The following constants are provided to represent the possible scopes:
-* global scopes:
+* Shared scopes (global, group and project):
- + ``gitlab.SEARCH_SCOPE_GLOBAL_PROJECTS``: ``projects``
- + ``gitlab.SEARCH_SCOPE_GLOBAL_ISSUES``: ``issues``
- + ``gitlab.SEARCH_SCOPE_GLOBAL_MERGE_REQUESTS``: ``merge_requests``
- + ``gitlab.SEARCH_SCOPE_GLOBAL_MILESTONES``: ``milestones``
- + ``gitlab.SEARCH_SCOPE_GLOBAL_SNIPPET_TITLES``: ``snippet_titles``
- + ``gitlab.SEARCH_SCOPE_GLOBAL_WIKI_BLOBS``: ``wiki_blobs``
- + ``gitlab.SEARCH_SCOPE_GLOBAL_COMMITS``: ``commits``
- + ``gitlab.SEARCH_SCOPE_GLOBAL_BLOBS``: ``blobs``
- + ``gitlab.SEARCH_SCOPE_GLOBAL_USERS``: ``users``
+ + ``gitlab.SEARCH_SCOPE_PROJECTS``: ``projects``
+ + ``gitlab.SEARCH_SCOPE_ISSUES``: ``issues``
+ + ``gitlab.SEARCH_SCOPE_MERGE_REQUESTS``: ``merge_requests``
+ + ``gitlab.SEARCH_SCOPE_MILESTONES``: ``milestones``
+ + ``gitlab.SEARCH_SCOPE_WIKI_BLOBS``: ``wiki_blobs``
+ + ``gitlab.SEARCH_SCOPE_COMMITS``: ``commits``
+ + ``gitlab.SEARCH_SCOPE_BLOBS``: ``blobs``
+ + ``gitlab.SEARCH_SCOPE_USERS``: ``users``
-* group scopes:
+* specific global scope:
- + ``gitlab.SEARCH_SCOPE_GROUP_PROJECTS``: ``projects``
- + ``gitlab.SEARCH_SCOPE_GROUP_ISSUES``: ``issues``
- + ``gitlab.SEARCH_SCOPE_GROUP_MERGE_REQUESTS``: ``merge_requests``
- + ``gitlab.SEARCH_SCOPE_GROUP_MILESTONES``: ``milestones``
- + ``gitlab.SEARCH_SCOPE_GROUP_WIKI_BLOBS``: ``wiki_blobs``
- + ``gitlab.SEARCH_SCOPE_GROUP_COMMITS``: ``commits``
- + ``gitlab.SEARCH_SCOPE_GROUP_BLOBS``: ``blobs``
- + ``gitlab.SEARCH_SCOPE_GROUP_USERS``: ``users``
+ + ``gitlab.SEARCH_SCOPE_GLOBAL_SNIPPET_TITLES``: ``snippet_titles``
-* project scopes:
+* specific project scope:
- + ``gitlab.SEARCH_SCOPE_PROJECT_ISSUES``: ``issues``
- + ``gitlab.SEARCH_SCOPE_PROJECT_MERGE_REQUESTS``: ``merge_requests``
- + ``gitlab.SEARCH_SCOPE_PROJECT_MILESTONES``: ``milestones``
+ ``gitlab.SEARCH_SCOPE_PROJECT_NOTES``: ``notes``
- + ``gitlab.SEARCH_SCOPE_PROJECT_WIKI_BLOBS``: ``wiki_blobs``
- + ``gitlab.SEARCH_SCOPE_PROJECT_COMMITS``: ``commits``
- + ``gitlab.SEARCH_SCOPE_PROJECT_BLOBS``: ``blobs``
- + ``gitlab.SEARCH_SCOPE_PROJECT_USERS``: ``users``
Reference
@@ -61,30 +46,30 @@ Examples
Search for issues matching a specific string::
# global search
- gl.search(gitlab.SEARCH_SCOPE_GLOBAL_ISSUES, 'regression')
+ gl.search(gitlab.SEARCH_SCOPE_ISSUES, 'regression')
# group search
group = gl.groups.get('mygroup')
- group.search(gitlab.SEARCH_SCOPE_GROUP_ISSUES, 'regression')
+ group.search(gitlab.SEARCH_SCOPE_ISSUES, 'regression')
# project search
project = gl.projects.get('myproject')
- project.search(gitlab.SEARCH_SCOPE_PROJECT_ISSUES, 'regression')
+ project.search(gitlab.SEARCH_SCOPE_ISSUES, 'regression')
The ``search()`` methods implement the pagination support::
# get lists of 10 items, and start at page 2
- gl.search(gitlab.SEARCH_SCOPE_GLOBAL_ISSUES, search_str, page=2, per_page=10)
+ gl.search(gitlab.SEARCH_SCOPE_ISSUES, search_str, page=2, per_page=10)
# get a generator that will automatically make required API calls for
# pagination
- for item in gl.search(gitlab.SEARCH_SCOPE_GLOBAL_ISSUES, search_str, as_list=False):
+ for item in gl.search(gitlab.SEARCH_SCOPE_ISSUES, search_str, as_list=False):
do_something(item)
The search API doesn't return objects, but dicts. If you need to act on
objects, you need to create them explicitly::
- for item in gl.search(gitlab.SEARCH_SCOPE_GLOBAL_ISSUES, search_str, as_list=False):
+ for item in gl.search(gitlab.SEARCH_SCOPE_ISSUES, search_str, as_list=False):
issue_project = gl.projects.get(item['project_id'], lazy=True)
issue = issue_project.issues.get(item['iid'])
issue.state = 'closed'
diff --git a/gitlab/const.py b/gitlab/const.py
index 1abad86..0d2f421 100644
--- a/gitlab/const.py
+++ b/gitlab/const.py
@@ -35,39 +35,18 @@ NOTIFICATION_LEVEL_MENTION = "mention"
NOTIFICATION_LEVEL_CUSTOM = "custom"
# Search scopes
-_SEARCH_SCOPE_PROJECTS = "projects"
-_SEARCH_SCOPE_ISSUES = "issues"
-_SEARCH_SCOPE_MERGE_REQUESTS = "merge_requests"
-_SEARCH_SCOPE_MILESTONES = "milestones"
-_SEARCH_SCOPE_WIKI_BLOBS = "wiki_blobs"
-_SEARCH_SCOPE_COMMITS = "commits"
-_SEARCH_SCOPE_BLOBS = "blobs"
-_SEARCH_SCOPE_USERS = "users"
+# all scopes (global, group and project)
+SEARCH_SCOPE_PROJECTS = "projects"
+SEARCH_SCOPE_ISSUES = "issues"
+SEARCH_SCOPE_MERGE_REQUESTS = "merge_requests"
+SEARCH_SCOPE_MILESTONES = "milestones"
+SEARCH_SCOPE_WIKI_BLOBS = "wiki_blobs"
+SEARCH_SCOPE_COMMITS = "commits"
+SEARCH_SCOPE_BLOBS = "blobs"
+SEARCH_SCOPE_USERS = "users"
-SEARCH_SCOPE_GLOBAL_PROJECTS = _SEARCH_SCOPE_PROJECTS
-SEARCH_SCOPE_GLOBAL_ISSUES = _SEARCH_SCOPE_ISSUES
-SEARCH_SCOPE_GLOBAL_MERGE_REQUESTS = _SEARCH_SCOPE_MERGE_REQUESTS
-SEARCH_SCOPE_GLOBAL_MILESTONES = _SEARCH_SCOPE_MILESTONES
+# specific global scope
SEARCH_SCOPE_GLOBAL_SNIPPET_TITLES = "snippet_titles"
-SEARCH_SCOPE_GLOBAL_WIKI_BLOBS = _SEARCH_SCOPE_WIKI_BLOBS
-SEARCH_SCOPE_GLOBAL_COMMITS = _SEARCH_SCOPE_COMMITS
-SEARCH_SCOPE_GLOBAL_BLOBS = _SEARCH_SCOPE_BLOBS
-SEARCH_SCOPE_GLOBAL_USERS = _SEARCH_SCOPE_USERS
-SEARCH_SCOPE_GROUP_PROJECTS = _SEARCH_SCOPE_PROJECTS
-SEARCH_SCOPE_GROUP_ISSUES = _SEARCH_SCOPE_ISSUES
-SEARCH_SCOPE_GROUP_MERGE_REQUESTS = _SEARCH_SCOPE_MERGE_REQUESTS
-SEARCH_SCOPE_GROUP_MILESTONES = _SEARCH_SCOPE_MILESTONES
-SEARCH_SCOPE_GROUP_WIKI_BLOBS = _SEARCH_SCOPE_WIKI_BLOBS
-SEARCH_SCOPE_GROUP_COMMITS = _SEARCH_SCOPE_COMMITS
-SEARCH_SCOPE_GROUP_BLOBS = _SEARCH_SCOPE_BLOBS
-SEARCH_SCOPE_GROUP_USERS = _SEARCH_SCOPE_USERS
-
-SEARCH_SCOPE_PROJECT_ISSUES = _SEARCH_SCOPE_ISSUES
-SEARCH_SCOPE_PROJECT_MERGE_REQUESTS = _SEARCH_SCOPE_MERGE_REQUESTS
-SEARCH_SCOPE_PROJECT_MILESTONES = _SEARCH_SCOPE_MILESTONES
+# specific project scope
SEARCH_SCOPE_PROJECT_NOTES = "notes"
-SEARCH_SCOPE_PROJECT_WIKI_BLOBS = _SEARCH_SCOPE_WIKI_BLOBS
-SEARCH_SCOPE_PROJECT_COMMITS = _SEARCH_SCOPE_COMMITS
-SEARCH_SCOPE_PROJECT_BLOBS = _SEARCH_SCOPE_BLOBS
-SEARCH_SCOPE_PROJECT_USERS = _SEARCH_SCOPE_USERS