| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import git
- from git.exc import GitCommandError
- import requests
- from datetime import datetime
- # Konfiguration
- REPO_PATH = '/home/pi/solar_collector' # Pfad zum lokalen Git-Repository
- GIT_REPO_URL = 'https://g.tbsgl.xyz:443/tsi/solar_collector.git' # SSH URL des Git-Repositories
- bot_token = '949332240:AAHNsQEmCW4it86Esa7F5o07XxwrotSM7s8'
- chat_id = '-914111351'
- def send_telegram_message(bot_token, chat_id, message):
- """Sendet eine Nachricht über Telegram."""
- bot_url = f'https://api.telegram.org/bot{bot_token}/sendMessage'
- payload = {'chat_id': chat_id, 'text': message}
- try:
- response = requests.post(bot_url, data=payload)
- response.raise_for_status()
- except requests.exceptions.RequestException as e:
- print(f"Fehler beim Senden der Telegram-Nachricht: {e}")
- def git_pull(repo_path, repo_url):
- """Führt ein git pull im angegebenen Repository aus."""
- try:
- repo = git.Repo(repo_path)
- except git.exc.InvalidGitRepositoryError:
- # Falls das Verzeichnis kein Git-Repo ist, klone es
- git.Repo.clone_from(repo_url, repo_path)
- return "Repository geklont"
-
- current = repo.head.commit
- repo.remotes.origin.pull()
- new = repo.head.commit
- if current != new:
- return "Neue Daten erfolgreich ausgerollt"
- else:
- return "Keine neuen Daten zum Ausrollen"
- def main():
- message = git_pull(REPO_PATH, GIT_REPO_URL)
- send_telegram_message(bot_token, chat_id, message)
- if __name__ == "__main__":
- main()
|