From e5b378b0eee1fb32cc93590599920a1b8bbe208d Mon Sep 17 00:00:00 2001 From: Andrew Morgan Date: Mon, 20 Jul 2020 14:37:00 -0400 Subject: [PATCH 1/7] Lint the contrib/ directory --- contrib/cmdclient/console.py | 21 ++++++----- contrib/cmdclient/http.py | 10 +++--- contrib/experiments/test_messaging.py | 41 ++++++++++------------ contrib/graph/graph.py | 19 +++++----- contrib/graph/graph2.py | 11 +++--- contrib/graph/graph3.py | 22 ++++++------ contrib/jitsimeetbridge/jitsimeetbridge.py | 10 +++--- contrib/scripts/kick_users.py | 6 ++-- 8 files changed, 69 insertions(+), 71 deletions(-) diff --git a/contrib/cmdclient/console.py b/contrib/cmdclient/console.py index 48da410d9462..77422f5e5de8 100755 --- a/contrib/cmdclient/console.py +++ b/contrib/cmdclient/console.py @@ -17,9 +17,6 @@ """ Starts a synapse client console. """ from __future__ import print_function -from twisted.internet import reactor, defer, threads -from http import TwistedHttpClient - import argparse import cmd import getpass @@ -28,12 +25,14 @@ import sys import time import urllib -import urlparse +from http import TwistedHttpClient -import nacl.signing import nacl.encoding +import nacl.signing +import urlparse +from signedjson.sign import SignatureVerifyException, verify_signed_json -from signedjson.sign import verify_signed_json, SignatureVerifyException +from twisted.internet import defer, reactor, threads CONFIG_JSON = "cmdclient_config.json" @@ -493,7 +492,7 @@ def do_list(self, line): "list messages from=END&to=START&limit=3" """ args = self._parse(line, ["type", "roomid", "qp"]) - if not "type" in args or not "roomid" in args: + if "type" not in args or "roomid" not in args: print("Must specify type and room ID.") return if args["type"] not in ["members", "messages"]: @@ -508,7 +507,7 @@ def do_list(self, line): try: key_value = key_value_str.split("=") qp[key_value[0]] = key_value[1] - except: + except Exception: print("Bad query param: %s" % key_value) return @@ -585,7 +584,7 @@ def do_raw(self, line): parsed_url = urlparse.urlparse(args["path"]) qp.update(urlparse.parse_qs(parsed_url.query)) args["path"] = parsed_url.path - except: + except Exception: pass reactor.callFromThread( @@ -772,10 +771,10 @@ def main(server_url, identity_server_url, username, token, config_path): syn_cmd.config = json.load(config) try: http_client.verbose = "on" == syn_cmd.config["verbose"] - except: + except Exception: pass print("Loaded config from %s" % config_path) - except: + except Exception: pass # Twisted-specific: Runs the command processor in Twisted's event loop diff --git a/contrib/cmdclient/http.py b/contrib/cmdclient/http.py index 0e101d2be56b..e2534ee584ff 100644 --- a/contrib/cmdclient/http.py +++ b/contrib/cmdclient/http.py @@ -14,14 +14,14 @@ # limitations under the License. from __future__ import print_function -from twisted.web.client import Agent, readBody -from twisted.web.http_headers import Headers -from twisted.internet import defer, reactor - -from pprint import pformat import json import urllib +from pprint import pformat + +from twisted.internet import defer, reactor +from twisted.web.client import Agent, readBody +from twisted.web.http_headers import Headers class HttpClient(object): diff --git a/contrib/experiments/test_messaging.py b/contrib/experiments/test_messaging.py index ac9079fe94d1..b651af693ef2 100644 --- a/contrib/experiments/test_messaging.py +++ b/contrib/experiments/test_messaging.py @@ -28,27 +28,24 @@ """ -from synapse.federation import ReplicationHandler - -from synapse.federation.units import Pdu - -from synapse.util import origin_from_ucid - -from synapse.app.homeserver import SynapseHomeServer - -# from synapse.logging.utils import log_function - -from twisted.internet import reactor, defer -from twisted.python import log - import argparse +import curses.wrapper import json import logging import os import re import cursesio -import curses.wrapper + +from twisted.internet import defer, reactor +from twisted.python import log + +from synapse.app.homeserver import SynapseHomeServer +from synapse.federation import ReplicationHandler +from synapse.federation.units import Pdu +from synapse.util import origin_from_ucid + +# from synapse.logging.utils import log_function logger = logging.getLogger("example") @@ -202,9 +199,9 @@ def on_receive_pdu(self, pdu): ) # def on_state_change(self, pdu): - ##self.output.print_line("#%s (state) %s *** %s" % - ##(pdu.context, pdu.state_key, pdu.pdu_type) - ##) + # self.output.print_line("#%s (state) %s *** %s" % + # (pdu.context, pdu.state_key, pdu.pdu_type) + # ) # if "joinee" in pdu.content: # self._on_join(pdu.context, pdu.content["joinee"]) @@ -334,7 +331,7 @@ def main(stdscr): user = args.user server_name = origin_from_ucid(user) - ## Set up logging ## + # Set up logging root_logger = logging.getLogger() @@ -354,7 +351,7 @@ def main(stdscr): observer = log.PythonLoggingObserver() observer.start() - ## Set up synapse server + # Set up synapse server curses_stdio = cursesio.CursesStdIO(stdscr) input_output = InputOutput(curses_stdio, user) @@ -368,16 +365,16 @@ def main(stdscr): input_output.set_home_server(hs) - ## Add input_output logger + # Add input_output logger io_logger = IOLoggerHandler(input_output) io_logger.setFormatter(formatter) root_logger.addHandler(io_logger) - ## Start! ## + # Start! try: port = int(server_name.split(":")[1]) - except: + except Exception: port = 12345 app_hs.get_http_server().start_listening(port) diff --git a/contrib/graph/graph.py b/contrib/graph/graph.py index 92736480ebab..67f1fa456688 100644 --- a/contrib/graph/graph.py +++ b/contrib/graph/graph.py @@ -1,5 +1,13 @@ from __future__ import print_function +import argparse +import cgi +import datetime +import json + +import pydot +import urllib2 + # Copyright 2014-2016 OpenMarket Ltd # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -15,15 +23,6 @@ # limitations under the License. -import sqlite3 -import pydot -import cgi -import json -import datetime -import argparse -import urllib2 - - def make_name(pdu_id, origin): return "%s@%s" % (pdu_id, origin) @@ -49,7 +48,7 @@ def make_graph(pdus, room, filename_prefix): try: c = colors.pop() color_map[o] = c - except: + except Exception: print("Run out of colours!") color_map[o] = "black" diff --git a/contrib/graph/graph2.py b/contrib/graph/graph2.py index 4619f0e3c18e..0980231e4a01 100644 --- a/contrib/graph/graph2.py +++ b/contrib/graph/graph2.py @@ -13,12 +13,13 @@ # limitations under the License. -import sqlite3 -import pydot +import argparse import cgi -import json import datetime -import argparse +import json +import sqlite3 + +import pydot from synapse.events import FrozenEvent from synapse.util.frozenutils import unfreeze @@ -98,7 +99,7 @@ def make_graph(db_name, room_id, file_prefix, limit): for prev_id, _ in event.prev_events: try: end_node = node_map[prev_id] - except: + except Exception: end_node = pydot.Node(name=prev_id, label="<%s>" % (prev_id,)) node_map[prev_id] = end_node diff --git a/contrib/graph/graph3.py b/contrib/graph/graph3.py index 31546385208b..91db98e7efcb 100644 --- a/contrib/graph/graph3.py +++ b/contrib/graph/graph3.py @@ -1,5 +1,15 @@ from __future__ import print_function +import argparse +import cgi +import datetime + +import pydot +import simplejson as json + +from synapse.events import FrozenEvent +from synapse.util.frozenutils import unfreeze + # Copyright 2016 OpenMarket Ltd # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -15,16 +25,6 @@ # limitations under the License. -import pydot -import cgi -import simplejson as json -import datetime -import argparse - -from synapse.events import FrozenEvent -from synapse.util.frozenutils import unfreeze - - def make_graph(file_name, room_id, file_prefix, limit): print("Reading lines") with open(file_name) as f: @@ -106,7 +106,7 @@ def make_graph(file_name, room_id, file_prefix, limit): for prev_id, _ in event.prev_events: try: end_node = node_map[prev_id] - except: + except Exception: end_node = pydot.Node(name=prev_id, label="<%s>" % (prev_id,)) node_map[prev_id] = end_node diff --git a/contrib/jitsimeetbridge/jitsimeetbridge.py b/contrib/jitsimeetbridge/jitsimeetbridge.py index 67fb2cd1a7a5..69aa74bd34d0 100644 --- a/contrib/jitsimeetbridge/jitsimeetbridge.py +++ b/contrib/jitsimeetbridge/jitsimeetbridge.py @@ -12,15 +12,15 @@ """ from __future__ import print_function -import gevent -import grequests -from BeautifulSoup import BeautifulSoup import json -import urllib import subprocess import time -# ACCESS_TOKEN="" # +import gevent +import grequests +from BeautifulSoup import BeautifulSoup + +ACCESS_TOKEN = "" MATRIXBASE = "https://matrix.org/_matrix/client/api/v1/" MYUSERNAME = "@davetest:matrix.org" diff --git a/contrib/scripts/kick_users.py b/contrib/scripts/kick_users.py index f57e6e7d2599..372dbd9e4f32 100755 --- a/contrib/scripts/kick_users.py +++ b/contrib/scripts/kick_users.py @@ -1,10 +1,12 @@ #!/usr/bin/env python from __future__ import print_function -from argparse import ArgumentParser + import json -import requests import sys import urllib +from argparse import ArgumentParser + +import requests try: raw_input From 1588cc42540e85badb32e11e63c7165837df824f Mon Sep 17 00:00:00 2001 From: Andrew Morgan Date: Mon, 20 Jul 2020 14:39:33 -0400 Subject: [PATCH 2/7] Changelog --- changelog.d/7914.misc | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog.d/7914.misc diff --git a/changelog.d/7914.misc b/changelog.d/7914.misc new file mode 100644 index 000000000000..955a59f409fc --- /dev/null +++ b/changelog.d/7914.misc @@ -0,0 +1 @@ +Lint the `contrib/` directory. From 1f98886212bc7a65c2c6370490bdbde25e5f3d7e Mon Sep 17 00:00:00 2001 From: Andrew Morgan Date: Mon, 20 Jul 2020 15:26:29 -0400 Subject: [PATCH 3/7] Lint contrib/ directory in CI, linting script --- scripts-dev/lint.sh | 2 +- tox.ini | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts-dev/lint.sh b/scripts-dev/lint.sh index 66b056885879..d5f062bd4899 100755 --- a/scripts-dev/lint.sh +++ b/scripts-dev/lint.sh @@ -11,7 +11,7 @@ if [ $# -ge 1 ] then files=$* else - files="synapse tests scripts-dev scripts" + files="synapse tests scripts-dev scripts contrib" fi echo "Linting these locations: $files" diff --git a/tox.ini b/tox.ini index 1c042cb2271e..834d68aea5a1 100644 --- a/tox.ini +++ b/tox.ini @@ -126,7 +126,7 @@ deps = black==19.10b0 commands = python -m black --check --diff . - /bin/sh -c "flake8 synapse tests scripts scripts-dev synctl {env:PEP8SUFFIX:}" + /bin/sh -c "flake8 synapse tests scripts scripts-dev contrib synctl {env:PEP8SUFFIX:}" {toxinidir}/scripts-dev/config-lint.sh [testenv:check_isort] From 0c5ffd7ebbefd9e4ab6313bcc7bfd3dda624e89f Mon Sep 17 00:00:00 2001 From: Andrew Morgan Date: Mon, 20 Jul 2020 15:27:28 -0400 Subject: [PATCH 4/7] Lint by default in lint script This is for consistency with the linting code in tox.ini --- scripts-dev/lint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts-dev/lint.sh b/scripts-dev/lint.sh index d5f062bd4899..064799365832 100755 --- a/scripts-dev/lint.sh +++ b/scripts-dev/lint.sh @@ -11,7 +11,7 @@ if [ $# -ge 1 ] then files=$* else - files="synapse tests scripts-dev scripts contrib" + files="synapse tests scripts-dev scripts contrib synctl" fi echo "Linting these locations: $files" From 7b3bb7632abc7f30f295b024058814e5b7e616a9 Mon Sep 17 00:00:00 2001 From: Andrew Morgan Date: Mon, 20 Jul 2020 15:29:59 -0400 Subject: [PATCH 5/7] Update changelog --- changelog.d/7914.misc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelog.d/7914.misc b/changelog.d/7914.misc index 955a59f409fc..710553249cc0 100644 --- a/changelog.d/7914.misc +++ b/changelog.d/7914.misc @@ -1 +1 @@ -Lint the `contrib/` directory. +Lint the `contrib/` directory in CI and linting scripts, add `synctl` to the linting script for consistency with CI. From 76d37984849ac4c0b78fcf04528c2c4356c69616 Mon Sep 17 00:00:00 2001 From: Andrew Morgan Date: Mon, 20 Jul 2020 15:32:53 -0400 Subject: [PATCH 6/7] Remove unused code in test_messaging.py --- contrib/experiments/test_messaging.py | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/contrib/experiments/test_messaging.py b/contrib/experiments/test_messaging.py index b651af693ef2..f981ed062b67 100644 --- a/contrib/experiments/test_messaging.py +++ b/contrib/experiments/test_messaging.py @@ -198,16 +198,6 @@ def on_receive_pdu(self, pdu): % (pdu.context, pdu.pdu_type, json.dumps(pdu.content)) ) - # def on_state_change(self, pdu): - # self.output.print_line("#%s (state) %s *** %s" % - # (pdu.context, pdu.state_key, pdu.pdu_type) - # ) - - # if "joinee" in pdu.content: - # self._on_join(pdu.context, pdu.content["joinee"]) - # elif "invitee" in pdu.content: - # self._on_invite(pdu.origin, pdu.context, pdu.content["invitee"]) - def _on_message(self, pdu): """ We received a message """ From 339d0ec351252659a9f500bfbc2dd351b5d0766d Mon Sep 17 00:00:00 2001 From: Andrew Morgan Date: Mon, 20 Jul 2020 15:40:38 -0400 Subject: [PATCH 7/7] Fix up some naughty comprehensions --- contrib/experiments/test_messaging.py | 2 +- contrib/graph/graph.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/experiments/test_messaging.py b/contrib/experiments/test_messaging.py index f981ed062b67..a84ec4ecaefc 100644 --- a/contrib/experiments/test_messaging.py +++ b/contrib/experiments/test_messaging.py @@ -301,7 +301,7 @@ def backfill(self, room_name, limit=5): return self.replication_layer.backfill(dest, room_name, limit) def _get_room_remote_servers(self, room_name): - return [i for i in self.joined_rooms.setdefault(room_name).servers] + return list(self.joined_rooms.setdefault(room_name).servers) def _get_or_create_room(self, room_name): return self.joined_rooms.setdefault(room_name, Room(room_name)) diff --git a/contrib/graph/graph.py b/contrib/graph/graph.py index 67f1fa456688..de33fac1c70f 100644 --- a/contrib/graph/graph.py +++ b/contrib/graph/graph.py @@ -32,7 +32,7 @@ def make_graph(pdus, room, filename_prefix): node_map = {} origins = set() - colors = set(("red", "green", "blue", "yellow", "purple")) + colors = {"red", "green", "blue", "yellow", "purple"} for pdu in pdus: origins.add(pdu.get("origin"))