Port source dashboard processes to async
This commit is contained in:
parent
fba0aab966
commit
789e27d627
|
@ -1,6 +1,7 @@
|
|||
# Twisted/Klein imports
|
||||
from twisted.internet.task import LoopingCall
|
||||
from twisted.internet.threads import deferToThread
|
||||
from twisted.internet.defer import inlineCallbacks
|
||||
|
||||
# Other library imports
|
||||
from json import loads
|
||||
|
@ -13,6 +14,8 @@ from datetime import datetime
|
|||
from settings import settings
|
||||
import util
|
||||
|
||||
# import sources.local
|
||||
|
||||
|
||||
class Agora(util.Base):
|
||||
"""
|
||||
|
@ -41,15 +44,24 @@ class Agora(util.Base):
|
|||
"""
|
||||
Set up the LoopingCall to get all active trades and messages.
|
||||
"""
|
||||
self.loop_check()
|
||||
self.log.debug("Setting up loops.")
|
||||
self.lc_dash = LoopingCall(self.loop_check)
|
||||
self.lc_dash.start(int(settings.Agora.RefreshSec))
|
||||
if settings.Agora.Cheat == "1":
|
||||
self.lc_cheat = LoopingCall(self.run_cheat_in_thread)
|
||||
self.lc_cheat.start(int(settings.Agora.CheatSec))
|
||||
self.log.debug("Finished setting up loops.")
|
||||
|
||||
@util.handle_exceptions
|
||||
def wrap_dashboard(self):
|
||||
dash = self.agora.dashboard_seller()
|
||||
@inlineCallbacks
|
||||
def got_dashboard(self, dash):
|
||||
dash_tmp = yield self.wrap_dashboard(dash)
|
||||
self.dashboard_hook(dash_tmp)
|
||||
|
||||
@inlineCallbacks
|
||||
def wrap_dashboard(self, dash=None): # backwards compatibility with TX
|
||||
if not dash:
|
||||
dash = yield self.agora.dashboard_seller()
|
||||
if dash is None:
|
||||
return False
|
||||
if dash is False:
|
||||
|
@ -72,16 +84,14 @@ class Agora(util.Base):
|
|||
"""
|
||||
Calls hooks to parse dashboard info and get all contact messages.
|
||||
"""
|
||||
dash_tmp = self.wrap_dashboard()
|
||||
|
||||
# Call dashboard hooks
|
||||
self.dashboard_hook(dash_tmp)
|
||||
d = self.agora.dashboard_seller()
|
||||
d.addCallback(self.got_dashboard)
|
||||
|
||||
# Get recent messages
|
||||
self.get_recent_messages()
|
||||
return dash_tmp
|
||||
m = self.agora.recent_messages()
|
||||
m.addCallback(self.got_recent_messages)
|
||||
|
||||
def get_dashboard(self):
|
||||
def get_dashboard_irc(self):
|
||||
"""
|
||||
Get dashboard helper for IRC only.
|
||||
"""
|
||||
|
@ -157,13 +167,11 @@ class Agora(util.Base):
|
|||
current_trades.append(reference)
|
||||
self.tx.cleanup(current_trades)
|
||||
|
||||
@util.handle_exceptions
|
||||
def get_recent_messages(self, send_irc=True):
|
||||
def got_recent_messages(self, messages, send_irc=True):
|
||||
"""
|
||||
Get recent messages.
|
||||
"""
|
||||
messages_tmp = {}
|
||||
messages = self.agora.recent_messages()
|
||||
if messages is False:
|
||||
return False
|
||||
if not messages["success"]:
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Twisted/Klein imports
|
||||
from twisted.internet.task import LoopingCall
|
||||
from twisted.internet.threads import deferToThread
|
||||
from twisted.internet.defer import inlineCallbacks
|
||||
|
||||
# Other library imports
|
||||
from json import loads
|
||||
|
@ -13,6 +14,8 @@ from datetime import datetime
|
|||
from settings import settings
|
||||
import util
|
||||
|
||||
# import sources.local
|
||||
|
||||
|
||||
class LBTC(util.Base):
|
||||
"""
|
||||
|
@ -41,14 +44,24 @@ class LBTC(util.Base):
|
|||
"""
|
||||
Set up the LoopingCall to get all active trades and messages.
|
||||
"""
|
||||
self.log.debug("Running loop check.")
|
||||
self.loop_check()
|
||||
self.log.debug("Setting up loops.")
|
||||
self.lc_dash = LoopingCall(self.loop_check)
|
||||
self.lc_dash.start(int(settings.LocalBitcoins.RefreshSec))
|
||||
if settings.LocalBitcoins.Cheat == "1":
|
||||
self.lc_cheat = LoopingCall(self.run_cheat_in_thread)
|
||||
self.lc_cheat.start(int(settings.LocalBitcoins.CheatSec))
|
||||
self.log.debug("Finished setting up loops.")
|
||||
|
||||
@inlineCallbacks
|
||||
def got_dashboard(self, dash):
|
||||
dash_tmp = yield self.wrap_dashboard(dash)
|
||||
self.dashboard_hook(dash_tmp)
|
||||
|
||||
@util.handle_exceptions
|
||||
def wrap_dashboard(self):
|
||||
def wrap_dashboard(self, dash=None): # backwards compatibility with TX
|
||||
if not dash:
|
||||
dash = self.lbtc.dashboard() # no dashboard_seller for lbtc
|
||||
if dash is None:
|
||||
return False
|
||||
|
@ -72,16 +85,14 @@ class LBTC(util.Base):
|
|||
"""
|
||||
Calls hooks to parse dashboard info and get all contact messages.
|
||||
"""
|
||||
dash_tmp = self.wrap_dashboard()
|
||||
|
||||
# Call dashboard hooks
|
||||
self.dashboard_hook(dash_tmp)
|
||||
d = self.lbtc.dashboard()
|
||||
d.addCallback(self.got_dashboard)
|
||||
|
||||
# Get recent messages
|
||||
self.get_recent_messages()
|
||||
return dash_tmp
|
||||
m = self.lbtc.recent_messages()
|
||||
m.addCallback(self.got_recent_messages)
|
||||
|
||||
def get_dashboard(self):
|
||||
def get_dashboard_irc(self):
|
||||
"""
|
||||
Get dashboard helper for IRC only.
|
||||
"""
|
||||
|
@ -154,12 +165,11 @@ class LBTC(util.Base):
|
|||
self.tx.cleanup(current_trades)
|
||||
|
||||
@util.handle_exceptions
|
||||
def get_recent_messages(self, send_irc=True):
|
||||
def got_recent_messages(self, messages, send_irc=True):
|
||||
"""
|
||||
Get recent messages.
|
||||
"""
|
||||
messages_tmp = {}
|
||||
messages = self.lbtc.recent_messages()
|
||||
if messages is False:
|
||||
return False
|
||||
if not messages["success"]:
|
||||
|
|
Loading…
Reference in New Issue