Merge branch 'master' into kate

This commit is contained in:
udf 2018-12-23 14:22:12 +02:00
commit d9e3240c5c
Signed by: kate
GPG Key ID: F17AECB58C3A3096
4 changed files with 16 additions and 10 deletions

View File

@ -20,19 +20,22 @@ def parse_url_match(m):
return m.group(1), entity
PRINTABLE_ASCII = range(0x21, 0x7f)
def parse_aesthetics(m):
def aesthetify(string):
for c in string:
c = ord(c)
if c in PRINTABLE_ASCII:
c += 0xFF00 - 0x20
elif c == ord(" "):
c = 0x3000
yield chr(c)
if " " < c <= "~":
yield chr(ord(c) + 0xFF00 - 0x20)
elif c == " ":
yield "\u3000"
else:
yield c
return "".join(aesthetify(m[1])), None
def parse_strikethrough(m):
return ("\u0336".join(m[1]) + "\u0336"), None
def parse_subreddit(m):
text = '/' + m.group(3)
entity = MessageEntityTextUrl(
@ -59,6 +62,7 @@ def parse_snip(m):
MATCHERS = [
(DEFAULT_URL_RE, parse_url_match),
(re.compile(r'\+\+(.+?)\+\+'), parse_aesthetics),
(re.compile(r'~~(.+?)~~'), parse_strikethrough),
(re.compile(r'([^/\w]|^)(/?(r/\w+))'), parse_subreddit),
(re.compile(r'(!\w+)'), parse_snip)
]
@ -79,6 +83,8 @@ def parse(message, old_entities=None):
# Skip already existing entities if we're at one
if i == e.offset:
i += e.length
else:
after += 1
# Find the first pattern that matches
for pattern, parser in MATCHERS:

View File

@ -22,6 +22,6 @@ async def _(event):
who_string = utils.get_display_name(who)
if isinstance(who, (types.User, types.Channel)) and who.username:
who_string += f" (@{who.username})"
who_string += f", #{who.id}"
who_string += f", [#{who.id}](tg://user?id={who.id})"
await event.edit(who_string)

View File

@ -10,7 +10,7 @@ from uniborg import util
DELETE_TIMEOUT = 2
@borg.on(util.admin_cmd(r"^\.load (?P<shortname>\w+)$"))
@borg.on(util.admin_cmd(r"^\.(?:re)?load (?P<shortname>\w+)$"))
async def load_reload(event):
await event.delete()
shortname = event.pattern_match["shortname"]

View File

@ -48,6 +48,6 @@ class Storage:
def _save(self):
if not self._root.is_dir():
self._root(parents=True, exist_ok=True)
self._root.mkdir(parents=True, exist_ok=True)
with open(self._root / FILE_NAME, 'w') as fp:
json.dump(self._data, fp)