Nach Updates suchen und herunterladen.. Python und GitHub?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
Deshalb möchte ich nun Fragen, wie dies mit einem beispielsweisen öffentlichen Dienst möglich sei (GitHub).

Wenn deine App auf GitHub abgelegt wird, solltest du dich mit der GitHub eigenen REST API beschäftigen. Alles was du dafür benötigst, lässt sich aus der dazugehörigen Dokumentation entnehmen. Alles weitere in Python implementierst, indem du mit einer Update-Funktion und der API auf deine Releases zugreifst.

In Python erstellst du dir dann eine oder mehrere Funktionen, um Updates abzufragen, herunterzuladen, zu installieren oder ggf. von der aktuellen Version ein Backup zu erstellen. Hängt da ganz von dir und deiner gewünschten Programmstruktur ab, ob du alles in eigenen Funktionen festlegst oder in einem Rutsch abarbeitest.

LG medmonk

Woher ich das weiß:Berufserfahrung – UI/UX Designer, Full-Stack Developer
GettingHeart 
Fragesteller
 03.02.2024, 04:45

ich habe mich eher gefragt, wie ich die neue Version am besten herunterlade? Also im Programm kommt eine Meldung z.B. zum Downloaden der neuen Version (das habe ich schon), aber wie kann ich am besten die neuen Dateien herunterladen, also die alten Daten überschreiben? Ich hoffe, du verstehst meine Frage ^^

0
medmonk  03.02.2024, 10:00
@GettingHeart

Du legst dir in deinem Python-Programm eine Funktion an und mithilfe der GitHub REST-API abfragst, ob die Version in deinem GitHub Repository neuer (höher) ist als die, die gerade installiert bzw. ausgeführt wurde.

  1. Alle benötigten Pakete importieren
  2. Mit einer Funktion die Versionen vergleichen
  3. Mit der selben Funktion oder einer weiteren den Download anstoßen
  4. Ebenso die Zip-Archiv entpacken und die alten Dateien überschreiben

Du speichert in deinem Programm die aktuelle Versionsnummer in einer Variable und fragst dann mithilfe der REST-API ab, ob die Versionsnummer auf GitHub höher ist als die, die in deiner Variable gespeichert wurde.

Danach implementierst du halt die Logik, um die neuere Version herunterzuladen und zu installieren in dem halt die Dateien heruntergeladen und überschrieben werden. Als Pakete sind eigentlich nur os, requests, shutil und zipfile nötig.

0

Über die Github API kannst du nach den neuesten Releases suchen:

https://api.github.com/repos/{owner}/{repo}/releases/latest

Dann Version Codes vergleichen und Rest machen!

GettingHeart 
Fragesteller
 03.02.2024, 04:46

ich habe mich eher gefragt, wie ich die neue Version am besten herunterlade? Also im Programm kommt eine Meldung z.B. zum Downloaden der neuen Version (das habe ich schon), aber wie kann ich am besten die neuen Dateien herunterladen, also die alten Daten überschreiben? Ich hoffe, du verstehst meine Frage ^^

0