GaiminCalendator: Få Dota 2-kamptidsplaner på din kalender!

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