Fix various things
- Fix some typos in Message and SessionView - Database operations can now access self - Fix mention (missing comma) and rename mention_reduce to normalize
This commit is contained in:
parent
5c254f4e70
commit
1fee49d0e4
2 changed files with 16 additions and 13 deletions
|
|
@ -10,7 +10,7 @@ __all__ = ["Database", "operation"]
|
||||||
def operation(func):
|
def operation(func):
|
||||||
async def wrapper(self, *args, **kwargs):
|
async def wrapper(self, *args, **kwargs):
|
||||||
async with self as db:
|
async with self as db:
|
||||||
return await asyncify(func, db, *args, **kwargs)
|
return await asyncify(func, self, db, *args, **kwargs)
|
||||||
return wrapper
|
return wrapper
|
||||||
|
|
||||||
class Database:
|
class Database:
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,14 @@
|
||||||
import asyncio
|
import asyncio
|
||||||
import logging
|
import logging
|
||||||
|
import re
|
||||||
import time
|
import time
|
||||||
import functools
|
import functools
|
||||||
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
__all__ = [
|
__all__ = [
|
||||||
"parallel", "asyncify",
|
"parallel", "asyncify",
|
||||||
"mention", "mention_reduced", "similar",
|
"mention", "normalize", "similar",
|
||||||
"format_time", "format_time_delta",
|
"format_time", "format_time_delta",
|
||||||
"Session", "Listing", "Message",
|
"Session", "Listing", "Message",
|
||||||
]
|
]
|
||||||
|
|
@ -19,14 +21,15 @@ async def asyncify(func, *args, **kwargs):
|
||||||
func_with_args = functools.partial(func, *args, **kwargs)
|
func_with_args = functools.partial(func, *args, **kwargs)
|
||||||
return await asyncio.get_event_loop().run_in_executor(None, func_with_args)
|
return await asyncio.get_event_loop().run_in_executor(None, func_with_args)
|
||||||
|
|
||||||
def mention(nick):
|
def mention(nick, ping=True):
|
||||||
return "".join(c for c in nick if c not in ".!?;&<'\"" and not c.isspace())
|
nick = re.sub(r"""[,.!?;&<'"\s]""", "", nick)
|
||||||
|
return "@" + nick if ping else nick
|
||||||
|
|
||||||
def mention_reduced(nick):
|
def normalize(nick):
|
||||||
return mention(nick).lower()
|
return mention(nick, ping=False).lower()
|
||||||
|
|
||||||
def similar(nick1, nick2):
|
def similar(nick1, nick2):
|
||||||
return mention_reduced(nick1) == mention_reduced(nick2)
|
return normalize(nick1) == normalize(nick2)
|
||||||
|
|
||||||
def format_time(timestamp):
|
def format_time(timestamp):
|
||||||
return time.strftime(
|
return time.strftime(
|
||||||
|
|
@ -65,7 +68,7 @@ def format_time_delta(delta):
|
||||||
|
|
||||||
class Session:
|
class Session:
|
||||||
def __init__(self, user_id, nick, server_id, server_era, session_id, is_staff=None,
|
def __init__(self, user_id, nick, server_id, server_era, session_id, is_staff=None,
|
||||||
is_manager=None, client_address=None, real_address=None):
|
is_manager=None, client_address=None, real_client_address=None):
|
||||||
self.user_id = user_id
|
self.user_id = user_id
|
||||||
self.nick = nick
|
self.nick = nick
|
||||||
self.server_id = server_id
|
self.server_id = server_id
|
||||||
|
|
@ -74,7 +77,7 @@ class Session:
|
||||||
self.is_staff = is_staff
|
self.is_staff = is_staff
|
||||||
self.is_manager = is_manager
|
self.is_manager = is_manager
|
||||||
self.client_address = client_address
|
self.client_address = client_address
|
||||||
self.real_address = real_address
|
self.real_client_address = real_client_address
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def uid(self):
|
def uid(self):
|
||||||
|
|
@ -103,7 +106,7 @@ class Session:
|
||||||
d.get("is_staff", None),
|
d.get("is_staff", None),
|
||||||
d.get("is_manager", None),
|
d.get("is_manager", None),
|
||||||
d.get("client_address", None),
|
d.get("client_address", None),
|
||||||
d.get("real_address", None)
|
d.get("real_client_address", None)
|
||||||
)
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
|
@ -172,14 +175,14 @@ class Listing:
|
||||||
|
|
||||||
class Message():
|
class Message():
|
||||||
def __init__(self, message_id, time, sender, content, parent=None, previous_edit_id=None,
|
def __init__(self, message_id, time, sender, content, parent=None, previous_edit_id=None,
|
||||||
encryption_key=None, edited=None, deleted=None, truncated=None):
|
encryption_key_id=None, edited=None, deleted=None, truncated=None):
|
||||||
self.message_id = message_id
|
self.message_id = message_id
|
||||||
self.time = time
|
self.time = time
|
||||||
self.sender = sender
|
self.sender = sender
|
||||||
self.content = content
|
self.content = content
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
self.previous_edit_id = previous_edit_id
|
self.previous_edit_id = previous_edit_id
|
||||||
self.encryption_key = encryption_key
|
self.encryption_key_id = encryption_key_id
|
||||||
self.edited = edited
|
self.edited = edited
|
||||||
self.deleted = deleted
|
self.deleted = deleted
|
||||||
self.truncated = truncated
|
self.truncated = truncated
|
||||||
|
|
@ -201,7 +204,7 @@ class Message():
|
||||||
d.get("content"),
|
d.get("content"),
|
||||||
d.get("parent", None),
|
d.get("parent", None),
|
||||||
d.get("previous_edit_id", None),
|
d.get("previous_edit_id", None),
|
||||||
d.get("encryption_key", None),
|
d.get("encryption_key_id", None),
|
||||||
d.get("edited", None),
|
d.get("edited", None),
|
||||||
d.get("deleted", None),
|
d.get("deleted", None),
|
||||||
d.get("truncated", None)
|
d.get("truncated", None)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue