Generate better UID

This commit is contained in:
Ivan Kravets
2016-08-27 23:15:32 +03:00
parent 6894d2c5d2
commit d28f0b259a
3 changed files with 17 additions and 13 deletions

View File

@ -72,8 +72,6 @@ class PlatformioCLI(click.MultiCommand): # pylint: disable=R0904
@click.option("--caller", "-c", help="Caller ID (service).")
@click.pass_context
def cli(ctx, force, caller):
if not caller and getenv("PLATFORMIO_CALLER"):
caller = getenv("PLATFORMIO_CALLER")
maintenance.on_platformio_start(ctx, force, caller)

View File

@ -13,6 +13,7 @@
# limitations under the License.
import json
import uuid
from copy import deepcopy
from os import environ, getenv
from os.path import getmtime, isfile, join
@ -164,6 +165,11 @@ def reset_settings():
def get_session_var(name, default=None):
if name == "caller_id" and not SESSION_VARS[name]:
if getenv("PLATFORMIO_CALLER"):
return getenv("PLATFORMIO_CALLER")
elif getenv("C9_UID"):
return "C9"
return SESSION_VARS.get(name, default)
@ -175,3 +181,13 @@ def set_session_var(name, value):
def is_disabled_progressbar():
return any([get_session_var("force_option"), util.is_ci(),
getenv("PLATFORMIO_DISABLE_PROGRESSBAR") == "true"])
def get_cid():
cid = get_state_item("cid")
if not cid:
cid = str(
uuid.uuid5(uuid.NAMESPACE_OID, str(
getenv("C9_UID") if getenv("C9_UID") else uuid.getnode())))
set_state_item("cid", cid)
return cid

View File

@ -17,7 +17,6 @@ import platform
import Queue
import sys
import threading
import uuid
from collections import deque
from os import getenv
from time import sleep, time
@ -31,8 +30,6 @@ from platformio import __version__, app, exception, util
class TelemetryBase(object):
MACHINE_ID = str(uuid.uuid5(uuid.NAMESPACE_OID, str(uuid.getnode())))
def __init__(self):
self._params = {}
@ -46,13 +43,6 @@ class TelemetryBase(object):
if name in self._params:
del self._params[name]
def get_cid(self):
cid = app.get_state_item("cid")
if not cid:
cid = self.MACHINE_ID
app.set_state_item("cid", cid)
return cid
def send(self, hittype):
raise NotImplementedError()
@ -72,7 +62,7 @@ class MeasurementProtocol(TelemetryBase):
TelemetryBase.__init__(self)
self['v'] = 1
self['tid'] = self.TID
self['cid'] = self.get_cid()
self['cid'] = app.get_cid()
self['sr'] = "%dx%d" % click.get_terminal_size()
self._prefill_screen_name()