From 50dc608456e17696e630b5a1393553196bf9bebb Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Wed, 1 Feb 2017 14:52:32 +0200 Subject: [PATCH] Cleanup cache on platform update --- platformio/app.py | 5 +++++ platformio/commands/platform.py | 7 +++++-- platformio/maintenance.py | 9 ++------- platformio/managers/platform.py | 2 +- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/platformio/app.py b/platformio/app.py index b1017b16..4104dae4 100644 --- a/platformio/app.py +++ b/platformio/app.py @@ -243,6 +243,11 @@ class ContentCache(object): util.rmtree_(self.cache_dir) +def clean_cache(): + with ContentCache() as cc: + cc.clean() + + def sanitize_setting(name, value): if name not in DEFAULT_SETTINGS: raise InvalidSettingName(name) diff --git a/platformio/commands/platform.py b/platformio/commands/platform.py index c8bb3374..b5a46625 100644 --- a/platformio/commands/platform.py +++ b/platformio/commands/platform.py @@ -16,7 +16,7 @@ import json import click -from platformio import exception, util +from platformio import app, exception, util from platformio.managers.platform import PlatformFactory, PlatformManager @@ -48,7 +48,7 @@ def _print_platforms(platforms): @click.option("--json-output", is_flag=True) def platform_search(query, json_output): platforms = [] - for platform in util.get_api_result("/platforms", cache_valid="365d"): + for platform in util.get_api_result("/platforms", cache_valid="30d"): if query == "all": query = "" @@ -116,6 +116,9 @@ def platform_uninstall(platforms): help="Do not update, only check for new version") @click.option("--json-output", is_flag=True) def platform_update(platforms, only_packages, only_check, json_output): + # cleanup cached board and platform lists + app.clean_cache() + pm = PlatformManager() if not platforms: platforms = [] diff --git a/platformio/maintenance.py b/platformio/maintenance.py index df74231f..afe3cd23 100644 --- a/platformio/maintenance.py +++ b/platformio/maintenance.py @@ -42,11 +42,6 @@ def in_silence(ctx=None): (ctx.args[0] == "upgrade" or "--json-output" in ctx_args)) -def clean_cache(): - with app.ContentCache() as cc: - cc.clean() - - def on_platformio_start(ctx, force, caller): if not caller: if getenv("PLATFORMIO_CALLER"): @@ -65,7 +60,7 @@ def on_platformio_start(ctx, force, caller): telemetry.on_command() if ctx.args and ctx.args[0] == "upgrade": - clean_cache() + app.clean_cache() if not in_silence(ctx): after_upgrade(ctx) @@ -160,7 +155,7 @@ def after_upgrade(ctx): app.set_state_item("last_version", __version__) else: click.secho("Please wait while upgrading PlatformIO ...", fg="yellow") - clean_cache() + app.clean_cache() u = Upgrader(last_version, __version__) if u.run(ctx): app.set_state_item("last_version", __version__) diff --git a/platformio/managers/platform.py b/platformio/managers/platform.py index b1b34414..ac5cfd58 100644 --- a/platformio/managers/platform.py +++ b/platformio/managers/platform.py @@ -149,7 +149,7 @@ class PlatformManager(BasePkgManager): @staticmethod @util.memoized def get_registered_boards(): - return util.get_api_result("/boards", cache_valid="365d") + return util.get_api_result("/boards", cache_valid="30d") def board_config(self, id_): for manifest in self.get_installed_boards():