Tidy up get_pusher functions

Decodes pushers rows on the main thread rather than the db thread and uses _simple_select_list. Also do the same to the function I copied and factor out the duplication into a helper function.
pull/4/merge
David Baker 9 years ago
parent 7b39bcdaae
commit 44891b4a0a
  1. 64
      synapse/storage/pusher.py

@ -56,43 +56,41 @@ class PusherStore(SQLBaseStore):
) )
defer.returnValue(ret is not None) defer.returnValue(ret is not None)
@defer.inlineCallbacks
def get_pushers_by_app_id_and_pushkey(self, app_id, pushkey): def get_pushers_by_app_id_and_pushkey(self, app_id, pushkey):
def r(txn): return self.get_pushers_by({
sql = ( "app_id": app_id,
"SELECT * FROM pushers" "pushkey": pushkey,
" WHERE app_id = ? AND pushkey = ?" })
)
txn.execute(sql, (app_id, pushkey,))
rows = self.cursor_to_dict(txn)
return self._decode_pushers_rows(rows)
rows = yield self.runInteraction(
"get_pushers_by_app_id_and_pushkey", r
)
defer.returnValue(rows)
@defer.inlineCallbacks
def get_pushers_by_user_id(self, user_id): def get_pushers_by_user_id(self, user_id):
def r(txn): return self.get_pushers_by({
sql = ( "user_name": user_id,
"SELECT * FROM pushers" })
" WHERE user_name = ?"
)
txn.execute(sql, (user_id,))
rows = self.cursor_to_dict(txn)
return self._decode_pushers_rows(rows)
result = yield self.runInteraction(
"get_pushers_by_user_id", r
)
defer.returnValue(result) @defer.inlineCallbacks
def get_pushers_by(self, keyvalues):
ret = yield self._simple_select_list(
"pushers", keyvalues,
[
"id",
"user_name",
"access_token",
"profile_tag",
"kind",
"app_id",
"app_display_name",
"device_display_name",
"pushkey",
"ts",
"lang",
"data",
"last_stream_ordering",
"last_success",
"failing_since",
]
)
defer.returnValue(self._decode_pushers_rows(ret))
@defer.inlineCallbacks @defer.inlineCallbacks
def get_all_pushers(self): def get_all_pushers(self):

Loading…
Cancel
Save