Files
platformio-core/platformio/commands/upgrade.py

45 lines
1.3 KiB
Python
Raw Normal View History

# Copyright (C) Ivan Kravets <me@ikravets.com>
# See LICENSE for details.
2014-12-03 20:16:50 +02:00
import click
import requests
from platformio import __version__
from platformio.exception import GetLatestVersionError
from platformio.util import exec_command
2014-12-03 20:16:50 +02:00
@click.command("upgrade",
short_help="Upgrade PlatformIO to the latest version")
def cli():
try:
last = get_latest_version()
except:
raise GetLatestVersionError()
if __version__ == last:
2014-12-03 20:16:50 +02:00
return click.secho(
"You're up-to-date!\nPlatformIO %s is currently the "
"newest version available." % __version__, fg="green"
)
else:
click.secho("Please wait while upgrading PlatformIO ...",
fg="yellow")
pip_result = exec_command(["pip", "install", "--upgrade",
"platformio"])
pio_result = exec_command(["platformio", "--version"])
if last in pio_result['out'].strip():
click.secho("PlatformIO has been successfully upgraded to %s" %
last, fg="green")
else:
click.secho(pip_result['out'], fg="green")
click.secho(pip_result['err'], fg="red")
def get_latest_version():
2014-12-03 20:16:50 +02:00
pkgdata = requests.get(
"https://pypi.python.org/pypi/platformio/json").json()
return pkgdata['info']['version']