forked from platformio/platformio-core
Automatically change dir to project for RPC "config_call"; add "envs" and "descrption" for project entities
This commit is contained in:
@ -34,6 +34,9 @@ from platformio.project.helpers import is_platformio_project
|
|||||||
class ProjectRPC(object):
|
class ProjectRPC(object):
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def config_call(path, method, *args):
|
def config_call(path, method, *args):
|
||||||
|
if isfile(path):
|
||||||
|
with fs.cd(os.path.dirname(path)):
|
||||||
|
return getattr(ProjectConfig(path), method)(*args)
|
||||||
return getattr(ProjectConfig(path), method)(*args)
|
return getattr(ProjectConfig(path), method)(*args)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@ -41,10 +44,11 @@ class ProjectRPC(object):
|
|||||||
def _get_project_data():
|
def _get_project_data():
|
||||||
data = {"boards": [], "envLibdepsDirs": [], "libExtraDirs": []}
|
data = {"boards": [], "envLibdepsDirs": [], "libExtraDirs": []}
|
||||||
config = ProjectConfig()
|
config = ProjectConfig()
|
||||||
libdeps_dir = config.get_optional_dir("libdeps")
|
data["envs"] = config.envs()
|
||||||
|
data["description"] = config.get("platformio", "description")
|
||||||
data["libExtraDirs"].extend(config.get("platformio", "lib_extra_dirs", []))
|
data["libExtraDirs"].extend(config.get("platformio", "lib_extra_dirs", []))
|
||||||
|
|
||||||
|
libdeps_dir = config.get_optional_dir("libdeps")
|
||||||
for section in config.sections():
|
for section in config.sections():
|
||||||
if not section.startswith("env:"):
|
if not section.startswith("env:"):
|
||||||
continue
|
continue
|
||||||
@ -94,6 +98,8 @@ class ProjectRPC(object):
|
|||||||
"name": _path_to_name(project_dir),
|
"name": _path_to_name(project_dir),
|
||||||
"modified": int(getmtime(project_dir)),
|
"modified": int(getmtime(project_dir)),
|
||||||
"boards": boards,
|
"boards": boards,
|
||||||
|
"description": data.get("description"),
|
||||||
|
"envs": data.get("envs", []),
|
||||||
"envLibStorages": [
|
"envLibStorages": [
|
||||||
{"name": basename(d), "path": d}
|
{"name": basename(d), "path": d}
|
||||||
for d in data.get("envLibdepsDirs", [])
|
for d in data.get("envLibdepsDirs", [])
|
||||||
|
Reference in New Issue
Block a user