Introduktion
GaiminCalendator er en Python-baseret applikation, der henter Dota 2-kampplaner fra Liquipedia og tilføjer dem til en kalender.
Funktioner
Web Scraping: Henter kampdata såsom hold, turneringsnavne og stream-information fra en given URL.
Tidszone-bevidste begivenheder: Håndterer kamp-tider med korrekte tidszoneforskud for at sikre nøjagtig planlægning.
Google Kalender Integration: Opretter automatisk og synkroniserer begivenheder til en Google Kalender.
Begivenhedsstyring: Evnen til at slette alle begivenheder fra en Google Kalender for oprydning.
ICS Eksport: Genererer en .ics fil til eksport af kampkalenderen.
Installation og Opsætning
For at få adgang til GaiminCalendator skal du have:
- Python 3.7+
- Google Kalender API-legitimation
- Adgang til den webside, der scannes (f.eks. Liquipedia)
- credentials.json til Google API-autentificering
Installationstrin
Trin 1: Klon Repository
Følg disse trin for at klone repository’et:
git clone https://github.com/shallotpancake/gaimincalendator.git
cd gaimincalendator
Trin 2: Installér Krævede Python Pakker
Installér de nødvendige afhængigheder ved hjælp af pip:
pip install -r requirements.txt
Opsætning af Google Kalender API
Følg disse trin for at opsætte Google Kalender API:
- Aktivér Google Kalender API’en på Google Cloud-konsollen.
- Opret legitimationsoplysninger til OAuth 2.0 til en skrivebordsapplikation.
- Download credentials.json filen og placér den i rodmappe af projektet.
Scraping og Synkronisering af Kampe
Trin 1: Opdater main.py-filen med din Google Kalender ID:
GOOGLE_CALENDAR_ID = 'din_kalender_id_her'
Trin 2: Sletning af Alle Begivenheder fra Kalenderen
Du kan køre følgende kommando for at slette alle begivenheder på den angivne kalender.
Trin 3: Eksport af Kalender som ICS
For at eksportere de scannende kampe til en .ics fil genererer programmet automatisk en fil kaldet matches_calendar.ics.
with open("matches_calendar.ics", "w") as f: f.write(calendar.export_ics())
Regelmæssig Synkronisering
Du kan automatisere synkronisering af kalenderen med jævne mellemrum ved hjælp af:
Cron (Linux/macOS): Til at køre scriptet hver time.
Opgaveplanlægger (Windows): Opret en opgave, der kører main.py-filen på dine ønskede intervaller.
Har du lyst til at bidrage eller ændre projektet:
- Fork dette repository.
- Opret en ny feature-branch:
git checkout -b feature/ny-funktion
. - Commit dine ændringer:
git commit -m 'Tilføj nogle funktioner'
. - Push til branchen:
git push origin feature/ny-funktion
. - Opret en pull request.
Velkommen til at bidrage ved at sende en pull-anmodning. Ved større ændringer, åbn venligst en problemstilling først for at diskutere, hvad du gerne vil ændre.
Dette projekt er licenseret under MIT-licensen.
Kilde : github.com