Libraries refactor and add some sinks #4
|
@ -508,23 +508,6 @@ class Agora(object):
|
|||
ad = self.agora.ad_create(**form)
|
||||
return ad
|
||||
|
||||
# TODO: move to markets
|
||||
def create_distribution_list(self, filter_asset=None):
|
||||
"""
|
||||
Create a list for distribution of ads.
|
||||
:return: generator of asset, countrycode, currency, provider
|
||||
:rtype: generator of tuples
|
||||
"""
|
||||
# Iterate providers like REVOLUT, NATIONAL_BANK
|
||||
for provider in loads(settings.Agora.ProviderList):
|
||||
# Iterate assets like XMR, BTC
|
||||
for asset in loads(settings.Agora.AssetList):
|
||||
# Iterate pairs of currency and country like EUR, GB
|
||||
for currency, countrycode in loads(settings.Agora.DistList):
|
||||
if filter_asset:
|
||||
if asset == filter_asset:
|
||||
yield (asset, countrycode, currency, provider)
|
||||
|
||||
def dist_countries(self, filter_asset=None):
|
||||
"""
|
||||
Distribute our advert into all countries and providers listed in the config.
|
||||
|
@ -532,7 +515,7 @@ class Agora(object):
|
|||
:return: False or dict with response
|
||||
:rtype: bool or dict
|
||||
"""
|
||||
dist_list = list(self.create_distribution_list(filter_asset))
|
||||
dist_list = list(self.markets.create_distribution_list(filter_asset))
|
||||
our_ads = self.enum_ads()
|
||||
# Let's get rid of the ad IDs and make it a tuple like dist_list
|
||||
our_ads = [(x[0], x[2], x[3], x[4]) for x in our_ads]
|
||||
|
|
|
@ -154,3 +154,19 @@ class Markets(object):
|
|||
return float(settings.Agora.MaxMargin)
|
||||
# self.log.debug("Cheapest ad above our min that is not us: {x}", x=cheapest_ad)
|
||||
return cheapest_ad_margin
|
||||
|
||||
def create_distribution_list(self, filter_asset=None):
|
||||
"""
|
||||
Create a list for distribution of ads.
|
||||
:return: generator of asset, countrycode, currency, provider
|
||||
:rtype: generator of tuples
|
||||
"""
|
||||
# Iterate providers like REVOLUT, NATIONAL_BANK
|
||||
for provider in loads(settings.Agora.ProviderList):
|
||||
# Iterate assets like XMR, BTC
|
||||
for asset in loads(settings.Agora.AssetList):
|
||||
# Iterate pairs of currency and country like EUR, GB
|
||||
for currency, countrycode in loads(settings.Agora.DistList):
|
||||
if filter_asset:
|
||||
if asset == filter_asset:
|
||||
yield (asset, countrycode, currency, provider)
|
||||
|
|
|
@ -3,7 +3,7 @@ from twisted.logger import Logger
|
|||
|
||||
# Other library imports
|
||||
from pycoingecko import CoinGeckoAPI
|
||||
|
||||
from forex_python.converter import CurrencyRates
|
||||
|
||||
# Project imports
|
||||
from settings import settings
|
||||
|
@ -21,6 +21,7 @@ class Money(object):
|
|||
Initialise the CoinGecko API.
|
||||
"""
|
||||
self.log = Logger("money")
|
||||
self.cr = CurrencyRates()
|
||||
self.cg = CoinGeckoAPI()
|
||||
|
||||
def lookup_rates(self, ads, rates=None):
|
||||
|
|
Loading…
Reference in New Issue