File size: 1,355 Bytes
6195f5a 5c0c358 6195f5a 5c0c358 6195f5a | 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 | import firebase_admin
from firebase_admin import credentials, firestore
from models import ETF
# Initialize Firebase Admin SDK
cred = credentials.Certificate('stokistan-332f5-firebase-adminsdk-fbsvc-5b6cddb01e.json')
firebase_admin.initialize_app(cred)
db = firestore.client()
def getAllEtf():
try:
docs = db.collection('ETF').stream()
etf_list = []
for doc in docs:
data = doc.to_dict()
data['id'] = doc.id # include document ID
print(data)
data['keyPeople'] = data.pop('Key People', [])
data['etfName'] = data.pop('EtfName',"")
data['description'] = data.pop('Description','')
etf_list.append(ETF(**data))
print(etf_list)
return {"etfs": etf_list}
except Exception as e:
print(f'error{e}')
def rename_field():
docs = db.collection("ETF").stream()
for doc in docs:
data = doc.to_dict()
if " Key People" in data: # old wrong field
print(f"Fixing doc: {doc.id}")
db.collection("ETF").document(doc.id).update({
"Key People": data[" Key People"], # create correct field
" Key People": firestore.DELETE_FIELD # delete wrong field
})
print("Done!")
if __name__ == "__main__":
getAllEtf() |