Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Narvaez <dwnarvaez@gmail.com>2012-11-23 17:20:46 (GMT)
committer Daniel Narvaez <dwnarvaez@gmail.com>2012-11-23 17:20:46 (GMT)
commit7713378c690a85f069b6a8358535682c282b236d (patch)
tree95768fabc1a31fb780c4f6c14a1d7905373e3861
parent8c3da877165a83d93923d4c82d627a43631d7ac9 (diff)
Observe only the source directories
-rw-r--r--config/modules/sugar.json6
-rwxr-xr-xdevbot/autoinstall.py25
2 files changed, 17 insertions, 14 deletions
diff --git a/config/modules/sugar.json b/config/modules/sugar.json
index 6c0b928..6511ee3 100644
--- a/config/modules/sugar.json
+++ b/config/modules/sugar.json
@@ -7,15 +7,15 @@
"repo": "git://git.sugarlabs.org/sugar-toolkit/mainline.git" },
{ "name": "sugar-toolkit-gtk3",
"repo": "git://git.sugarlabs.org/sugar-toolkit-gtk3/sugar-toolkit-gtk3.git",
- "auto-install": true },
+ "auto-install": ["src"] },
{ "name": "sugar",
"repo": "git://git.sugarlabs.org/sugar/mainline.git",
- "auto-install": true },
+ "auto-install": ["src", "extensions"] },
{ "name": "sugar-artwork",
"repo": "git://git.sugarlabs.org/sugar-artwork/mainline.git" },
{ "name": "sugar-datastore",
"repo": "git://git.sugarlabs.org/sugar-datastore/mainline.git",
- "auto-install": true },
+ "auto-install": ["src"] },
{ "name": "gst-plugins-espeak",
"repo": "git://git.sugarlabs.org/gst-plugins-espeak/mainline.git",
"out-of-source": false }]
diff --git a/devbot/autoinstall.py b/devbot/autoinstall.py
index 9e1fda0..bb0e469 100755
--- a/devbot/autoinstall.py
+++ b/devbot/autoinstall.py
@@ -13,7 +13,7 @@ from devbot import config
monitors = []
-def install(module, file):
+def _install(module, file):
print "Installing %s" % file.get_path()
source_dir = module.get_source_dir()
@@ -30,10 +30,19 @@ def install(module, file):
install_dir = makefile[dir_variable]
shutil.copy(file.get_path(), install_dir)
-def changed_cb(monitor, file, other_file, event_flags, module):
+def _changed_cb(monitor, file, other_file, event_flags, module):
if event_flags == Gio.FileMonitorEvent.CHANGED:
if file.get_path().endswith(".py"):
- install(module, file)
+ _install(module, file)
+
+def _observe_dir(module, dir_to_observe):
+ for root, dirs, files in os.walk(dir_to_observe):
+ for dir in dirs:
+ file = Gio.File.new_for_path(os.path.join(root, dir))
+
+ monitor = file.monitor(Gio.FileMonitorFlags.NONE, None)
+ monitor.connect("changed", _changed_cb, module)
+ monitors.append(monitor)
def observe():
for module in config.load_modules():
@@ -41,14 +50,8 @@ def observe():
print "Observing the %s module" % module.name
source_dir = module.get_source_dir()
- for root, dirs, files in os.walk(source_dir):
- for dir in dirs:
- file = Gio.File.new_for_path(os.path.join(root, dir))
- monitor = file.monitor(Gio.FileMonitorFlags.NONE, None)
- monitor.connect("changed", changed_cb, module)
-
- monitors.append(monitor)
-
+ for dir in module.auto_install:
+ _observe_dir(module, os.path.join(source_dir, dir))
main_loop = GLib.MainLoop()
main_loop.run()