Fix % formatting without a tuple.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
Anders Kaseorg 2021-03-04 15:02:39 -08:00
parent edcb894776
commit 5b5fda2354
8 changed files with 18 additions and 18 deletions

View file

@ -64,7 +64,7 @@ class IRCBot(irc.bot.SingleServerIRCBot):
in_the_specified_stream = msg["display_recipient"] == self.stream in_the_specified_stream = msg["display_recipient"] == self.stream
at_the_specified_subject = msg["subject"].casefold() == self.topic.casefold() at_the_specified_subject = msg["subject"].casefold() == self.topic.casefold()
if in_the_specified_stream and at_the_specified_subject: if in_the_specified_stream and at_the_specified_subject:
msg["content"] = ("@**%s**: " % msg["sender_full_name"]) + msg["content"] msg["content"] = ("@**%s**: " % (msg["sender_full_name"],)) + msg["content"]
send = lambda x: self.c.privmsg(self.channel, x) send = lambda x: self.c.privmsg(self.channel, x)
else: else:
return return

View file

@ -72,7 +72,7 @@ def matrix_to_zulip(
""" """
content = get_message_content_from_event(event, no_noise) content = get_message_content_from_event(event, no_noise)
zulip_bot_user = ('@%s:matrix.org' % matrix_config['username']) zulip_bot_user = '@%s:matrix.org' % (matrix_config['username'],)
# We do this to identify the messages generated from Zulip -> Matrix # We do this to identify the messages generated from Zulip -> Matrix
# and we make sure we don't forward it again to the Zulip stream. # and we make sure we don't forward it again to the Zulip stream.
not_from_zulip_bot = event['sender'] != zulip_bot_user not_from_zulip_bot = event['sender'] != zulip_bot_user

View file

@ -231,7 +231,7 @@ def handle_event(event: Dict[str, Any]) -> None:
"subject": subject, "subject": subject,
"content": content}) "content": content})
if res['result'] == 'success': if res['result'] == 'success':
logging.info("Successfully sent Zulip with id: %s" % (res['id'])) logging.info("Successfully sent Zulip with id: %s" % (res['id'],))
else: else:
logging.warn("Failed to send Zulip: %s %s" % (res['result'], res['msg'])) logging.warn("Failed to send Zulip: %s %s" % (res['result'], res['msg']))
@ -251,7 +251,7 @@ def run_mirror() -> None:
else: else:
since = datetime.fromtimestamp(float(timestamp), tz=pytz.utc) since = datetime.fromtimestamp(float(timestamp), tz=pytz.utc)
except (ValueError, OSError) as e: except (ValueError, OSError) as e:
logging.warn("Could not open resume file: %s" % (str(e))) logging.warn("Could not open resume file: %s" % (str(e),))
since = default_since() since = default_since()
try: try:

View file

@ -103,5 +103,5 @@ class ZulipPlugin(Component):
def ticket_deleted(self, ticket: Any) -> None: def ticket_deleted(self, ticket: Any) -> None:
"""Called when a ticket is deleted.""" """Called when a ticket is deleted."""
content = "%s was deleted." % markdown_ticket_url(ticket, heading="Ticket") content = "%s was deleted." % (markdown_ticket_url(ticket, heading="Ticket"),)
send_update(ticket, content) send_update(ticket, content)

View file

@ -565,7 +565,7 @@ class Client:
continue continue
else: else:
end_error_retry(False) end_error_retry(False)
return {'msg': "Connection error:\n%s" % traceback.format_exc(), return {'msg': "Connection error:\n%s" % (traceback.format_exc(),),
"result": "connection-error"} "result": "connection-error"}
except requests.exceptions.ConnectionError: except requests.exceptions.ConnectionError:
if not self.has_connected: if not self.has_connected:
@ -578,11 +578,11 @@ class Client:
if error_retry(""): if error_retry(""):
continue continue
end_error_retry(False) end_error_retry(False)
return {'msg': "Connection error:\n%s" % traceback.format_exc(), return {'msg': "Connection error:\n%s" % (traceback.format_exc(),),
"result": "connection-error"} "result": "connection-error"}
except Exception: except Exception:
# We'll split this out into more cases as we encounter new bugs. # We'll split this out into more cases as we encounter new bugs.
return {'msg': "Unexpected error:\n%s" % traceback.format_exc(), return {'msg': "Unexpected error:\n%s" % (traceback.format_exc(),),
"result": "unexpected-error"} "result": "unexpected-error"}
try: try:
@ -630,7 +630,7 @@ class Client:
if 'error' in res['result']: if 'error' in res['result']:
if self.verbose: if self.verbose:
print("Server returned error:\n%s" % res['msg']) print("Server returned error:\n%s" % (res['msg'],))
time.sleep(1) time.sleep(1)
else: else:
return (res['queue_id'], res['last_event_id']) return (res['queue_id'], res['last_event_id'])
@ -653,7 +653,7 @@ class Client:
print("Connection error fetching events -- probably server is temporarily down?") print("Connection error fetching events -- probably server is temporarily down?")
else: else:
if self.verbose: if self.verbose:
print("Server returned error:\n%s" % res["msg"]) print("Server returned error:\n%s" % (res["msg"],))
# Eventually, we'll only want the # Eventually, we'll only want the
# BAD_EVENT_QUEUE_ID check, but we check for the # BAD_EVENT_QUEUE_ID check, but we check for the
# old string to support legacy Zulip servers. We # old string to support legacy Zulip servers. We

