modified: app.py
This commit is contained in:
30
app.py
30
app.py
@@ -116,7 +116,7 @@ class ProjectManager:
|
||||
parts = path.strip('/').split('/')
|
||||
return parts[-1] if parts else 'unknown'
|
||||
|
||||
def clone_project(self, project_url, project_name):
|
||||
def clone_project(self, project_url, project_name, save_version=True, installation_method='clone'):
|
||||
"""Klone Projekt aus Git-Repository"""
|
||||
project_path = os.path.join(PROJECTS_DIR, project_name)
|
||||
|
||||
@@ -133,12 +133,13 @@ class ProjectManager:
|
||||
if result.returncode == 0:
|
||||
print(f"✓ Git Clone erfolgreich für {project_name}")
|
||||
|
||||
# Nach erfolgreichem Klonen die Version speichern
|
||||
try:
|
||||
self.save_project_version(project_name, project_url)
|
||||
print(f"✓ Version für {project_name} gespeichert")
|
||||
except Exception as e:
|
||||
print(f"⚠ Warnung: Konnte Version für {project_name} nicht speichern: {e}")
|
||||
# Nach erfolgreichem Klonen die Version speichern (nur wenn gewünscht)
|
||||
if save_version:
|
||||
try:
|
||||
self.save_project_version(project_name, project_url, installation_method=installation_method)
|
||||
print(f"✓ Version für {project_name} mit Methode '{installation_method}' gespeichert")
|
||||
except Exception as e:
|
||||
print(f"⚠ Warnung: Konnte Version für {project_name} nicht speichern: {e}")
|
||||
|
||||
return True, f"Projekt {project_name} erfolgreich geklont und konfiguriert"
|
||||
else:
|
||||
@@ -1338,7 +1339,7 @@ def install_project():
|
||||
else:
|
||||
# Repository klonen und Dockerfile bauen
|
||||
print(f"🐳 Dockerfile-Installation für {project_name} von {project_url}")
|
||||
success, message = project_manager.clone_project(project_url, project_name)
|
||||
success, message = project_manager.clone_project(project_url, project_name, save_version=False)
|
||||
|
||||
if success:
|
||||
# Versuche Docker-Image aus Dockerfile zu bauen
|
||||
@@ -1369,7 +1370,7 @@ def install_project():
|
||||
print(f"🐳 Dockerfile-Installation für {project_name} von {project_url}")
|
||||
|
||||
# Erst klonen, dann Docker-Image bauen
|
||||
success, message = project_manager.clone_project(project_url, project_name)
|
||||
success, message = project_manager.clone_project(project_url, project_name, save_version=False)
|
||||
|
||||
if success:
|
||||
# Versuche Docker-Image aus Dockerfile zu bauen
|
||||
@@ -1396,9 +1397,16 @@ def install_project():
|
||||
|
||||
else:
|
||||
# Standard: Git Clone
|
||||
success, message = project_manager.clone_project(project_url, project_name)
|
||||
success, message = project_manager.clone_project(project_url, project_name, save_version=False)
|
||||
|
||||
if success:
|
||||
# Nach erfolgreichem Klonen die Version mit der richtigen Methode speichern
|
||||
try:
|
||||
project_manager.save_project_version(project_name, project_url, installation_method=installation_method)
|
||||
print(f"✓ Version für {project_name} mit Methode '{installation_method}' gespeichert")
|
||||
except Exception as e:
|
||||
print(f"⚠ Warnung: Konnte Version für {project_name} nicht speichern: {e}")
|
||||
|
||||
# Versuche automatisch zu bauen
|
||||
build_success, build_message = project_manager.build_project(project_name)
|
||||
if build_success:
|
||||
@@ -1406,7 +1414,7 @@ def install_project():
|
||||
else:
|
||||
message += f" (Build fehlgeschlagen: {build_message})"
|
||||
|
||||
return jsonify({'success': success, 'message': message, 'method': 'clone'})
|
||||
return jsonify({'success': success, 'message': message, 'method': installation_method})
|
||||
|
||||
@app.route('/build_project/<project_name>')
|
||||
def build_project(project_name):
|
||||
|
||||
Reference in New Issue
Block a user