منصوبے کے بارے میں

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) پر مبنی ہے جس میں فی فیکلٹی ماڈیولز ہیں۔ نئی فیکلٹی شامل کرنے کے لیے صرف ایک specification فائل اور رجسٹریشن درکار ہے۔ ڈیٹا مختلف ذرائع سے حاصل کیا جاتا ہے: WCY اور WIM کے لیے HTTP، باقی کے لیے براؤزر (Plansoft، Imperva کے پیچھے)، اور WIG .docx فائلیں استعمال کرتا ہے۔ پروجیکٹ عوامی USOS API استعمال کرتا ہے، لیکن وہاں شیڈولز خالی ہیں، اس لیے scraping ضروری ہے۔ سائٹ GitHub Pages سے سرو کی جاتی ہے، اور .ics فائلیں اسی ایڈریس پر دستیاب ہیں۔ GitHub Actions کے ذریعے روزانہ رات 12 بجے UTC پر آٹومیشن۔ ٹیسٹس (79) specification کی درستگی کا احاطہ کرتے ہیں۔ MIT لائسنس۔