File size: 1,290 Bytes
ec4bf13 5345df9 ec4bf13 5345df9 ec4bf13 84e7ef2 ec4bf13 84e7ef2 ec4bf13 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | import firebase_admin
from firebase_admin import credentials, firestore
from models import TickerData
from ticker_detail import PSXScraper,build_ticker
import time
from init_firebase import db
# cred = credentials.Certificate('stokistan-332f5-firebase-adminsdk-fbsvc-5b6cddb01e.json')
# firebase_admin.initialize_app(cred)
# db = firestore.client()
class CacheTicker:
def get_all_tickers(self):
try:
docs = db.collection('kse_30').stream()
result = []
for doc in docs:
data = doc.to_dict()
result.append(data['symbol'])
return result
except Exception as e:
print(f'error{e}')
return []
def get_kse_30_ticker_detail(self):
print("In kse 30")
symbols = self.get_all_tickers()
results = []
for symbol in symbols:
ticker_detail = PSXScraper(symbol)
result = ticker_detail.scrape()
ticker = build_ticker(result, symbol)
results.append(ticker)
time.sleep(6)
print("one done")
print("all done")
return results
if __name__ == "__main__":
cache = CacheTicker()
cache.get_kse_30_ticker_detail()
|