U
    ߁hL                     @   sZ   d dl Z d dlmZ dZdZeedZd dl Z d dl Z dd Zdd	 Zd
d Zdd Z	dS )    N)OpenAIZ%hf_RwrpebXRyHAHIwBflkGrsqeAeFgoGcPYCuzsk-proj-O44Tus5LHWDwreXOqQOMjJqqKIVMrIYHNBoJSitbCH4OLdT5bDUp3Ey9n7qtt1zTsbwrUtHX6gT3BlbkFJLbzL1SHbiJDfiSin8Kyf--R9BfRQp4WTCa7kxGxQlZB-ALIqFlror4MCBBAcT5mc6k4a0T3PkA)api_keyc              	      s   t | dddd"}tt|}dd |D  W 5 Q R X  rF d |r~tdd	 |D  fd
dtdt D }ng }t | dddd}t|}|	| W 5 Q R X dS )z
    Deletes the first element (top-left cell) of a CSV file and adjusts
    the rest of the content so there are no blank cells left.

    Args:
        csv_file_path (str): Path to the CSV file.

    Returns:
        None
    r utf-8modenewlineencodingc                 S   s   g | ]}|D ]}|qqS  r   ).0rowcellr   r   D/home/ankuromar296_gmail_com/publish_blogs_ai/gsc/get_article_obj.py
<listcomp>   s       z(delete_first_element.<locals>.<listcomp>r   c                 s   s   | ]}t |V  qd S )N)len)r   r   r   r   r   	<genexpr>%   s     z'delete_first_element.<locals>.<genexpr>c                    s   g | ]} ||  qS r   r   )r   i	flat_datanum_colsr   r   r   &   s     wN)
openlistcsvreaderpopmaxranger   writer	writerows)csv_file_pathfiler   new_rowsr   r   r   r   delete_first_element   s    
"
r$   c                 C   s(   t jjj|d| dgd}|jd jjS )Nuser)rolecontent)modelmessagesr   )clientchatcompletionscreatechoicesmessager'   )promptr(   
completionr   r   r   
call_genai/   s    r2   c              
   C   sZ   t | dddd@}t|}|D ] }|r |d   W  5 Q R  S q W 5 Q R  dS Q R X dS )z
    Reads the first element (top-left cell) of a CSV file.

    Args:
        csv_file_path (str): Path to the CSV file.

    Returns:
        str: The first element of the CSV file, or None if file is empty.
    r   r   r   r   r   N)r   r   r   )r!   r"   r   r   r   r   r   read_first_element?   s    

r3   c           	      C   s|   t | }t| d}d}d| d| }t||}td| d| krLdS td| d	|}d
|i}g }|| ||fS )NaX  [
  "Agriculture",
  "Horticulture",
  "Forestry",
  "Farming News",
  "Mining",
  "Infrastructure",
  "Defense/Aerospace",
  "Remote Sensing",
  "AI/ML",
  "AI in Agriculture",
  "ML for Crop Prediction",
  "Satellite Imaging",
  "SAR Imaging",
  "Drone Mapping",
  "NDVI Analysis",
  "Precision Agriculture",
  "Precision Forestry",
  "Soil Moisture Monitoring",
  "Soil Health Monitoring",
  "Smart Irrigation",
  "Irrigation Advisory",
  "IoT Integration",
  "Agricultural IoT",
  "Climate-Smart Agriculture",
  "Sustainable Agriculture",
  "Regenerative Agriculture",
  "Organic Farming",
  "Smart Farming",
  "Farm Automation",
  "Farm Management",
  "Plantation Management",
  "Remote Field Diagnostics",
  "Field Scouting",
  "Crop Monitoring",
  "Crop Health Analysis",
  "Pest Detection",
  "Weed Detection",
  "Plant Disease Detection",
  "Yield Estimation",
  "Harvest Forecasting",
  "Fertilizer Advisory",
  "Agri-input Optimization",
  "Crop Insurance & Loans",
  "Crop Insurance",
  "Agricultural Subsidies",
  "Carbon Footprinting",
  "Carbon Credits",
  "Carbon Sequestration",
  "Blockchain Traceability",
  "Farm-to-Fork Traceability",
  "Fleet Management",
  "Agri-Fintech",
  "Agronomy",
  "GPS Mapping",
  "Geospatial Analytics",
  "GIS Mapping",
  "Weather Forecasting",
  "Drought Monitoring",
  "Disaster Management",
  "Flood Risk Assessment",
  "Land Use Mapping",
  "Land Monitoring",
  "Change Detection",
  "Land Degradation",
  "Land Parcel Identification",
  "Land Encroachment Detection",
  "Illegal Mining Monitoring",
  "Deforestation Monitoring",
  "Deforestation Tracking",
  "Forestry Monitoring",
  "Agroforestry",
  "Biomass Estimation",
  "Ecosystem Services Mapping",
  "Terrain Analysis",
  "Surface Temperature Analysis",
  "Water Resource Management",
  "Watershed Management",
  "Groundwater Assessment",
  "Climate Change",
  "Natural Resource Management",
  "Digital Agriculture",
  "Digital Land Records",
  "Sustainable Land Management",
  "Government Agri Schemes",
  "Agricultural Policy",
  "Agricultural Extension",
  "Agri-tech",
  "Agri-market Linkage",
  "Agri-Education",
  "Rural Development",
  "Food Security",
  "Global Food Supply",
  "Agricultural Exports",
  "Commodity Markets",
  "Food Price Inflation",
  "Supply Chain Management",
  "Agri-Logistics",
  "Agro-Advisory Services",
  "Smart Cities",
  "Infrastructure Planning",
  "Survey & Mapping",
  "Environmental Monitoring",
  "Climate Monitoring",
  "Digital Farming",
  "Custom Alert Systems",
  "Insurance Claim Validation",
  "Farmer Outreach",
  "Yield Mapping",
  "Crop Classification",
  "Crop Calendar Optimization",
  "Agrochemical Impact Tracking",
  "Agricultural Data Platforms",
  "Agricultural Marketplaces",
  "Drone Imagery",
  "Thermal Imaging",
  "Multispectral Imaging",
  "Hyperspectral Imaging",
  "Military Surveillance",
  "Border Monitoring",
  "Power Grid Monitoring",
  "Road Condition Mapping",
  "Railway Safety Surveillance",
  "Solar Farm Monitoring",
  "Wind Farm Optimization",
  "Biodiversity Tracking",
  "Rural Connectivity Assessment",
  "Food Traceability",
  "ESG in Agriculture",
  "Honey/ Hive"
]
zgpt-4.1-mini-2025-04-14zOutput YES if the provided text is related to any of the following topics (exclude dairy/ cattle farming/ crypto/ blockchain): z. Only answer YES OR NO. Text: zis relevantno)NNzI want to write an article on this topic in the context of agriculture/ farming/ forestry/ mining (not related to cyptocurrency or blockchain)/ infrastructure/ defence. Do not try to fit all contexts. Use the best context related to the topic: zh Can you cover everything about this topic in 500 words being relevant in 2025. Output only the content.body)r3   printr2   lowerappend)		file_pathmain_keywordZrelevant_keywordsr(   r0   Zis_relevantr'   Zcontent_objZall_contentsr   r   r   get_article_objP   s"     

 
r;   )
r   openair   Zhf2	model_keyr*   r$   r2   r3   r;   r   r   r   r   <module>   s   
 