Fix tuple/ternary operator fail on SQLAlchemy session (#671)

This commit is contained in:
Lonami Exo 2018-03-08 10:16:46 +01:00
parent 3a3ae75b46
commit 841aed13da

View File

@ -159,8 +159,9 @@ class AlchemySession(MemorySession):
self.db.merge(new) self.db.merge(new)
def _db_query(self, dbclass, *args): def _db_query(self, dbclass, *args):
return dbclass.query.filter(dbclass.session_id == self.session_id, return dbclass.query.filter(
*args) dbclass.session_id == self.session_id, *args
)
def save(self): def save(self):
self.container.save() self.container.save()
@ -190,17 +191,17 @@ class AlchemySession(MemorySession):
def get_entity_rows_by_phone(self, key): def get_entity_rows_by_phone(self, key):
row = self._db_query(self.Entity, row = self._db_query(self.Entity,
self.Entity.phone == key).one_or_none() self.Entity.phone == key).one_or_none()
return row.id, row.hash if row else None return (row.id, row.hash) if row else None
def get_entity_rows_by_username(self, key): def get_entity_rows_by_username(self, key):
row = self._db_query(self.Entity, row = self._db_query(self.Entity,
self.Entity.username == key).one_or_none() self.Entity.username == key).one_or_none()
return row.id, row.hash if row else None return (row.id, row.hash) if row else None
def get_entity_rows_by_name(self, key): def get_entity_rows_by_name(self, key):
row = self._db_query(self.Entity, row = self._db_query(self.Entity,
self.Entity.name == key).one_or_none() self.Entity.name == key).one_or_none()
return row.id, row.hash if row else None return (row.id, row.hash) if row else None
def get_entity_rows_by_id(self, key, exact=True): def get_entity_rows_by_id(self, key, exact=True):
if exact: if exact:
@ -214,7 +215,7 @@ class AlchemySession(MemorySession):
query = self._db_query(self.Entity, self.Entity.id in ids) query = self._db_query(self.Entity, self.Entity.id in ids)
row = query.one_or_none() row = query.one_or_none()
return row.id, row.hash if row else None return (row.id, row.hash) if row else None
def get_file(self, md5_digest, file_size, cls): def get_file(self, md5_digest, file_size, cls):
row = self._db_query(self.SentFile, row = self._db_query(self.SentFile,
@ -222,7 +223,7 @@ class AlchemySession(MemorySession):
self.SentFile.file_size == file_size, self.SentFile.file_size == file_size,
self.SentFile.type == _SentFileType.from_type( self.SentFile.type == _SentFileType.from_type(
cls).value).one_or_none() cls).value).one_or_none()
return row.id, row.hash if row else None return (row.id, row.hash) if row else None
def cache_file(self, md5_digest, file_size, instance): def cache_file(self, md5_digest, file_size, instance):
if not isinstance(instance, (InputDocument, InputPhoto)): if not isinstance(instance, (InputDocument, InputPhoto)):