예제 #1
0
파일: utils.py 프로젝트: bingdow/bedrock
def download_version_details(source_file, version_pattern, target_file, target_key):
    """
    parse latest nightly version from ftp page
    >>> download_nightly_details(nightly_file)
    """
    import urllib2
    response = urllib2.urlopen(source_file).read()
    versions_match = version_pattern.finditer(response)
    for version_match in versions_match:
        version = version_match.group(1)
    print version
    try:
        PROD_DETAILS_DIR = settings_fallback('PROD_DETAILS_DIR')
        f = open(PROD_DETAILS_DIR + target_file, 'w')
        try:
            f.write('{"%s":"%s"}' % (target_key, version))
        finally:
            f.close()
            log.info('Written newest version in %s%s' % (PROD_DETAILS_DIR, target_file))
    except IOError:
        log.error('Failed to write version file.')
예제 #2
0
import logging
from django.core.management.base import NoArgsCommand
from bedrock.mocotw.utils import download_nightly_details, download_aurora_details
from product_details import settings_fallback

log = logging.getLogger('prod_details')
log.addHandler(logging.StreamHandler())
log.setLevel(settings_fallback('LOG_LEVEL'))


class Command(NoArgsCommand):
    help = 'Update Firefox Nightly Version number from FTP.'
    option_list = NoArgsCommand.option_list

    def handle_noargs(self, **options):
        self.options = options

        # Should we be quiet?
        download_aurora_details()
        download_nightly_details()
        # download_aurora_details()
        log.debug('Nightly Version update run complete.')
    def __init__(self, *args, **kwargs):
        # some settings
        self.PROD_DETAILS_DIR = settings_fallback('PROD_DETAILS_DIR')
        self.PROD_DETAILS_URL = settings_fallback('PROD_DETAILS_URL')

        super(Command, self).__init__(*args, **kwargs)
from optparse import make_option
import os
import re
import shutil
import tempfile
import urllib2
from urlparse import urljoin

from django.core.management.base import NoArgsCommand, CommandError

from product_details import settings_fallback


log = logging.getLogger('prod_details')
log.addHandler(logging.StreamHandler())
log.setLevel(settings_fallback('LOG_LEVEL'))


class Command(NoArgsCommand):
    help = 'Update Mozilla product details off SVN.'
    requires_model_validation = False
    option_list = NoArgsCommand.option_list + (
        make_option('-f', '--force', action='store_true', dest='force',
                    default=False, help=(
                        'Download product details even if they have not been '
                        'updated since the last fetch.')),
        make_option('-q', '--quiet', action='store_true', dest='quiet',
                    default=False, help=(
                        'If no error occurs, swallow all output.')),
    )