Compare commits
No commits in common. "d79a13b080fef243097a956ba137aaaaea296c95" and "52c4b78bdcdbae5d1833e052b7f7f67f442e0716" have entirely different histories.
d79a13b080
...
52c4b78bdc
3 changed files with 10 additions and 13 deletions
|
|
@ -158,5 +158,5 @@ The code in this repository has been released under the [GNU Affero General Publ
|
||||||
|
|
||||||
## Attributions
|
## Attributions
|
||||||
|
|
||||||
- [Bullish icon](https://www.flaticon.com/free-icon/bull-side-view-black-animal-shape_30480) made by [Freepik](https://www.freepik.com) from [Flaticon](https://www.flaticon.com)
|
- [Bullish icon](./.assets/images/bullish.png) made by [Freepik](https://www.freepik.com) from [Flaticon](https://www.flaticon.com)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,3 +27,4 @@ class AppConfig(AppConfig):
|
||||||
repeat=None,
|
repeat=None,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -53,8 +53,6 @@ def fetch_bhav_copy_equity_data(date=None):
|
||||||
|
|
||||||
def populate_bhav_copy_data(date=None):
|
def populate_bhav_copy_data(date=None):
|
||||||
"""Populate DB with Bhav Copy data."""
|
"""Populate DB with Bhav Copy data."""
|
||||||
if date is None:
|
|
||||||
date = datetime.datetime.now().date()
|
|
||||||
try:
|
try:
|
||||||
data = fetch_bhav_copy_equity_data(date=date)
|
data = fetch_bhav_copy_equity_data(date=date)
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
|
|
@ -74,11 +72,11 @@ def populate_bhav_copy_data(date=None):
|
||||||
|
|
||||||
|
|
||||||
def populate_bhav_copy_data_into_redis_v1(data=None, date=None):
|
def populate_bhav_copy_data_into_redis_v1(data=None, date=None):
|
||||||
if date is None:
|
|
||||||
raise ValueError("Date is required")
|
|
||||||
if data is None:
|
if data is None:
|
||||||
data = fetch_bhav_copy_equity_data(date=date)
|
data = fetch_bhav_copy_equity_data(date=date)
|
||||||
del data[0]
|
del data[0]
|
||||||
|
if date is None:
|
||||||
|
date = datetime.datetime.now().date()
|
||||||
logger.info('Populating data into redis')
|
logger.info('Populating data into redis')
|
||||||
datestr = date.strftime("%d%m%y")
|
datestr = date.strftime("%d%m%y")
|
||||||
pipe = cache.pipeline()
|
pipe = cache.pipeline()
|
||||||
|
|
@ -97,12 +95,11 @@ def populate_bhav_copy_data_into_redis_v1(data=None, date=None):
|
||||||
|
|
||||||
|
|
||||||
def populate_bhav_copy_data_into_redis_v2(data=None, date=None):
|
def populate_bhav_copy_data_into_redis_v2(data=None, date=None):
|
||||||
if date is None:
|
|
||||||
raise ValueError("Date required.")
|
|
||||||
if data is None:
|
if data is None:
|
||||||
data = fetch_bhav_copy_equity_data(date=date)
|
data = fetch_bhav_copy_equity_data(date=date)
|
||||||
del data[0]
|
del data[0]
|
||||||
logger.info('Populating data into redis v2')
|
if date is None:
|
||||||
|
date = datetime.datetime.now().date()
|
||||||
datestr = date.strftime("%d%m%y")
|
datestr = date.strftime("%d%m%y")
|
||||||
data = stocks_csv_to_json(data)
|
data = stocks_csv_to_json(data)
|
||||||
stocks_key = f"stocks:v2:{datestr}"
|
stocks_key = f"stocks:v2:{datestr}"
|
||||||
|
|
@ -113,11 +110,11 @@ def populate_bhav_copy_data_into_redis_v2(data=None, date=None):
|
||||||
@transaction.atomic
|
@transaction.atomic
|
||||||
def populate_bhav_copy_data_into_postgres(data=None, date=None):
|
def populate_bhav_copy_data_into_postgres(data=None, date=None):
|
||||||
logger.info('Populating data into postgres for %s', date)
|
logger.info('Populating data into postgres for %s', date)
|
||||||
if date is None:
|
|
||||||
raise ValueError("Date required")
|
|
||||||
if data is None:
|
if data is None:
|
||||||
data = fetch_bhav_copy_equity_data(date=date)
|
data = fetch_bhav_copy_equity_data(date=date)
|
||||||
del data[0]
|
del data[0]
|
||||||
|
if date is None:
|
||||||
|
date = datetime.datetime.now().date()
|
||||||
data = stocks_csv_to_json(data)
|
data = stocks_csv_to_json(data)
|
||||||
for stock in data:
|
for stock in data:
|
||||||
stock['date'] = date
|
stock['date'] = date
|
||||||
|
|
@ -146,7 +143,7 @@ def stocks_csv_to_json(data):
|
||||||
return stocks
|
return stocks
|
||||||
|
|
||||||
|
|
||||||
def verify_date(date: str, ret_message: str) -> Tuple[datetime.datetime, str]:
|
def verify_date(date, ret_message) -> Tuple[datetime.datetime, str]:
|
||||||
"""Verify current date.
|
"""Verify current date.
|
||||||
|
|
||||||
Check current date and time and return the appropriate date. Also take care
|
Check current date and time and return the appropriate date. Also take care
|
||||||
|
|
@ -174,8 +171,7 @@ def verify_date(date: str, ret_message: str) -> Tuple[datetime.datetime, str]:
|
||||||
ret_message = "Markets are closed on weekends. Returning data for Friday."
|
ret_message = "Markets are closed on weekends. Returning data for Friday."
|
||||||
req_datetime -= datetime.timedelta(days=day_num-4) # change req to Friday
|
req_datetime -= datetime.timedelta(days=day_num-4) # change req to Friday
|
||||||
# Check for day
|
# Check for day
|
||||||
if (req_datetime.date() == curr_datetime.date()
|
if req_datetime.date() == curr_datetime.date() and curr_datetime < next_publish_time:
|
||||||
and curr_datetime < next_publish_time):
|
|
||||||
ret_message = "Today's data not yet published, returning yesterday's data."
|
ret_message = "Today's data not yet published, returning yesterday's data."
|
||||||
req_datetime -= datetime.timedelta(days=1)
|
req_datetime -= datetime.timedelta(days=1)
|
||||||
return req_datetime, ret_message
|
return req_datetime, ret_message
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue