Merge "Bump gerritlib requirement to 0.10.0"
diff --git a/jeepyb/cmd/close_pull_requests.py b/jeepyb/cmd/close_pull_requests.py
index a113c34..e8265df 100644
--- a/jeepyb/cmd/close_pull_requests.py
+++ b/jeepyb/cmd/close_pull_requests.py
@@ -38,7 +38,7 @@
import logging
import os
-import jeepyb.log as l
+import jeepyb.log
import jeepyb.projects as p
import jeepyb.utils as u
@@ -61,12 +61,12 @@
def main():
parser = argparse.ArgumentParser()
- l.setup_logging_arguments(parser)
+ jeepyb.log.setup_logging_arguments(parser)
parser.add_argument('--message-file', dest='message_file', default=None,
help='The close pull request message')
args = parser.parse_args()
- l.configure_logging(args)
+ jeepyb.log.configure_logging(args)
if args.message_file:
try:
@@ -130,5 +130,6 @@
issue.create_comment(pull_request_text % vars)
req.edit(state="closed")
+
if __name__ == "__main__":
main()
diff --git a/jeepyb/cmd/create_hound_config.py b/jeepyb/cmd/create_hound_config.py
index 601ba74..373ae02 100644
--- a/jeepyb/cmd/create_hound_config.py
+++ b/jeepyb/cmd/create_hound_config.py
@@ -19,14 +19,14 @@
import json
import os
+import jeepyb.utils as u
+
# Python2 has unicode as a builtin
# Python3 does not
import sys
if sys.version_info[0] >= 3:
unicode = str
-import jeepyb.utils as u
-
PROJECTS_YAML = os.environ.get('PROJECTS_YAML', '/home/hound/projects.yaml')
GIT_SERVER = os.environ.get('GIT_BASE', 'opendev.org')
diff --git a/jeepyb/cmd/expire_old_reviews.py b/jeepyb/cmd/expire_old_reviews.py
index 9bbc84c..2dbd015 100644
--- a/jeepyb/cmd/expire_old_reviews.py
+++ b/jeepyb/cmd/expire_old_reviews.py
@@ -22,16 +22,16 @@
import logging
import paramiko
-import jeepyb.log as l
+import jeepyb.log
logger = logging.getLogger('expire_reviews')
def expire_patch_set(ssh, patch_id, patch_subject):
- message = ('Code review expired due to no recent activity'
- ' after a negative review. It can be restored using'
- ' the \`Restore Change\` button under the Patch Set'
- ' on the web interface.')
+ message = ("Code review expired due to no recent activity"
+ " after a negative review. It can be restored using"
+ " the 'Restore Change' button under the Patch Set"
+ " on the web interface.")
command = ('gerrit review --abandon '
'--message="{message}" {patch_id}').format(
message=message,
@@ -50,9 +50,9 @@
parser.add_argument('ssh_key', help='The gerrit admin SSH key file')
parser.add_argument('--age', dest='age', default='1w',
help='The minimum age of a review to expire')
- l.setup_logging_arguments(parser)
+ jeepyb.log.setup_logging_arguments(parser)
options = parser.parse_args()
- l.configure_logging(options)
+ jeepyb.log.configure_logging(options)
GERRIT_USER = options.user
GERRIT_SSH_KEY = options.ssh_key
@@ -85,5 +85,6 @@
logger.info('End expire review')
+
if __name__ == "__main__":
main()
diff --git a/jeepyb/cmd/manage_projects.py b/jeepyb/cmd/manage_projects.py
index 4ca3e27..212d899 100644
--- a/jeepyb/cmd/manage_projects.py
+++ b/jeepyb/cmd/manage_projects.py
@@ -62,7 +62,7 @@
import gerritlib.gerrit
import github
-import jeepyb.log as l
+import jeepyb.log
import jeepyb.utils as u
registry = u.ProjectsRegistry()
@@ -418,13 +418,13 @@
def main():
parser = argparse.ArgumentParser(description='Manage projects')
- l.setup_logging_arguments(parser)
+ jeepyb.log.setup_logging_arguments(parser)
parser.add_argument('--nocleanup', action='store_true',
help='do not remove temp directories')
parser.add_argument('projects', metavar='project', nargs='*',
help='name of project(s) to process')
args = parser.parse_args()
- l.configure_logging(args)
+ jeepyb.log.configure_logging(args)
default_has_github = registry.get_defaults('has-github', True)
diff --git a/jeepyb/cmd/notify_impact.py b/jeepyb/cmd/notify_impact.py
index 389d3de..0636c06 100644
--- a/jeepyb/cmd/notify_impact.py
+++ b/jeepyb/cmd/notify_impact.py
@@ -334,5 +334,6 @@
if impacted(git_log, args.impact):
process_impact(git_log, args, config)
+
if __name__ == "__main__":
main()
diff --git a/jeepyb/cmd/openstackwatch.py b/jeepyb/cmd/openstackwatch.py
index c9d6a54..264112f 100644
--- a/jeepyb/cmd/openstackwatch.py
+++ b/jeepyb/cmd/openstackwatch.py
@@ -78,6 +78,7 @@
OUTPUT_MODE)
return ret
+
try:
conffile = sys.argv[1]
except IndexError:
@@ -174,5 +175,6 @@
else:
print(content)
+
if __name__ == '__main__':
main()
diff --git a/jeepyb/cmd/register_zanata_projects.py b/jeepyb/cmd/register_zanata_projects.py
index 6d64625..b737909 100644
--- a/jeepyb/cmd/register_zanata_projects.py
+++ b/jeepyb/cmd/register_zanata_projects.py
@@ -18,7 +18,7 @@
import logging
import os
-import jeepyb.log as l
+import jeepyb.log
import jeepyb.projects as p
import jeepyb.translations as t
import jeepyb.utils as u
@@ -33,9 +33,9 @@
def main():
parser = argparse.ArgumentParser(description='Register projects in Zanata')
- l.setup_logging_arguments(parser)
+ jeepyb.log.setup_logging_arguments(parser)
args = parser.parse_args()
- l.configure_logging(args)
+ jeepyb.log.configure_logging(args)
registry = u.ProjectsRegistry(PROJECTS_YAML)
rest_service = t.ZanataRestService(ZANATA_URL, ZANATA_USER, ZANATA_KEY)
diff --git a/jeepyb/cmd/track_upstream.py b/jeepyb/cmd/track_upstream.py
index ba2b482..4a30c61 100644
--- a/jeepyb/cmd/track_upstream.py
+++ b/jeepyb/cmd/track_upstream.py
@@ -54,7 +54,7 @@
import gerritlib.gerrit
-import jeepyb.log as l
+import jeepyb.log
import jeepyb.utils as u
registry = u.ProjectsRegistry()
@@ -139,13 +139,13 @@
def main():
parser = argparse.ArgumentParser(description='Manage projects')
- l.setup_logging_arguments(parser)
+ jeepyb.log.setup_logging_arguments(parser)
parser.add_argument('--nocleanup', action='store_true',
help='do not remove temp directories')
parser.add_argument('projects', metavar='project', nargs='*',
help='name of project(s) to process')
args = parser.parse_args()
- l.configure_logging(args)
+ jeepyb.log.configure_logging(args)
JEEPYB_CACHE_DIR = registry.get_defaults('jeepyb-cache-dir',
'/var/lib/jeepyb')
@@ -224,5 +224,6 @@
finally:
os.unlink(ssh_env['GIT_SSH'])
+
if __name__ == "__main__":
main()
diff --git a/jeepyb/cmd/trivial_rebase.py b/jeepyb/cmd/trivial_rebase.py
index 19e192b..2c8bfef 100644
--- a/jeepyb/cmd/trivial_rebase.py
+++ b/jeepyb/cmd/trivial_rebase.py
@@ -282,5 +282,6 @@
SuExec(options, approval["account_id"], ' '.join(gerrit_approve_cmd))
sys.exit(0)
+
if __name__ == "__main__":
main()
diff --git a/jeepyb/cmd/update_blueprint.py b/jeepyb/cmd/update_blueprint.py
index 6de6612..07bcce9 100644
--- a/jeepyb/cmd/update_blueprint.py
+++ b/jeepyb/cmd/update_blueprint.py
@@ -60,6 +60,7 @@
c.readfp(fp)
return c
+
GERRIT_CONFIG = get_broken_config(GERRIT_CONFIG)
SECURE_CONFIG = get_broken_config(GERRIT_SECURE_CONFIG)
DB_HOST = GERRIT_CONFIG.get("database", "hostname")
@@ -173,5 +174,6 @@
find_specs(lpconn, conn, args)
+
if __name__ == "__main__":
main()
diff --git a/jeepyb/cmd/update_bug.py b/jeepyb/cmd/update_bug.py
index b756304..31fecf7 100644
--- a/jeepyb/cmd/update_bug.py
+++ b/jeepyb/cmd/update_bug.py
@@ -25,7 +25,6 @@
from launchpadlib import launchpad
from launchpadlib import uris
-import jeepyb.gerritdb
from jeepyb import projects as p
from jeepyb import utils as u
@@ -82,51 +81,8 @@
bugtask.bug.newMessage(subject=subject, content=body)
-def set_in_progress(bugtask, launchpad, uploader, change_url):
- """Set bug In progress with assignee being the uploader"""
-
- # Retrieve uploader from Launchpad by correlating Gerrit E-mail
- # address to OpenID, and only set if there is a clear match.
- try:
- searchkey = uploader[uploader.rindex("(") + 1:-1]
- except ValueError:
- searchkey = uploader
-
- # The counterintuitive query is due to odd database schema choices
- # in Gerrit. For example, an account with a secondary E-mail
- # address added looks like...
- # select email_address,external_id from account_external_ids
- # where account_id=1234;
- # +-----------------+-----------------------------------------+
- # | email_address | external_id |
- # +-----------------+-----------------------------------------+
- # | plugh@xyzzy.com | https://login.ubuntu.com/+id/fR0bnU1 |
- # | bar@foo.org | mailto:bar@foo.org |
- # | NULL | username:quux |
- # +-----------------+-----------------------------------------+
- # ...thus we need a join on a secondary query to search against
- # all the user's configured E-mail addresses.
- #
- # Worse, we also need to filter by active accounts only since
- # picking an inactive account could result in using the wrong
- # OpenId entirely.
- #
- query = """SELECT t.external_id FROM account_external_ids t
- INNER JOIN (
- SELECT t.account_id FROM account_external_ids t
- WHERE t.email_address = %s )
- original ON t.account_id = original.account_id
- AND t.external_id LIKE 'https://login.ubuntu.com%%'
- JOIN accounts a ON a.account_id = t.account_id
- WHERE a.inactive = 'N'"""
-
- cursor = jeepyb.gerritdb.connect().cursor()
- cursor.execute(query, searchkey)
- data = cursor.fetchone()
- if data:
- assignee = launchpad.people.getByOpenIDIdentifier(identifier=data[0])
- if assignee:
- bugtask.assignee = assignee
+def set_in_progress(bugtask, launchpad, change_url):
+ """Set bug In progress"""
bugtask.status = "In Progress"
bugtask.lp_save()
@@ -255,8 +211,7 @@
if args.branch == 'master':
if (bugtask.status not in [u'Fix Committed', u'Fix Released'] and
task.needs_change('set_in_progress')):
- set_in_progress(bugtask, launchpad,
- args.uploader, args.change_url)
+ set_in_progress(bugtask, launchpad, args.change_url)
else:
series = args.branch.rsplit('/', 1)[-1]
@@ -267,8 +222,7 @@
task.needs_change('set_in_progress') and
reltask.status not in [u'Fix Committed',
u'Fix Released']):
- set_in_progress(reltask, launchpad,
- args.uploader, args.change_url)
+ set_in_progress(reltask, launchpad, args.change_url)
break
if args.patchset == '1' and (task.needs_change('add_comment') or
@@ -349,16 +303,19 @@
parser.add_argument('--commit', default=None)
parser.add_argument('--topic', default=None)
parser.add_argument('--change-owner', default=None)
+ parser.add_argument('--change-owner-username', default=None)
# change-abandoned
parser.add_argument('--abandoner', default=None)
+ parser.add_argument('--abandoner-username', default=None)
parser.add_argument('--reason', default=None)
# change-merged
parser.add_argument('--submitter', default=None)
+ parser.add_argument('--submitter-username', default=None)
parser.add_argument('--newrev', default=None)
# patchset-created
parser.add_argument('--uploader', default=None)
+ parser.add_argument('--uploader-username', default=None)
parser.add_argument('--patchset', default=None)
- parser.add_argument('--is-draft', default=None)
parser.add_argument('--kind', default=None)
args = parser.parse_args()
diff --git a/jeepyb/cmd/welcome_message.py b/jeepyb/cmd/welcome_message.py
index 4e6b779..d09397d 100644
--- a/jeepyb/cmd/welcome_message.py
+++ b/jeepyb/cmd/welcome_message.py
@@ -31,7 +31,7 @@
import paramiko
import jeepyb.gerritdb
-import jeepyb.log as l
+import jeepyb.log
logger = logging.getLogger('welcome_reviews')
@@ -155,16 +155,17 @@
parser.add_argument('--dryrun', dest='dryrun', action='store_true')
parser.add_argument('--no-dryrun', dest='dryrun', action='store_false')
parser.set_defaults(dryrun=False)
- l.setup_logging_arguments(parser)
+ jeepyb.log.setup_logging_arguments(parser)
args = parser.parse_args()
- l.configure_logging(args)
+ jeepyb.log.configure_logging(args)
# they're a first-timer, post the message on 1st patchset
if is_newbie(args.uploader) and args.patchset == '1' and not args.dryrun:
post_message(args.commit, args.ssh_user, args.ssh_key,
args.message_file)
+
if __name__ == "__main__":
main()
diff --git a/test-requirements.txt b/test-requirements.txt
index d528919..117f7a3 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -1,4 +1,4 @@
# The order of packages is significant, because pip processes them in the order
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
-hacking<0.11,>=0.10.2
+flake8
diff --git a/tox.ini b/tox.ini
index 835b4ac..46bd1ce 100644
--- a/tox.ini
+++ b/tox.ini
@@ -18,6 +18,7 @@
[flake8]
# E125 and H are intentionally ignored
-ignore = E125,H
+# W503 is a mistake in flake8
+ignore = E125,H,W503,W504
show-source = True
exclude = .venv,.tox,dist,doc,build,*.egg