Use UTC-based timestamp

This commit is contained in:
Ivan Kravets
2023-06-09 15:18:07 +03:00
parent 355f5afab9
commit c9235a5276
7 changed files with 18 additions and 15 deletions

View File

@ -15,7 +15,7 @@
import os import os
import time import time
from platformio import __accounts_api__, app from platformio import __accounts_api__, app, util
from platformio.exception import PlatformioException from platformio.exception import PlatformioException
from platformio.http import HTTPClient, HTTPClientError from platformio.http import HTTPClient, HTTPClientError
@ -68,7 +68,7 @@ class AccountClient(HTTPClient): # pylint:disable=too-many-public-methods
return os.environ.get("PLATFORMIO_AUTH_TOKEN") return os.environ.get("PLATFORMIO_AUTH_TOKEN")
auth = app.get_state_item("account", {}).get("auth", {}) auth = app.get_state_item("account", {}).get("auth", {})
if auth.get("access_token") and auth.get("access_token_expire"): if auth.get("access_token") and auth.get("access_token_expire"):
if auth.get("access_token_expire") > time.time(): if auth.get("access_token_expire") > util.get_timestamp():
return auth.get("access_token") return auth.get("access_token")
if auth.get("refresh_token"): if auth.get("refresh_token"):
try: try:

View File

@ -18,10 +18,9 @@ import json
import os import os
import platform import platform
import socket import socket
import time
import uuid import uuid
from platformio import __version__, exception, fs, proc from platformio import __version__, exception, fs, proc, util
from platformio.compat import IS_WINDOWS, hashlib_encode_data from platformio.compat import IS_WINDOWS, hashlib_encode_data
from platformio.package.lockfile import LockFile from platformio.package.lockfile import LockFile
from platformio.project.config import ProjectConfig from platformio.project.config import ProjectConfig
@ -254,7 +253,7 @@ def get_cid():
cid = str(cid) cid = str(cid)
if IS_WINDOWS or os.getuid() > 0: # pylint: disable=no-member if IS_WINDOWS or os.getuid() > 0: # pylint: disable=no-member
set_state_item("cid", cid) set_state_item("cid", cid)
set_state_item("created_at", int(time.time())) set_state_item("created_at", int(util.get_timestamp()))
return cid return cid

View File

@ -72,7 +72,8 @@ DEFAULT_ENV_OPTIONS = dict(
variables=clivars, variables=clivars,
# Propagating External Environment # Propagating External Environment
ENV=os.environ, ENV=os.environ,
UNIX_TIME=int(time()), TIMESTAMP=int(time()),
UNIX_TIME="$TIMESTAMP", # deprecated
BUILD_DIR=os.path.join("$PROJECT_BUILD_DIR", "$PIOENV"), BUILD_DIR=os.path.join("$PROJECT_BUILD_DIR", "$PIOENV"),
BUILD_SRC_DIR=os.path.join("$BUILD_DIR", "src"), BUILD_SRC_DIR=os.path.join("$BUILD_DIR", "src"),
BUILD_TEST_DIR=os.path.join("$BUILD_DIR", "test"), BUILD_TEST_DIR=os.path.join("$BUILD_DIR", "test"),

View File

@ -67,7 +67,6 @@ class MeasurementProtocol:
def to_payload(self): def to_payload(self):
return { return {
"client_id": self.client_id, "client_id": self.client_id,
"user_id": f"cid:{self.client_id}",
"non_personalized_ads": True, "non_personalized_ads": True,
"user_properties": self._user_properties, "user_properties": self._user_properties,
"events": self._events, "events": self._events,

View File

@ -13,13 +13,13 @@
# limitations under the License. # limitations under the License.
import base64 import base64
import datetime
import functools import functools
import math import math
import platform import platform
import re import re
import shutil import shutil
import time import time
from datetime import datetime
import click import click
@ -168,10 +168,14 @@ def items_in_list(needle, haystack):
return set(needle) & set(haystack) return set(needle) & set(haystack)
def get_timestamp(utc=True):
return datetime.datetime.now(datetime.timezone.utc if utc else None).timestamp()
def parse_datetime(datestr): def parse_datetime(datestr):
if "T" in datestr and "Z" in datestr: if "T" in datestr and "Z" in datestr:
return datetime.strptime(datestr, "%Y-%m-%dT%H:%M:%SZ") return datetime.datetime.strptime(datestr, "%Y-%m-%dT%H:%M:%SZ")
return datetime.strptime(datestr) return datetime.datetime.strptime(datestr)
def merge_dicts(d1, d2, path=None): def merge_dicts(d1, d2, path=None):

View File

@ -469,7 +469,7 @@ def test_custom_project_tools(
project_dir = tmp_path / "project" project_dir = tmp_path / "project"
project_dir.mkdir() project_dir.mkdir()
(project_dir / "platformio.ini").write_text(PROJECT_CONFIG_TPL) (project_dir / "platformio.ini").write_text(PROJECT_CONFIG_TPL)
spec = "platformio/tool-openocd" spec = "platformio/tool-openocd @ ^2"
result = clirunner.invoke( result = clirunner.invoke(
package_install_cmd, package_install_cmd,
["-d", str(project_dir), "-e", "devkit", "-t", spec], ["-d", str(project_dir), "-e", "devkit", "-t", spec],
@ -503,7 +503,7 @@ def test_custom_project_tools(
# check saved deps # check saved deps
assert config.get("env:devkit", "platform_packages") == [ assert config.get("env:devkit", "platform_packages") == [
"platformio/tool-openocd@^2.1100.211028", "platformio/tool-openocd@^2",
] ]
# install tool without saving to config # install tool without saving to config
@ -518,7 +518,7 @@ def test_custom_project_tools(
PackageSpec("tool-openocd@2.1100.211028"), PackageSpec("tool-openocd@2.1100.211028"),
] ]
assert config.get("env:devkit", "platform_packages") == [ assert config.get("env:devkit", "platform_packages") == [
"platformio/tool-openocd@^2.1100.211028", "platformio/tool-openocd@^2",
] ]
# unknown tool # unknown tool

View File

@ -313,7 +313,7 @@ def test_custom_project_tools(
project_dir = tmp_path / "project" project_dir = tmp_path / "project"
project_dir.mkdir() project_dir.mkdir()
(project_dir / "platformio.ini").write_text(PROJECT_CONFIG_TPL) (project_dir / "platformio.ini").write_text(PROJECT_CONFIG_TPL)
spec = "platformio/tool-openocd" spec = "platformio/tool-openocd@^2"
result = clirunner.invoke( result = clirunner.invoke(
package_install_cmd, package_install_cmd,
["-d", str(project_dir), "-e", "devkit", "-t", spec], ["-d", str(project_dir), "-e", "devkit", "-t", spec],
@ -329,7 +329,7 @@ def test_custom_project_tools(
assert not os.path.exists(config.get("platformio", "platforms_dir")) assert not os.path.exists(config.get("platformio", "platforms_dir"))
# check saved deps # check saved deps
assert config.get("env:devkit", "platform_packages") == [ assert config.get("env:devkit", "platform_packages") == [
"platformio/tool-openocd@^2.1100.211028", "platformio/tool-openocd@^2",
] ]
# uninstall # uninstall
result = clirunner.invoke( result = clirunner.invoke(