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