From 60ab9724dbcaf710d6f48cd48451b23ed4444f13 Mon Sep 17 00:00:00 2001 From: hak8or Date: Fri, 4 May 2018 21:19:17 -0400 Subject: [PATCH] Initial Python fiddling --- .vscode/launch.json | 116 ++++++++++++++++++++++++++++++++++++++++++++ prox.py | 32 ++++++++++++ 2 files changed, 148 insertions(+) create mode 100644 .vscode/launch.json create mode 100644 prox.py diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..608b4f0 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,116 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Python: Current File", + "type": "python", + "request": "launch", + "program": "${file}" + }, + { + "name": "Python: Attach", + "type": "python", + "request": "attach", + "localRoot": "${workspaceFolder}", + "remoteRoot": "${workspaceFolder}", + "port": 3000, + "secret": "my_secret", + "host": "localhost" + }, + { + "name": "Python: Terminal (integrated)", + "type": "python", + "request": "launch", + "program": "${file}", + "console": "integratedTerminal" + }, + { + "name": "Python: Terminal (external)", + "type": "python", + "request": "launch", + "program": "${file}", + "console": "externalTerminal" + }, + { + "name": "Python: Django", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/manage.py", + "args": [ + "runserver", + "--noreload", + "--nothreading" + ], + "debugOptions": [ + "RedirectOutput", + "Django" + ] + }, + { + "name": "Python: Flask (0.11.x or later)", + "type": "python", + "request": "launch", + "module": "flask", + "env": { + "FLASK_APP": "${workspaceFolder}/app.py" + }, + "args": [ + "run", + "--no-debugger", + "--no-reload" + ] + }, + { + "name": "Python: Module", + "type": "python", + "request": "launch", + "module": "module.name" + }, + { + "name": "Python: Pyramid", + "type": "python", + "request": "launch", + "args": [ + "${workspaceFolder}/development.ini" + ], + "debugOptions": [ + "RedirectOutput", + "Pyramid" + ] + }, + { + "name": "Python: Watson", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/console.py", + "args": [ + "dev", + "runserver", + "--noreload=True" + ] + }, + { + "name": "Python: All debug Options", + "type": "python", + "request": "launch", + "pythonPath": "${config:python.pythonPath}", + "program": "${file}", + "module": "module.name", + "env": { + "VAR1": "1", + "VAR2": "2" + }, + "envFile": "${workspaceFolder}/.env", + "args": [ + "arg1", + "arg2" + ], + "debugOptions": [ + "RedirectOutput" + ] + } + ] +} \ No newline at end of file diff --git a/prox.py b/prox.py new file mode 100644 index 0000000..b5a838e --- /dev/null +++ b/prox.py @@ -0,0 +1,32 @@ +# All our important stuff +import click +import sys +import os +from proxmoxer import ProxmoxAPI + +# Ensure we have the correct enviorment variables. +try: + os.environ["PROX_HOST"] +except: + print("Enviorment variable PROX_HOST not found. This can be fixed with:\n\texport PROX_HOST=127.0.0.1") + sys.exit(0) +try: + os.environ["PROX_USER"] +except: + print("Enviorment variable PROX_USER not found. This can be fixed with:\n\texport PROX_USER=someusername") + sys.exit(0) +try: + os.environ["PROX_PASS"] +except: + print("Enviorment variable PROX_HOST not found. This can be fixed with:\n\texport PROX_HOST=somepassword") + sys.exit(0) + +# Ensure we can connect to the host using enviorment variabels. +proxmox = ProxmoxAPI +try: + proxmox = ProxmoxAPI(os.environ["PROX_HOST"], user=os.environ["PROX_USER"], password=os.environ["PROX_PASS"], verify_ssl=False) +except ProxmoxAPI.backends.https.AuthenticationError as err: + print("Failed to login to server:", err) +except: + print("Failed to login to server:", sys.exc_info()[0]) + sys.exit(0)