Cleanup and refactoring

This commit is contained in:
Tulir Asokan
2018-02-03 14:39:40 +02:00
parent 3c8ed4454d
commit 1bc246af37
4 changed files with 17 additions and 12 deletions
-1
View File
@@ -77,7 +77,6 @@ appserv = AppService(config["homeserver.address"], config["homeserver.domain"],
config["appservice.bot_username"], log=log.getChild("as"))
context = (appserv, db_session, log, config)
with appserv.run(config["appservice.hostname"], config["appservice.port"]) as start:
init_db(db_session)
init_formatter(context)
+2 -1
View File
@@ -276,7 +276,8 @@ class CommandHandler:
portal.main_intent.leave_room(portal.mxid)
portal.delete()
def _strip_prefix(self, value, prefixes):
@staticmethod
def _strip_prefix(value, prefixes):
for prefix in prefixes:
if value.startswith(prefix):
return value[len(prefix):]
+14 -9
View File
@@ -20,6 +20,7 @@ import string
yaml = ruamel.yaml.YAML()
class DictWithRecursion:
def __init__(self, data={}):
self._data = data
@@ -77,23 +78,27 @@ class Config(DictWithRecursion):
with open(self.registration_path, 'w') as stream:
yaml.dump(self._registration, stream)
def _new_token(self):
@staticmethod
def _new_token():
return "".join(random.choices(string.ascii_lowercase + string.digits, k=64))
def generate_registration(self):
homeserver = self["homeserver.domain"]
username_format = self.get("bridge.username_template", "telegram_{userid}").format(userid=".+")
alias_format = self.get("bridge.alias_template", "telegram_{groupname}").format(groupname=".+")
username_format = self.get("bridge.username_template", "telegram_{userid}") \
.format(userid=".+")
alias_format = self.get("bridge.alias_template", "telegram_{groupname}") \
.format(groupname=".+")
self.set("appservice.as_token", self._new_token())
self.set("appservice.hs_token", self._new_token())
appservice = self.get("appservice", {})
url = (f"{self['appservice.protocol']}://"
+ f"{self['appservice.hostname']}:{self['appservice.port']}")
self._registration = {
"id": appservice.get("id", "telegram"),
"as_token": appservice.get("as_token"),
"hs_token": appservice.get("hs_token"),
"id": self.get("appservice.id", "telegram"),
"as_token": self["appservice.as_token"],
"hs_token": self["appservice.hs_token"],
"namespaces": {
"users": [{
"exclusive": True,
@@ -104,7 +109,7 @@ class Config(DictWithRecursion):
"regex": f"#{alias_format}:{homeserver}"
}]
},
"url": f"{appservice.get('protocol')}://{appservice.get('hostname')}:{appservice.get('port')}",
"sender_localpart": appservice.get("bot_username"),
"url": url,
"sender_localpart": self["appservice.bot_username"],
"rate_limited": False
}
+1 -1
View File
@@ -45,7 +45,7 @@ class Message(Base):
tgid = Column(Integer, primary_key=True)
user = Column(Integer, ForeignKey("user.tgid"), primary_key=True)
__table_args__ = (UniqueConstraint('mxid', 'mx_room', 'user', name='_mx_id_room'), )
__table_args__ = (UniqueConstraint('mxid', 'mx_room', 'user', name='_mx_id_room'),)
class User(Base):