Spaces:
Runtime error
Runtime error
| from flask import Flask, request, jsonify | |
| import os | |
| import json | |
| import zipfile | |
| import requests | |
| app = Flask(__name__) | |
| class APIService: | |
| """ Basisklasse für alle API-Dienste. """ | |
| def __init__(self, api_key): | |
| self.api_key = api_key | |
| def fetch(self, *args, **kwargs): | |
| raise NotImplementedError("Diese Methode muss von Unterklassen implementiert werden.") | |
| class SynonymAPI(APIService): | |
| """ API-Dienst für Synonyme. """ | |
| def fetch(self, word): | |
| url = f"https://lingua-robot.p.rapidapi.com/language/v1/synonyms?word={word}" | |
| headers = { | |
| 'x-rapidapi-key': self.api_key, | |
| 'x-rapidapi-host': "lingua-robot.p.rapidapi.com" | |
| } | |
| response = requests.get(url, headers=headers) | |
| return response.json()['entries'][0]['synonyms'] if response.status_code == 200 else [] | |
| class AliasManager: | |
| """ Verwaltung von Aliasen. """ | |
| aliases = [] | |
| def add_alias(cls, alias_name, command, description): | |
| cls.aliases.append({ | |
| "alias_name": alias_name, | |
| "command": command, | |
| "description": description | |
| }) | |
| def list_aliases(cls): | |
| return cls.aliases | |
| class BackupManager: | |
| """ Backup-Funktionalitäten """ | |
| def create_backup(): | |
| backup_filename = "project_backup.zip" | |
| with zipfile.ZipFile(backup_filename, 'w') as zipf: | |
| for root, dirs, files in os.walk("."): | |
| for file in files: | |
| if file not in ["project_backup.zip"]: | |
| zipf.write(os.path.join(root, file)) | |
| return backup_filename | |
| # API-Routen | |
| def manage_aliases(): | |
| if request.method == 'POST': | |
| data = request.json | |
| alias_name = data.get('alias_name') | |
| command = data.get('command') | |
| description = data.get('description') | |
| AliasManager.add_alias(alias_name, command, description) | |
| return jsonify({"status": "Alias erfolgreich erstellt", "alias_name": alias_name}) | |
| else: | |
| return jsonify(AliasManager.list_aliases()) | |
| def create_script(): | |
| data = request.json | |
| script_name = data.get('script_name') | |
| content = data.get('content') | |
| description = data.get('description') | |
| with open(f"my_scripts/{script_name}.py", "w") as script_file: | |
| script_file.write(content) | |
| return jsonify({"status": "Skript erfolgreich erstellt", "script_name": script_name}) | |
| def create_backup(): | |
| backup_filename = BackupManager.create_backup() | |
| return jsonify({"status": "Backup erfolgreich erstellt", "backup_filename": backup_filename}) | |
| def get_tasks(): | |
| if os.path.exists("tasks.json"): | |
| with open("tasks.json", "r") as tasks_file: | |
| tasks = json.load(tasks_file) | |
| else: | |
| tasks = [] | |
| return jsonify(tasks) | |
| # Start des Servers | |
| if __name__ == '__main__': | |
| app.run(debug=True) | |