import os import json import re # Storage location for contacts CONTACTS_DIR = os.path.dirname(os.path.abspath(__file__)) + "/data" CONTACTS_FILE = CONTACTS_DIR + "/contacts.json" # Local seed contacts fallback SEED_CONTACTS = [ { "name": "District Agriculture Officer (जिला कृषि अधिकारी)", "role": "General Agriculture Support & Schemes (Kanpur Dehat, UP)", "phone": "+91 7839882512", "email": "dao-kanpurdehat@up.gov.in", "category": "Local (Kanpur Dehat) / स्थानीय संपर्क" }, { "name": "Deputy Agriculture Director (उप कृषि निदेशक)", "role": "Administrative & High-level Approvals (Kanpur Dehat, UP)", "phone": "+91 7839882510", "email": "ddag-kanpurdehat@up.gov.in", "category": "Local (Kanpur Dehat) / स्थानीय संपर्क" }, { "name": "Krishi Vigyan Kendra (केवीके दिलीप नगर)", "role": "Scientific Crop Research, Advisory & Training (Kanpur Dehat, UP)", "phone": "+91 9935796178", "email": "kvk.kanpurdehat@icar.gov.in", "category": "Local (Kanpur Dehat) / स्थानीय संपर्क" }, { "name": "Kisan Call Centre (KCC) / किसान कॉल सेंटर", "role": "Primary Agriculture Helpline (मुख्य कृषि हेल्पलाइन) - 6:00 AM to 10:00 PM, 7 days/week", "phone": "18001801551", "email": "kcc-dac@gov.in", "category": "National (राष्ट्रीय)" }, { "name": "National Suicide Prevention Helpline / राष्ट्रीय आत्महत्या रोकथाम हेल्पलाइन", "role": "Mental health crisis, suicide prevention, emotional support - 24/7", "phone": "18005990019", "email": "N/A", "category": "National (राष्ट्रीय)" } ] # Emergency safety keywords (Hindi, Hinglish, and English) SAFETY_KEYWORDS = [ r"zahar", r"zehar", r"jeher", r"poison", r"जहर", r"कीटनाशक", r"suicid", r"aatmahatya", r"आत्महत्या", r"फांसी", r"phansi", r"phansy", r"khudkushi", r"debt", r"distress", r"depress", r"depression", r"stress", r"anxiety", r"accident", r"दुर्घटना", r"crop failure", r"shock", r"हताश", r"निराश", r"जान देने", r"मरने", r"तनाव", r"परेशान", r"परेशानी", r"कर्जा", r"कर्ज", r"उधार", r"उधारी", r"kill myself", r"end my life", r"marna", r"marne" ] def load_contacts(): """Load contacts from local JSON file. If file doesn't exist, return seed contacts.""" if not os.path.exists(CONTACTS_FILE): print(f"[contacts.py] Contacts file {CONTACTS_FILE} not found. Loading seed fallback.") return SEED_CONTACTS try: with open(CONTACTS_FILE, "r", encoding="utf-8") as f: return json.load(f) except Exception as e: print(f"[contacts.py] Error loading contacts: {e}") return SEED_CONTACTS def check_emergency_query(query_text): """ Checks if a query contains safety/distress keywords. Returns (is_emergency, message) """ query_text_lower = query_text.lower() for pattern in SAFETY_KEYWORDS: if re.search(pattern, query_text_lower): warning_msg = ( "⚠️ **सुरक्षा चेतावनी / SAFETY WARNING:**\n\n" "यह एक अत्यंत संवेदनशील या आपातकालीन स्थिति प्रतीत होती है। कृपया किसी भी गंभीर या तत्काल समस्या के लिए " "नीचे दिए गए सरकारी हेल्पलाइन और स्थानीय अधिकारियों के नंबरों पर सीधे संपर्क करें: \n\n" "📞 **कृषि संकट हेल्पलाइन (KCC):** [1800-180-1551](tel:18001801551) (सुबह 6 से रात 10 बजे)\n" "📞 **राष्ट्रीय मानसिक स्वास्थ्य हेल्पलाइन:** [1800-599-0019](tel:18005990019) (24/7)\n" "📞 **आसरा संकट हेल्पलाइन:** [022-2754-6669](tel:02227546669) (24/7)\n" "📞 **जिला कृषि अधिकारी (UP):** [+91 7839882512](tel:+917839882512)\n" "📞 **केवीके वैज्ञानिक (KVK):** [+91 9935796178](tel:+919935796178)\n\n" "घबराएं नहीं, मदद उपलब्ध है। स्थानीय विशेषज्ञ और राष्ट्रीय हेल्पलाइन आपकी त्वरित व निःशुल्क सहायता करेंगे।" ) return True, warning_msg return False, None