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