View file

@ -20,7 +20,7 @@ def do_send_message(client: zulip.Client, message_data: Dict[str, Any]) -> bool:
log.info('Sending message to stream "%s", subject "%s"... ' % log.info('Sending message to stream "%s", subject "%s"... ' %
(message_data['to'], message_data['subject'])) (message_data['to'], message_data['subject']))
else: else:
log.info('Sending message to %s... ' % message_data['to']) log.info('Sending message to %s... ' % (message_data['to'],))
response = client.send_message(message_data) response = client.send_message(message_data)
if response['result'] == 'success': if response['result'] == 'success':
log.info('Message sent.') log.info('Message sent.')

View file

@ -94,9 +94,9 @@ def get_bot_giphy_response(message: Dict[str, str], bot_handler: BotHandler, con
'let\'s try again later! :grin:') 'let\'s try again later! :grin:')
except GiphyNoResultException: except GiphyNoResultException:
return ('Sorry, I don\'t have a GIF for "%s"! ' return ('Sorry, I don\'t have a GIF for "%s"! '
':astonished:' % (keyword)) ':astonished:' % (keyword,))
return ('[Click to enlarge](%s)' return ('[Click to enlarge](%s)'
'[](/static/images/interactive-bot/giphy/powered-by-giphy.png)' '[](/static/images/interactive-bot/giphy/powered-by-giphy.png)'
% (gif_url)) % (gif_url,))
handler_class = GiphyHandler handler_class = GiphyHandler

View file

@ -64,7 +64,7 @@ def get_xkcd_bot_response(message: Dict[str, str], quoted_name: str) -> str:
try: try:
if command == 'help': if command == 'help':
return commands_help % ('xkcd bot supports these commands:') return commands_help % ('xkcd bot supports these commands:',)
elif command == 'latest': elif command == 'latest':
fetched = fetch_xkcd_query(XkcdBotCommand.LATEST) fetched = fetch_xkcd_query(XkcdBotCommand.LATEST)
elif command == 'random': elif command == 'random':
@ -72,13 +72,13 @@ def get_xkcd_bot_response(message: Dict[str, str], quoted_name: str) -> str:
elif command.isdigit(): elif command.isdigit():
fetched = fetch_xkcd_query(XkcdBotCommand.COMIC_ID, command) fetched = fetch_xkcd_query(XkcdBotCommand.COMIC_ID, command)
else: else:
return commands_help % ("xkcd bot only supports these commands, not `%s`:" % (command,)) return commands_help % ("xkcd bot only supports these commands, not `%s`:" % (command,),)
except (requests.exceptions.ConnectionError, XkcdServerError): except (requests.exceptions.ConnectionError, XkcdServerError):
logging.exception('Connection error occurred when trying to connect to xkcd server') logging.exception('Connection error occurred when trying to connect to xkcd server')
return 'Sorry, I cannot process your request right now, please try again later!' return 'Sorry, I cannot process your request right now, please try again later!'
except XkcdNotFoundError: except XkcdNotFoundError:
logging.exception('XKCD server responded 404 when trying to fetch comic with id %s' logging.exception('XKCD server responded 404 when trying to fetch comic with id %s'
% (command)) % (command,))
return 'Sorry, there is likely no xkcd comic strip with id: #%s' % (command,) return 'Sorry, there is likely no xkcd comic strip with id: #%s' % (command,)
else: else:
return ("#%s: **%s**\n[%s](%s)" % (fetched['num'], return ("#%s: **%s**\n[%s](%s)" % (fetched['num'],
@ -99,12 +99,12 @@ def fetch_xkcd_query(mode: int, comic_id: Optional[str] = None) -> Dict[str, str
latest_id = latest.json()['num'] latest_id = latest.json()['num']
random_id = random.randint(1, latest_id) random_id = random.randint(1, latest_id)
url = XKCD_TEMPLATE_URL % (str(random_id)) url = XKCD_TEMPLATE_URL % (str(random_id),)
elif mode == XkcdBotCommand.COMIC_ID: # Fetch specific comic strip by id number. elif mode == XkcdBotCommand.COMIC_ID: # Fetch specific comic strip by id number.
if comic_id is None: if comic_id is None:
raise Exception('Missing comic_id argument') raise Exception('Missing comic_id argument')
url = XKCD_TEMPLATE_URL % (comic_id) url = XKCD_TEMPLATE_URL % (comic_id,)
fetched = requests.get(url) fetched = requests.get(url)