wokring on persistence scan api
This commit is contained in:
parent
12a758afc4
commit
2da14fc554
@ -1,5 +1,15 @@
|
|||||||
import boto3
|
import boto3
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
|
import decimal
|
||||||
|
|
||||||
|
class DecimalEncoder(json.JSONEncoder):
|
||||||
|
def default(self, o):
|
||||||
|
if isinstance(o, decimal.Decimal):
|
||||||
|
if o % 1 > 0:
|
||||||
|
return float(o)
|
||||||
|
else:
|
||||||
|
return int(o)
|
||||||
|
return super(DecimalEncoder, self).default(o)
|
||||||
|
|
||||||
|
|
||||||
class Persistence:
|
class Persistence:
|
||||||
@ -16,6 +26,22 @@ class Persistence:
|
|||||||
self.table = table
|
self.table = table
|
||||||
self.db = boto3.resource('dynamodb')
|
self.db = boto3.resource('dynamodb')
|
||||||
|
|
||||||
|
def list(self):
|
||||||
|
table = self.db.Table(self.table)
|
||||||
|
|
||||||
|
response = table.scan()
|
||||||
|
result = []
|
||||||
|
|
||||||
|
while 'LastEvaluatedKey' in response:
|
||||||
|
response = table.scan(
|
||||||
|
ExclusiveStartKey=response['LastEvaluatedKey']
|
||||||
|
)
|
||||||
|
|
||||||
|
for i in response['Items']:
|
||||||
|
result.append(i)
|
||||||
|
|
||||||
|
return result
|
||||||
|
|
||||||
def load(self, sample):
|
def load(self, sample):
|
||||||
"""
|
"""
|
||||||
loads a given object from the database storage
|
loads a given object from the database storage
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
from freqtrade.strategy.resolver import StrategyResolver
|
from freqtrade.strategy.resolver import StrategyResolver
|
||||||
|
import boto3
|
||||||
import os
|
import os
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
import uuid
|
import uuid
|
||||||
@ -17,8 +17,12 @@ def names(event, context):
|
|||||||
:param context:
|
:param context:
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
pass
|
table = Persistence(os.environ['strategyTable'])
|
||||||
|
|
||||||
|
return {
|
||||||
|
"statusCode": 200,
|
||||||
|
"body": json.dumps(table.list())
|
||||||
|
}
|
||||||
|
|
||||||
def performance(event, context):
|
def performance(event, context):
|
||||||
"""
|
"""
|
||||||
@ -51,19 +55,19 @@ def submit(event, context):
|
|||||||
# get data
|
# get data
|
||||||
data = json.loads(event['body'])
|
data = json.loads(event['body'])
|
||||||
|
|
||||||
print("received data")
|
# print("received data")
|
||||||
print(data)
|
# print(data)
|
||||||
|
|
||||||
# validate against schema
|
# validate against schema
|
||||||
result = validate(data, __SUBMIT_STRATEGY_SCHEMA__)
|
result = validate(data, __SUBMIT_STRATEGY_SCHEMA__)
|
||||||
|
|
||||||
print("data are validated");
|
# print("data are validated");
|
||||||
print(result)
|
# print(result)
|
||||||
|
|
||||||
strategy = urlsafe_b64decode(data['content']).decode('utf-8')
|
strategy = urlsafe_b64decode(data['content']).decode('utf-8')
|
||||||
|
|
||||||
print("loaded strategy")
|
# print("loaded strategy")
|
||||||
print(strategy)
|
# print(strategy)
|
||||||
# try to load the strategy
|
# try to load the strategy
|
||||||
StrategyResolver().compile(data['name'], strategy)
|
StrategyResolver().compile(data['name'], strategy)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user