euscanwww: move processing to scan and misc, enhance update_portage_tree

update_portage_tree() now:
- watch stderr and stdout for each command
- use layman command instead of layman API for sync because
  layman API doesn't work when stdout or stderr is not a real file
  (we could probably work around that with pipes and epoll)
- use egencache instead of emerge to generate cache
- export PORTAGE_CONFIGROOT, ROOT, EIX_CACHEFILE etc.. so they
  are used everywhere

Signed-off-by: Corentin Chary <corentin.chary@gmail.com>
This commit is contained in:
Corentin Chary
2012-07-02 18:16:59 +02:00
parent 90702ddee8
commit 8062fddc23
17 changed files with 194 additions and 125 deletions

View File

@ -2,11 +2,10 @@ import logging
from django.core.management.base import BaseCommand
from djeuscan.processing import set_verbosity_level
from djeuscan.processing.regen_rrds import regen_rrds
from djeuscan.processing.misc import regen_rrds
logger = logging.getLogger(__name__)
class Command(BaseCommand):
_overlays = {}
help = 'Regenerate rrd database'

View File

@ -5,7 +5,7 @@ from optparse import make_option
from django.core.management.base import BaseCommand
from djeuscan.processing import set_verbosity_level
from djeuscan.processing.scan_metadata import scan_metadata
from djeuscan.processing.scan import scan_metadata
logger = logging.getLogger(__name__)

View File

@ -5,7 +5,7 @@ from optparse import make_option
from django.core.management.base import BaseCommand
from djeuscan.processing import set_verbosity_level
from djeuscan.processing.scan_portage import scan_portage
from djeuscan.processing.scan import scan_portage
logger = logging.getLogger(__name__)

View File

@ -5,7 +5,7 @@ from optparse import make_option
from django.core.management.base import BaseCommand
from djeuscan.processing import set_verbosity_level
from djeuscan.processing.scan_upstream import scan_upstream
from djeuscan.processing.scan import scan_upstream
logger = logging.getLogger(__name__)

View File

@ -4,7 +4,7 @@ from optparse import make_option
from django.core.management.base import BaseCommand
from djeuscan.processing import set_verbosity_level
from djeuscan.processing.update_counters import update_counters
from djeuscan.processing.misc import update_counters
logger = logging.getLogger(__name__)

View File

@ -0,0 +1,16 @@
import logging
from django.core.management.base import BaseCommand
from djeuscan.processing import set_verbosity_level
from djeuscan.processing.misc import update_portage_trees
logger = logging.getLogger(__name__)
class Command(BaseCommand):
_overlays = {}
help = 'Regenerate rrd database'
def handle(self, *args, **options):
set_verbosity_level(logger, options.get("verbosity", 1))
update_portage_trees(logger=logger)