import requests import json import time import csv import firebase_admin from firebase_admin import credentials from firebase_admin import db from firebase_admin import messaging import time import threading import pandas as pd from google.cloud import storage import os from firebase_admin import db from google.oauth2 import service_account import traceback from datetime import date bucket_name = 'farmbase-b2f7e.appspot.com' cred = credentials.Certificate('servicekey.json') try: firebase_admin.initialize_app(cred, {'databaseURL': 'https://farmbase-b2f7e-31c0c.firebaseio.com/'}) except: print('fire running') uid= 'TCXcp5VIsfhHZrh0nm2VsgBtcGy2' # uid = 'GKHgYyj2wHTJ1tDvtTBAU841s9L2' # uid = 'XSzwRsmzu4OeCm8UvllGn7xsnOk1' # uid = '4bsSM4efIGhVVmOUyJv8DshNxYG3' url = 'https://us-central1-farmbase-b2f7e.cloudfunctions.net/getMyUsage' from firebase_admin import credentials, auth uid = 'jsBfju6ZH5YR0WLswL9g77XnQaw2' field_id_json = {} field_num = 0 gavl_list = db.reference('PaidMonitoredFields').child('PMF').child(uid).get(False,False) for field_id, temp in gavl_list.items(): field_id = str(field_id) loc_id = db.reference('PaidMonitoredFields').child('PMF').child(uid).child(field_id).child("FieldDescription").get() loc_id = str(loc_id) field_id_json[loc_id] = field_id #print(field_num,field_id, loc_id) field_num += 1 # Load GeoJSON file with open('cluster.geojson', 'r') as file: geojson_data = json.load(file) # API Endpoint endpoint_url = 'https://us-central1-farmbase-b2f7e.cloudfunctions.net/submitField' # headers_obj = { # "Authorization": "Bearer fn_live_123456XXXX_AbcdXXXXXXXXX", # "Content-Type": "application/json" # } mising_loc = 0 # Iterate over each feature in the GeoJSON for feature in geojson_data['features']: loc_code = feature['properties'].get('LOC_CODE', 'Unknown') # Extract LOC_CODE loc_code_exists = field_id_json.get(str(loc_code), None) if loc_code_exists is not None: continue print(mising_loc) if feature["geometry"]["type"] == "MultiPolygon": coordinates = feature['geometry']['coordinates'][0][0] else: coordinates = feature['geometry']['coordinates'][0] # Extract polygon coordinates print(coordinates) body_obj = { "UID": "jsBfju6ZH5YR0WLswL9g77XnQaw2", "CropCode": "1r", "FieldName": loc_code, "PaymentType": 1, "Points": coordinates, "SowingDate": "1734240752" } response = requests.post(endpoint_url, json=body_obj) print(f"Field: {loc_code}, Status Code: {response.status_code}") print("Response:", response.json()) mising_loc = mising_loc + 1 time.sleep(1)