From c2ee36a4d7b548ed2f7c73dd5d533257aa8a1850 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Mon, 10 Oct 2016 20:59:47 +0300 Subject: [PATCH] Initial support for Eclipse Che --- platformio/__init__.py | 2 +- platformio/app.py | 16 +++++++++++++--- platformio/maintenance.py | 2 ++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/platformio/__init__.py b/platformio/__init__.py index d59efecb..191ccc34 100644 --- a/platformio/__init__.py +++ b/platformio/__init__.py @@ -14,7 +14,7 @@ import sys -VERSION = (3, 2, "0a5") +VERSION = (3, 2, "0a6") __version__ = ".".join([str(s) for s in VERSION]) __title__ = "platformio" diff --git a/platformio/app.py b/platformio/app.py index 59e50e61..d1083649 100644 --- a/platformio/app.py +++ b/platformio/app.py @@ -21,6 +21,7 @@ from os import environ, getenv, listdir, remove from os.path import dirname, getmtime, isdir, isfile, join from time import time +import requests from lockfile import LockFile from platformio import __version__, util @@ -261,9 +262,18 @@ def is_disabled_progressbar(): def get_cid(): cid = get_state_item("cid") if not cid: + _uid = None + if getenv("C9_UID"): + _uid = getenv("C9_UID") + elif getenv("CHE_API_ENDPOINT"): + try: + _uid = requests.get("{api}/user?token={token}".format( + api=getenv("CHE_API_ENDPOINT"), token=getenv( + "USER_TOKEN"))).json().get("id") + except: # pylint: disable=bare-except + pass cid = str( - uuid.UUID(bytes=hashlib.md5( - str(getenv("C9_UID") - if getenv("C9_UID") else uuid.getnode())).digest())) + uuid.UUID(bytes=hashlib.md5(str(_uid if _uid else uuid.getnode())) + .digest())) set_state_item("cid", cid) return cid diff --git a/platformio/maintenance.py b/platformio/maintenance.py index e1c6bc07..ef686331 100644 --- a/platformio/maintenance.py +++ b/platformio/maintenance.py @@ -56,6 +56,8 @@ def on_platformio_start(ctx, force, caller): caller = "C9" elif getenv("USER") == "cabox": caller = "CA" + elif getenv("CHE_API_ENDPOINT"): + caller = "Che" app.set_session_var("command_ctx", ctx) app.set_session_var("force_option", force)