Example #1
0
def releases(rel_name=None, rfilter=None):
    "Return information about CMS releases"
    if rel_name:
        if not pat_release.match(rel_name):
            msg = 'Wrong CMSSW release name'
            raise ValueError(msg)
        args = {'release_name': rel_name}
    else:
        args = {}
    url = tc_url('getReleasesInformation')
    rel_info = get_data(url, args)
    columns = rel_info['columns']
    pat = re.compile('CMSSW_[1-9]_[0-9]_X\.*')
    for key, val in rel_info['data'].iteritems():
        if rfilter == 'list':
            if  pat.match(key) or not key.find('CMSSW') != -1 or \
                key.find('EXPERIMENTAL') != -1 or \
                key.find('CLANG') != -1 or \
                key.find('_X_') != -1 or \
                key.find('FORTIFIED') != -1:
                continue
        row = {}
        pairs = zip(columns['release_name'], val)
        for kkk, vvv in pairs:
            if isinstance(kkk, basestring):
                row[kkk] = vvv
            elif isinstance(kkk, list):
                for item in vvv:
                    row.setdefault('architectures',
                                   []).append(dict(zip(kkk, item)))
        row['release_name'] = key
        for item in row['architectures']:
            if match_platform(item['architecture_name']):
                yield row
Example #2
0
def releases(rel_name=None, rfilter=None):
    "Return information about CMS releases"
    if  rel_name:
        if  not pat_release.match(rel_name):
            msg = 'Wrong CMSSW release name'
            raise ValueError(msg)
        args  = {'release_name': rel_name}
    else:
        args  = {}
    url = tc_url('getReleasesInformation')
    rel_info  = get_data(url, args)
    columns   = rel_info['columns']
    pat = re.compile('CMSSW_[1-9]_[0-9]_X\.*')
    for key, val in rel_info['data'].iteritems():
        if rfilter == 'list':
            if  pat.match(key) or not key.find('CMSSW') != -1 or \
                key.find('EXPERIMENTAL') != -1 or \
                key.find('CLANG') != -1 or \
                key.find('_X_') != -1 or \
                key.find('FORTIFIED') != -1:
                continue
        row   = {}
        pairs = zip(columns['release_name'], val)
        for kkk, vvv in pairs:
            if  isinstance(kkk, basestring):
                row[kkk] = vvv
            elif isinstance(kkk, list):
                for item in vvv:
                    row.setdefault('architectures', []).append(dict(zip(kkk, item)))
        row['release_name'] = key
        for item in row['architectures']:
            if  match_platform(item['architecture_name']):
                yield row
Example #3
0
def get_release_arch(rel):
    "Return architecture for given CMSSW release"
    args = {'release': rel}
    releases = get_data(tc_url('py_getReleaseArchitectures'), args)
    output = []
    for item in releases:
        rel_arch = item[0]
        status = item[1]
        if check_os(rel_arch):
            output.append((rel_arch, status))
    return output
Example #4
0
def get_release_arch(rel):
    "Return architecture for given CMSSW release"
    args = {'release': rel}
    releases = get_data(tc_url('py_getReleaseArchitectures'), args)
    output = []
    for item in releases:
        rel_arch = item[0]
        status   = item[1]
        if  check_os(rel_arch):
            output.append((rel_arch, status))
    return output