39 lines
1.6 KiB
Python
39 lines
1.6 KiB
Python
import pickle
|
|
import os
|
|
from v2realbot.config import STRATVARS_UNCHANGEABLES, ACCOUNT1_PAPER_API_KEY, ACCOUNT1_PAPER_SECRET_KEY, ACCOUNT1_LIVE_API_KEY, ACCOUNT1_LIVE_SECRET_KEY, DATA_DIR,BT_FILL_CONS_TRADES_REQUIRED,BT_FILL_LOG_SURROUNDING_TRADES,BT_FILL_CONDITION_BUY_LIMIT,BT_FILL_CONDITION_SELL_LIMIT, GROUP_TRADES_WITH_TIMESTAMP_LESS_THAN, MEDIA_DIRECTORY, RUNNER_DETAIL_DIRECTORY
|
|
|
|
# #class to persist
|
|
# class Store:
|
|
# stratins : List[StrategyInstance] = []
|
|
# runners: List[Runner] = []
|
|
# def __init__(self) -> None:
|
|
# self.db_file = DATA_DIR + "/strategyinstances.cache"
|
|
# if os.path.exists(self.db_file):
|
|
# with open (self.db_file, 'rb') as fp:
|
|
# self.stratins = pickle.load(fp)
|
|
|
|
# def save(self):
|
|
# with open(self.db_file, 'wb') as fp:
|
|
# pickle.dump(self.stratins, fp)
|
|
|
|
|
|
#db = Store()
|
|
|
|
def try_reading_after_skipping_bytes(file_path, skip_bytes, chunk_size=1024):
|
|
with open(file_path, 'rb') as file:
|
|
file.seek(skip_bytes) # Skip initial bytes
|
|
while True:
|
|
try:
|
|
data = pickle.load(file)
|
|
print("Recovered data:", data)
|
|
break # Exit loop if successful
|
|
except EOFError:
|
|
print("Reached end of file without recovering data.")
|
|
break
|
|
except pickle.UnpicklingError:
|
|
# Move ahead in file by chunk_size bytes and try again
|
|
file.seek(file.tell() + chunk_size, os.SEEK_SET)
|
|
|
|
|
|
file_path = DATA_DIR + "/strategyinstances.cache"
|
|
try_reading_after_skipping_bytes(file_path,1) |