| 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 |
|
|
| |
| |
| |
|
|
| 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() |
|
|
|
|