import firebase_admin from firebase_admin import credentials, firestore import os from google.cloud.firestore_v1.base_query import FieldFilter from datetime import datetime, timedelta key_path = os.getcwd() + '/keys/hpos-af3cc-firebase-adminsdk.json' cred = credentials.Certificate(key_path) firebase_admin.initialize_app(cred) def update_incubation(source_collection): db = firestore.client() docs = db.collection(source_collection).where(filter = FieldFilter("_id", "in", ['202401030005SMIBLR'])).stream() for doc in docs: doc_id = doc.id #doc.to_dict()["_id"] print(doc_id) new_time = datetime.now() + timedelta(minutes=-15) try: db.collection(source_collection).document(doc_id).update({ # "bloodGroup": "B+", "testStatus": False, # "createdAt": "2023-11-11 07:05:00", "incubationTime": new_time.strftime("%Y-%m-%d %H:%M:%S"), "incubationModified": True }) print(f"Document with ID '{doc_id}' updated") except Exception as e: print(f"Error updating document with ID '{doc_id}' from the source collection: {e}") if __name__ == "__main__": update_incubation("patientData")