इस प्रोजेक्ट के बारे में

WATcalendars एक परियोजना है जो प्रतिदिन सैन्य प्रौद्योगिकी विश्वविद्यालय के आठ संकायों की वेबसाइटों पर जाती है, प्रकाशित कक्षा अनुसूचियों को पार्स करती है, और उन्हें iCalendar (.ics) प्रारूप में सहेजती है। यह छात्रों को Apple Calendar, Google, Outlook, या Thunderbird में अनुसूची की सदस्यता लेने और इसे हमेशा अद्यतन रखने की अनुमति देता है। छात्रों के लिए: बस watcalendars.byst.re पर जाएं, समूह कोड दर्ज करें, और "Add to calendar" पर क्लिक करें। साइट संकाय द्वारा समूहों को ब्राउज़ करने की सुविधा भी प्रदान करती है। डेवलपर्स के लिए: परियोजना Python में लिखी गई है (3.9+ की आवश्यकता है)। फ़ायरवॉल के पीछे संकायों के लिए pip और Playwright (Firefox/Chromium) के माध्यम से स्थापना। `watcal` कमांड सूचीकरण, चयनित संकायों के लिए चलाने, समूह का पता लगाने, कैलेंडर निर्माण, कर्मचारी सूची, और सूचकांक पुनर्निर्माण का समर्थन करता है। डिबगिंग विकल्प, सेमेस्टर बल, और फ़ाइल लॉगिंग उपलब्ध हैं। वास्तुकला एक सामान्य पाइपलाइन (fetch, parse, save) पर आधारित है जिसमें प्रति-संकाय मॉड्यूल हैं। एक नया संकाय जोड़ने के लिए केवल एक विनिर्देश फ़ाइल और पंजीकरण की आवश्यकता होती है। डेटा विभिन्न स्रोतों से प्राप्त किया जाता है: WCY और WIM के लिए HTTP, बाकी के लिए ब्राउज़र (Imperva के पीछे Plansoft), और WIG .docx फ़ाइलों का उपयोग करता है। परियोजना सार्वजनिक USOS API का उपयोग करती है, लेकिन वहां अनुसूचियाँ खाली हैं, इसलिए स्क्रैपिंग आवश्यक है। साइट GitHub Pages से परोसी जाती है, और .ics फ़ाइलें उसी पते पर उपलब्ध हैं। GitHub Actions के माध्यम से प्रतिदिन UTC मध्यरात्रि में स्वचालन। परीक्षण (79) विनिर्देश शुद्धता को कवर करते हैं। MIT लाइसेंस।