Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/devbot/config.py
diff options
context:
space:
mode:
authorDaniel Narvaez <dwnarvaez@gmail.com>2012-12-15 21:30:24 (GMT)
committer Daniel Narvaez <dwnarvaez@gmail.com>2012-12-15 21:30:24 (GMT)
commit51acf16dba34336bab96591c74235c87ef397e91 (patch)
tree338b7cf40b669d5a607bcb4f15f3538ec400ab6c /devbot/config.py
parentc26bdad106685cb56186e4c31482479d39917180 (diff)
Use index.json for packages and deps too
Diffstat (limited to 'devbot/config.py')
-rw-r--r--devbot/config.py41
1 files changed, 20 insertions, 21 deletions
diff --git a/devbot/config.py b/devbot/config.py
index cd37e23..31e2d1f 100644
--- a/devbot/config.py
+++ b/devbot/config.py
@@ -18,7 +18,6 @@ share_dir = None
bin_dir = None
etc_dir = None
libexec_dir = None
-dep_files = None
package_files = None
system_lib_dirs = None
cache_home_dir = None
@@ -29,6 +28,7 @@ build_state_dir = None
_source_dir = None
_build_dir = None
_prefs_path = None
+_extra_packages_files = []
class Module:
def __init__(self, info):
@@ -93,8 +93,13 @@ def setup(**kwargs):
global _build_dir
_build_dir = kwargs["build_dir"]
+ global _extra_packages_files
+ _extra_packages_files = kwargs.get("extra_packages_files", [])
+
+ relocatable = kwargs.get("relocatable", False)
+
_setup_state_dir(kwargs["state_dir"])
- _setup_install_dir(kwargs["install_dir"], kwargs["relocatable"])
+ _setup_install_dir(kwargs["install_dir"], relocatable)
def _setup_state_dir(state_dir):
_ensure_dir(state_dir)
@@ -191,14 +196,6 @@ def get_build_dir():
_ensure_dir(_build_dir)
return _build_dir
-def set_dep_files(files):
- global dep_files
- dep_files = files
-
-def set_package_files(files):
- global package_files
- package_files = files
-
def _read_prefs():
global _prefs_path
@@ -255,11 +252,18 @@ def _load_plugins():
f, filename, desc = imp.find_module(name, plugins.__path__)
imp.load_module(name, f, filename, desc)
+def _read_index(dir_name, extra=[]):
+ index_dir = os.path.join(config_dir, dir_name)
+ files = extra[:]
+
+ with open(os.path.join(index_dir, "index.json")) as f:
+ files.extend(json.load(f))
+ return [os.path.join(index_dir, json_file) for json_file in files]
+
def load_packages():
packages = {}
- for file in package_files:
- path = os.path.join(config_dir, "packages", "%s.json" % file)
+ for path in _read_index("packages", _extra_packages_files):
packages.update(json.load(open(path)))
return packages
@@ -280,21 +284,16 @@ def _filter_if(item):
def load_checks():
checks = []
- for file in dep_files:
- path = os.path.join(config_dir, "deps", "%s.json" % file)
+ for path in _read_index("deps"):
checks.extend(json.load(open(path)))
return filter(_filter_if, checks)
def load_modules():
- module_dir = os.path.join(config_dir, "modules")
-
modules = []
- with open(os.path.join(module_dir, "index.json")) as f:
- for module_file in json.load(f):
- path = os.path.join(module_dir, module_file)
- for info in json.load(open(path)):
- modules.append(info)
+ for path in _read_index("modules"):
+ for info in json.load(open(path)):
+ modules.append(info)
return [Module(info) for info in filter(_filter_if, modules)]