2014-06-12 23:29:47 +03:00
|
|
|
# Copyright (C) Ivan Kravets <me@ikravets.com>
|
|
|
|
# See LICENSE for details.
|
|
|
|
|
|
|
|
from click import argument, command, echo, style
|
|
|
|
|
2014-07-30 22:40:11 +03:00
|
|
|
from platformio.platforms.base import PlatformFactory
|
2014-06-12 23:29:47 +03:00
|
|
|
|
|
|
|
|
|
|
|
@command("search", short_help="Search for development platforms")
|
2014-11-24 21:59:25 +02:00
|
|
|
@argument("query", required=False)
|
2014-06-12 23:29:47 +03:00
|
|
|
def cli(query):
|
2014-11-22 23:55:17 +02:00
|
|
|
for platform in PlatformFactory.get_platforms().keys():
|
2014-06-12 23:29:47 +03:00
|
|
|
p = PlatformFactory().newPlatform(platform)
|
|
|
|
name = p.get_name()
|
|
|
|
shinfo = p.get_short_info()
|
|
|
|
|
2014-11-22 23:55:17 +02:00
|
|
|
if query == "all":
|
|
|
|
query = ""
|
|
|
|
|
2014-06-12 23:29:47 +03:00
|
|
|
search_data = "%s %s" % (name, shinfo)
|
2014-11-22 23:55:17 +02:00
|
|
|
if query and query.lower() not in search_data.lower():
|
2014-06-12 23:29:47 +03:00
|
|
|
continue
|
|
|
|
|
|
|
|
echo("{name:<20} - {info}".format(name=style(name, fg="cyan"),
|
|
|
|
info=shinfo))
|