Lint the contrib/ directory in CI and linting scripts, add synctl to linting script (#7914)

Run `isort`, `flake8` and `black` over the `contrib/` directory and `synctl` script. The latter was already being done in CI, but now the linting script does it too.

Fixes https://github.com/matrix-org/synapse/issues/7910
code_spécifique_watcha
Andrew Morgan 4 years ago committed by GitHub
parent 5662e2b0f3
commit b7ddece2a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      changelog.d/7914.misc
  2. 21
      contrib/cmdclient/console.py
  3. 10
      contrib/cmdclient/http.py
  4. 47
      contrib/experiments/test_messaging.py
  5. 21
      contrib/graph/graph.py
  6. 11
      contrib/graph/graph2.py
  7. 22
      contrib/graph/graph3.py
  8. 10
      contrib/jitsimeetbridge/jitsimeetbridge.py
  9. 6
      contrib/scripts/kick_users.py
  10. 2
      scripts-dev/lint.sh
  11. 2
      tox.ini

@ -0,0 +1 @@
Lint the `contrib/` directory in CI and linting scripts, add `synctl` to the linting script for consistency with CI.

@ -17,9 +17,6 @@
""" Starts a synapse client console. """ """ Starts a synapse client console. """
from __future__ import print_function from __future__ import print_function
from twisted.internet import reactor, defer, threads
from http import TwistedHttpClient
import argparse import argparse
import cmd import cmd
import getpass import getpass
@ -28,12 +25,14 @@ import shlex
import sys import sys
import time import time
import urllib import urllib
import urlparse from http import TwistedHttpClient
import nacl.signing
import nacl.encoding 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" CONFIG_JSON = "cmdclient_config.json"
@ -493,7 +492,7 @@ class SynapseCmd(cmd.Cmd):
"list messages <roomid> from=END&to=START&limit=3" "list messages <roomid> from=END&to=START&limit=3"
""" """
args = self._parse(line, ["type", "roomid", "qp"]) 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.") print("Must specify type and room ID.")
return return
if args["type"] not in ["members", "messages"]: if args["type"] not in ["members", "messages"]:
@ -508,7 +507,7 @@ class SynapseCmd(cmd.Cmd):
try: try:
key_value = key_value_str.split("=") key_value = key_value_str.split("=")
qp[key_value[0]] = key_value[1] qp[key_value[0]] = key_value[1]
except: except Exception:
print("Bad query param: %s" % key_value) print("Bad query param: %s" % key_value)
return return
@ -585,7 +584,7 @@ class SynapseCmd(cmd.Cmd):
parsed_url = urlparse.urlparse(args["path"]) parsed_url = urlparse.urlparse(args["path"])
qp.update(urlparse.parse_qs(parsed_url.query)) qp.update(urlparse.parse_qs(parsed_url.query))
args["path"] = parsed_url.path args["path"] = parsed_url.path
except: except Exception:
pass pass
reactor.callFromThread( reactor.callFromThread(
@ -772,10 +771,10 @@ def main(server_url, identity_server_url, username, token, config_path):
syn_cmd.config = json.load(config) syn_cmd.config = json.load(config)
try: try:
http_client.verbose = "on" == syn_cmd.config["verbose"] http_client.verbose = "on" == syn_cmd.config["verbose"]
except: except Exception:
pass pass
print("Loaded config from %s" % config_path) print("Loaded config from %s" % config_path)
except: except Exception:
pass pass
# Twisted-specific: Runs the command processor in Twisted's event loop # Twisted-specific: Runs the command processor in Twisted's event loop

@ -14,14 +14,14 @@
# limitations under the License. # limitations under the License.
from __future__ import print_function 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 json
import urllib 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): class HttpClient(object):

@ -28,27 +28,24 @@ Currently assumes the local address is localhost:<port>
""" """
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 argparse
import curses.wrapper
import json import json
import logging import logging
import os import os
import re import re
import cursesio 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") logger = logging.getLogger("example")
@ -201,16 +198,6 @@ class HomeServer(ReplicationHandler):
% (pdu.context, pdu.pdu_type, json.dumps(pdu.content)) % (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): def _on_message(self, pdu):
""" We received a message """ We received a message
""" """
@ -314,7 +301,7 @@ class HomeServer(ReplicationHandler):
return self.replication_layer.backfill(dest, room_name, limit) return self.replication_layer.backfill(dest, room_name, limit)
def _get_room_remote_servers(self, room_name): 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): def _get_or_create_room(self, room_name):
return self.joined_rooms.setdefault(room_name, Room(room_name)) return self.joined_rooms.setdefault(room_name, Room(room_name))
@ -334,7 +321,7 @@ def main(stdscr):
user = args.user user = args.user
server_name = origin_from_ucid(user) server_name = origin_from_ucid(user)
## Set up logging ## # Set up logging
root_logger = logging.getLogger() root_logger = logging.getLogger()
@ -354,7 +341,7 @@ def main(stdscr):
observer = log.PythonLoggingObserver() observer = log.PythonLoggingObserver()
observer.start() observer.start()
## Set up synapse server # Set up synapse server
curses_stdio = cursesio.CursesStdIO(stdscr) curses_stdio = cursesio.CursesStdIO(stdscr)
input_output = InputOutput(curses_stdio, user) input_output = InputOutput(curses_stdio, user)
@ -368,16 +355,16 @@ def main(stdscr):
input_output.set_home_server(hs) input_output.set_home_server(hs)
## Add input_output logger # Add input_output logger
io_logger = IOLoggerHandler(input_output) io_logger = IOLoggerHandler(input_output)
io_logger.setFormatter(formatter) io_logger.setFormatter(formatter)
root_logger.addHandler(io_logger) root_logger.addHandler(io_logger)
## Start! ## # Start!
try: try:
port = int(server_name.split(":")[1]) port = int(server_name.split(":")[1])
except: except Exception:
port = 12345 port = 12345
app_hs.get_http_server().start_listening(port) app_hs.get_http_server().start_listening(port)

@ -1,5 +1,13 @@
from __future__ import print_function from __future__ import print_function
import argparse
import cgi
import datetime
import json
import pydot
import urllib2
# Copyright 2014-2016 OpenMarket Ltd # Copyright 2014-2016 OpenMarket Ltd
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
@ -15,15 +23,6 @@ from __future__ import print_function
# limitations under the License. # limitations under the License.
import sqlite3
import pydot
import cgi
import json
import datetime
import argparse
import urllib2
def make_name(pdu_id, origin): def make_name(pdu_id, origin):
return "%s@%s" % (pdu_id, origin) return "%s@%s" % (pdu_id, origin)
@ -33,7 +32,7 @@ def make_graph(pdus, room, filename_prefix):
node_map = {} node_map = {}
origins = set() origins = set()
colors = set(("red", "green", "blue", "yellow", "purple")) colors = {"red", "green", "blue", "yellow", "purple"}
for pdu in pdus: for pdu in pdus:
origins.add(pdu.get("origin")) origins.add(pdu.get("origin"))
@ -49,7 +48,7 @@ def make_graph(pdus, room, filename_prefix):
try: try:
c = colors.pop() c = colors.pop()
color_map[o] = c color_map[o] = c
except: except Exception:
print("Run out of colours!") print("Run out of colours!")
color_map[o] = "black" color_map[o] = "black"

@ -13,12 +13,13 @@
# limitations under the License. # limitations under the License.
import sqlite3 import argparse
import pydot
import cgi import cgi
import json
import datetime import datetime
import argparse import json
import sqlite3
import pydot
from synapse.events import FrozenEvent from synapse.events import FrozenEvent
from synapse.util.frozenutils import unfreeze 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: for prev_id, _ in event.prev_events:
try: try:
end_node = node_map[prev_id] end_node = node_map[prev_id]
except: except Exception:
end_node = pydot.Node(name=prev_id, label="<<b>%s</b>>" % (prev_id,)) end_node = pydot.Node(name=prev_id, label="<<b>%s</b>>" % (prev_id,))
node_map[prev_id] = end_node node_map[prev_id] = end_node

@ -1,5 +1,15 @@
from __future__ import print_function 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 # Copyright 2016 OpenMarket Ltd
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
@ -15,16 +25,6 @@ from __future__ import print_function
# limitations under the License. # 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): def make_graph(file_name, room_id, file_prefix, limit):
print("Reading lines") print("Reading lines")
with open(file_name) as f: 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: for prev_id, _ in event.prev_events:
try: try:
end_node = node_map[prev_id] end_node = node_map[prev_id]
except: except Exception:
end_node = pydot.Node(name=prev_id, label="<<b>%s</b>>" % (prev_id,)) end_node = pydot.Node(name=prev_id, label="<<b>%s</b>>" % (prev_id,))
node_map[prev_id] = end_node node_map[prev_id] = end_node

@ -12,15 +12,15 @@ npm install jquery jsdom
""" """
from __future__ import print_function from __future__ import print_function
import gevent
import grequests
from BeautifulSoup import BeautifulSoup
import json import json
import urllib
import subprocess import subprocess
import time import time
# ACCESS_TOKEN="" # import gevent
import grequests
from BeautifulSoup import BeautifulSoup
ACCESS_TOKEN = ""
MATRIXBASE = "https://matrix.org/_matrix/client/api/v1/" MATRIXBASE = "https://matrix.org/_matrix/client/api/v1/"
MYUSERNAME = "@davetest:matrix.org" MYUSERNAME = "@davetest:matrix.org"

@ -1,10 +1,12 @@
#!/usr/bin/env python #!/usr/bin/env python
from __future__ import print_function from __future__ import print_function
from argparse import ArgumentParser
import json import json
import requests
import sys import sys
import urllib import urllib
from argparse import ArgumentParser
import requests
try: try:
raw_input raw_input

@ -11,7 +11,7 @@ if [ $# -ge 1 ]
then then
files=$* files=$*
else else
files="synapse tests scripts-dev scripts" files="synapse tests scripts-dev scripts contrib synctl"
fi fi
echo "Linting these locations: $files" echo "Linting these locations: $files"

@ -126,7 +126,7 @@ deps =
black==19.10b0 black==19.10b0
commands = commands =
python -m black --check --diff . 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 {toxinidir}/scripts-dev/config-lint.sh
[testenv:check_isort] [testenv:check_isort]

Loading…
Cancel
Save