Implemented local restful flask service and provided cmdline client
Added only the "Daily" call so far, submitting for early review/feedback
Called as example "./rest_client.py daily 3"
This depends on listed as requirements.
Flask==1.0.2
flask-jsonpify==1.5.0 (will do later)
flask-restful==0.3.6
TODO: make loading optional, cleanly unload on close
unit tests, take feedback, tidy output,
add other Telegram functions, onwards
local rest server is enabled/disabled from within config.json. E.g
"localrest": {
"enabled": true
},
The server is enabled from within existing rpc manager
and makes use of the existing superclass (RPC)
Through making use of the existing hard work done in rpc.py
It *should be easy to add the other Telegram calls into local_rpc_server.py
The server is wrapped in a thread to be non-blocking
The server and client accept serialised calls or not, used in daily to return json
The client can be used from command line or in a python client script
As example, from cmdline for last 3 days Daily
DannyMBP:rpc creslin$ ./rest_client.py daily 3
[
[
"2018-06-13",
"0.00000000 USDT",
"0.000 USD",
"0 trade"
],
[
"2018-06-12",
"0.00000000 USDT",
"0.000 USD",
"0 trade"
],
[
"2018-06-11",
"0.00000000 USDT",
"0.000 USD",
"0 trade"
]
]
This commit is contained in:
@@ -6,7 +6,7 @@ import logging
|
||||
import time
|
||||
|
||||
from freqtrade.rpc.telegram import Telegram
|
||||
from freqtrade.rpc.local_rpc_server import LocalRPCSuperWrap
|
||||
from freqtrade.rpc.local_rest_server import LocalRestSuperWrap
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -40,8 +40,8 @@ class RPCManager(object):
|
||||
|
||||
# Added another RPC client - for cmdline local client.
|
||||
# Uses existing superclass RPC build for Telegram
|
||||
if self.freqtrade.config['localrpc'].get('enabled', False):
|
||||
self.localRPC = LocalRPCSuperWrap(self.freqtrade)
|
||||
if self.freqtrade.config['rest_cmd'].get('enabled', False):
|
||||
self.localRPC = LocalRestSuperWrap(self.freqtrade)
|
||||
time.sleep(1)
|
||||
|
||||
def cleanup(self) -> None:
|
||||
|
||||
Reference in New Issue
Block a user