Ejemplo n.º 1
0
def getRemoteChecksumList(url):
    # Download from URL
    data = lxtools.getRemoteData(url + '/SHASUMS.txt')

    # Exception or Abort
    if data == -1:
        return []

    # Split Data and returns Array
    return data.split('\n')
Ejemplo n.º 2
0
def getRemoteChecksumList(url):
    # Download from URL
    data = lxtools.getRemoteData(url + '/SHASUMS.txt')

    # Exception or Abort
    if data == -1:
        return []

    # Split Data and returns Array
    return data.split('\n')
Ejemplo n.º 3
0
def getRemoteCatalog(localcatalogonly=False):
    catalog = dict()
    bbscatalogfile = os.path.join(lxtools.getBaboonStackDirectory(), 'baboonstack.package.conf')

    # First, try to read local package file if not exists then
    if os.path.exists(bbscatalogfile):
        catalogdata = lxtools.loadjson(bbscatalogfile)
        packages = catalogdata.get('packages', {})
        for pkgname in packages:
            catalog[pkgname] = {
                'version': [packages[pkgname].get('version')],
                'source': 'catalog',
                'info': packages[pkgname]
            }

        if localcatalogonly:
            return catalog

    # Download Filelist
    data = lxtools.getRemoteData(config.lxServer + '/')

    # If Exception occured
    if data == -1:
        return []

    # Gets the Package Name Mask for this OS
    packagenamemask = str(
        config.getConfigKey('packagemask')
    ).format(
        lxtools.getOsArchitecture()
    )

    # Get the available packages for this OS
    filelist = regex.findall('">(' + packagenamemask + ')<\/a', data)
    filelist.sort()

    # Add all versions
    for entry in filelist:
        a = os.path.splitext(entry)[0].split('-')

        if a[0] == 'baboonstack':
            continue

        if a[0] not in catalog:
            catalog[a[0]] = {
                'version': [],
                'source': 'server'
            }

        catalog[a[0]]['version'].append(a[1][1:])
        catalog[a[0]]['source'] = 'server'

    return catalog
Ejemplo n.º 4
0
def getRemoteList(url, filter=''):
    # Download from URL
    data = lxtools.getRemoteData(url)

    # Exception or Abort
    if data == -1:
        return []

    # FIX: Changes on node.js distribution site
    # Find all with correct Node Version Format
    srvNodeList = regex.findall('">v([0-9]+\.[0-9]+\.[0-9]+)\/<\/a', data)

    # If filter given, then
    if filter != '':
        srvNodeList = '\n'.join(srvNodeList)
        srvNodeList = regex.findall('(' + filter + '.*)\n', srvNodeList)

    # Return List
    return srvNodeList
Ejemplo n.º 5
0
def getLatestRemoteVersion():
    # Download Filelist
    data = lxtools.getRemoteData(config.lxServer + '/')

    # If Exception occured
    if data == -1:
        return ''

    # Get the available BaboonStack Packages for this OS
    packageName = str(config.getConfigKey('update', '')).format(lxtools.getOsArchitecture())
    versionList = regex.findall('">(' + packageName + ')<\/a', data)
    versionList.sort()

    # If list empty?
    if len(versionList) == 0:
        return ''

    # Returns the LAST entry
    return versionList.pop()
Ejemplo n.º 6
0
def getRemoteList(url, filter=''):
    # Download from URL
    data = lxtools.getRemoteData(url)

    # Exception or Abort
    if data == -1:
        return []

    # FIX: Changes on node.js distribution site
    # Find all with correct Node Version Format
    srvNodeList = regex.findall('">v([0-9]+\.[0-9]+\.[0-9]+)\/<\/a', data)

    # If filter given, then
    if filter != '':
        srvNodeList = '\n'.join(srvNodeList)
        srvNodeList = regex.findall('(' + filter + '.*)\n', srvNodeList)

    # Return List
    return srvNodeList
Ejemplo n.º 7
0
def getRemoteChecksum(filename):
    # Download from URL
    data = lxtools.getRemoteData(config.lxServer + '/SHASUMS.txt')

    # Exception or Abort
    if data == -1:
        return ''

    # Split data in to array and find checksum for file
    for checksumEntry in data.split('\n'):
        value = checksumEntry.split('  ')

        if len(value) != 2:
            continue

        if value[1] == filename:
            return value[0]

    # No checksum for this file, return empty string
    return ''