[tool] Extract gerrit_query to gerritutils

This patch does a small refactor to move gerrit_query method to
a gerritutils module.

Change-Id: I727d69b9506d0c4819a400cf7b253804de74867e
Signed-off-by: Előd Illés <elod.illes@est.tech>
This commit is contained in:
Előd Illés
2026-02-04 17:58:32 +01:00
parent 5da665c3e6
commit 28fe638463
3 changed files with 40 additions and 22 deletions
+2 -20
View File
@@ -18,7 +18,6 @@
import argparse
import atexit
import glob
import json
import logging
import os
import os.path
@@ -29,10 +28,10 @@ import sys
import tempfile
from openstack_governance import governance
import requests
from openstack_releases import defaults
from openstack_releases import deliverable
from openstack_releases import gerritutils
from openstack_releases import gitutils
from openstack_releases import hound
from openstack_releases import liaisons
@@ -133,27 +132,10 @@ def git_diff(workdir, repo, git_range, file_pattern, title=''):
print()
def gerrit_query(*query):
url = 'https://review.openstack.org/changes/?q=' + '+'.join(query)
response = requests.get(url)
if (response.status_code // 100) != 2:
raise RuntimeError(
'Bad HTTP response from gerrit %s: %s' %
(url, response.status_code)
)
elif response.content[:4] == b")]}'":
content = response.content[5:].decode('utf-8')
return json.loads(content)
else:
print('could not parse response from %s' % url)
print(repr(content))
raise RuntimeError('failed to parse gerrit response')
def list_gerrit_patches(title, template, query):
header('{}: "{}"'.format(title, query))
try:
reviews = gerrit_query(query)
reviews = gerritutils.gerrit_query(query)
except Exception as err:
print(err)
else:
+2 -2
View File
@@ -16,9 +16,9 @@ import operator
import requests
import openstack_releases
from openstack_releases.cmds.list_changes import gerrit_query
from openstack_releases import defaults
from openstack_releases import deliverable
from openstack_releases import gerritutils
from openstack_releases import schema
from openstack_releases import series_status
@@ -310,7 +310,7 @@ def main():
if args.no_merge_since:
query = f'project:openstack%2F{deliv.name}+branch:master+mergedafter:{args.no_merge_since}'
patches = gerrit_query(query)
patches = gerritutils.gerrit_query(query)
if len(patches) > 0:
continue
+36
View File
@@ -0,0 +1,36 @@
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import json
import requests
GERRIT_URL = 'https://review.opendev.org/changes/?q='
def gerrit_query(*query):
query_url = GERRIT_URL + '+'.join(query)
response = requests.get(query_url)
if (response.status_code // 100) != 2:
raise RuntimeError(
'Bad HTTP response from gerrit %s: %s' %
(query_url, response.status_code)
)
elif response.content[:4] == b")]}'":
content = response.content[5:].decode('utf-8')
return json.loads(content)
else:
print('could not parse response from %s' % query_url)
print(repr(response.content))
raise RuntimeError('failed to parse gerrit response')