diff options
author | 2012-06-04 11:06:47 +0200 | |
---|---|---|
committer | 2012-06-04 11:06:47 +0200 | |
commit | 60e2019cc3472f8e8d9065b2e52bbceb1234bfaf (patch) | |
tree | a83cf27d4ec021ad8769db519cac0ba6c659a4a2 /euscanwww/djeuscan/tasks.py | |
parent | euscanwww: use jQuery each instead of for (diff) | |
download | euscan-60e2019cc3472f8e8d9065b2e52bbceb1234bfaf.tar.gz euscan-60e2019cc3472f8e8d9065b2e52bbceb1234bfaf.tar.bz2 euscan-60e2019cc3472f8e8d9065b2e52bbceb1234bfaf.zip |
euscanwww: Added tasks for syncing and updating portage tree
Added these tasks:
* emerge_sync
* layman_sync
* emerge_regen
* eix_update
Signed-off-by: volpino <fox91@anche.no>
Diffstat (limited to 'euscanwww/djeuscan/tasks.py')
-rw-r--r-- | euscanwww/djeuscan/tasks.py | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/euscanwww/djeuscan/tasks.py b/euscanwww/djeuscan/tasks.py index 89a90dc..2f36f95 100644 --- a/euscanwww/djeuscan/tasks.py +++ b/euscanwww/djeuscan/tasks.py @@ -1,8 +1,12 @@ +import subprocess +from StringIO import StringIO + from celery.task import task from celery.task.sets import TaskSet -from djeuscan.models import Package +from django.conf import settings +from djeuscan.models import Package from djeuscan.management.commands.regen_rrds import regen_rrds from djeuscan.management.commands.update_counters import update_counters from djeuscan.management.commands.scan_metadata import ScanMetadata @@ -97,6 +101,41 @@ def scan_upstream_purge_task(): scan_upstream_purge() +def _launch_command(cmd): + fp = subprocess.Popen(cmd, stdout=subprocess.PIPE, + stderr=subprocess.PIPE) + output = StringIO(fp.communicate()[0]) + return output.getvalue() + + +@task +def emerge_sync(): + cmd = ["emerge", "--sync", "--root", settings.PORTAGE_ROOT, + "--config-root", settings.PORTAGE_CONFIGROOT] + return _launch_command(cmd) + + +@task +def layman_sync(): + cmd = ["layman", "-S", "--config", settings.LAYMAN_CONFIG] + return _launch_command(cmd) + + +@task +def emerge_regen(): + cmd = [ + "emerge", "--regen", "--jobs", settings.EMERGE_REGEN_JOBS, "--root", + settings.PORTAGE_ROOT, "--config-root", settings.PORTAGE_CONFIGROOT + ] + return _launch_command(cmd) + + +@task +def eix_update(): + cmd = ["eix-update"] + return _launch_command(cmd) + + launchable_tasks = [ regen_rrds_task, update_counters_task, @@ -108,4 +147,8 @@ launchable_tasks = [ scan_upstream_all_task, scan_upstream_task, scan_upstream_purge_task, + emerge_sync, + layman_sync, + emerge_regen, + eix_update, ] |