Ejemplo n.º 1
0
 def version(self, version):
     typeChecker(type(self).__name__, version, str, "version")
     categoryChecker(
         type(self).__name__, version, ["3.0", "4.0", "4.1"], "version")
     if self.__versions is UNSETVALUE:
         self.__versions = Versions()
     self.__versions.layer = version
Ejemplo n.º 2
0
 def versions(self, versions):
     typeChecker(type(self).__name__, versions, dict, "version")
     attack = UNSETVALUE
     if 'attack' in versions:
         attack = versions['attack']
     try:
         loadChecker(type(self).__name__, versions, ['layer', 'navigator'], "versions")
         self.__versions = Versions(versions['layer'], attack, versions['navigator'])
     except MissingParameters as e:
         handler(type(self).__name__, 'versions {} is missing parameters: '
                                      '{}. Skipping.'
                 .format(versions, e))
Ejemplo n.º 3
0
def getUpdatesFromPackage(aFiles, aDate):

    updates = []
    versions = Versions()
    types = Types()
    languages = Languages()
    date = core.dates.toString(aDate)

    for updateFile in aFiles:

        path = os.path.normpath(updateFile)
        kb = core.kb.getKB(updateFile)
        osVersion = versions.getVersion(updateFile)
        osType = types.getType(updateFile)
        language = languages.getLanguage(updateFile)

        updates.append(json.dumps({'Path': path,
                                   'KB': kb,
                                   'Version': osVersion,
                                   'Type': osType,
                                   'Language': language,
                                   'Date': date}))

    return updates
Ejemplo n.º 4
0
def fromPath(aPath):

    folders = os.listdir(aPath)
    updates = []

    for folder in folders:
        path = os.path.join(aPath, folder)
        try:
            updates.extend(fromPathAndDate(path, folder))
        except:
            date = datetime.datetime.now()
            date = core.dates.toString(date)
            updates.append(json.dumps({'Path': folder,
                                       'KB': core.kb.getKB(folder),
                                       'Version': Versions().getVersion(folder),
                                       'Type': Types().getType(folder),
                                       'Language': Languages().getLanguage(folder),
                                       'Date': date}))

    return updates
Ejemplo n.º 5
0
def updates4Target(aStorage, aVersion, aPlatform, aLanguage, aPathToReport):

    KBs = core.kb.getKBsFromReportFile(
        aPathToReport) if None != aPathToReport else None
    version = Versions().getVersion('{0}{1}{0}'.format(
        os.sep, aVersion.replace(' ', '')))
    platform = Types().getType('{0}{1}{0}'.format(os.sep, aPlatform))
    language = Languages().getLanguage('{0}{1}{0}'.format(os.sep, aLanguage))

    query = {}
    if None != KBs and KBs != []:
        query['KB'] = KBs
    if not isinstance(version, dict):
        query['Version'] = version
    if not isinstance(platform, dict):
        query['Type'] = platform
    if not isinstance(language, dict):
        query['Language'] = language

    updates = aStorage.get(query)
    Updates.sortByFieldUpToDown(updates, 'Path')

    return (updates, version, platform, language, KBs)
Ejemplo n.º 6
0
import os
import sys
import core.dirs
from core.storage import Uif
from core.types import Types
from core.updates import Updates
from core.versions import Versions
from core.languages import Languages

versions = Versions()
types = Types()
languages = Languages()

versions.mVersions['WindowsXP'] = versions.WinXP
versions.mVersions['WindowsServer2003'] = versions.Win2k3
versions.mVersions['Windows6.0'] = versions.Vista
versions.mVersions['Windows6.1'] = versions.Seven
versions.mVersions['Windows8-RT'] = versions.Eight
versions.mVersions['Windows8.1'] = versions.EightDotOne

types.mTypes['x86'] = types.x86
types.mTypes['x64'] = types.x64
types.mTypes['arm'] = types.ARM
types.mTypes['ia64'] = types.IA64

languages.mLanguages = {}
languages.mLanguages['NEU'] = languages.Neutral
languages.mLanguages['ARA'] = languages.Arabic
languages.mLanguages['CHS'] = languages.Chinese_Simplified
languages.mLanguages['CHT'] = languages.Chinese_Traditional
languages.mLanguages['CSY'] = languages.Czech
Ejemplo n.º 7
0
import os
import sys
import core.dirs
from core.storage import Uif
from core.types import Types
from core.updates import Updates
from core.versions import Versions
from core.languages import Languages

versions = Versions()
types = Types()
languages = Languages()

versions.mVersions['WindowsXP'] = versions.WinXP
versions.mVersions['WindowsServer2003'] = versions.Win2k3
versions.mVersions['Windows6.0'] = versions.Vista
versions.mVersions['Windows6.1'] = versions.Seven
versions.mVersions['Windows8-RT'] = versions.Eight
versions.mVersions['Windows8.1'] = versions.EightDotOne

types.mTypes['x86'] = types.x86
types.mTypes['x64'] = types.x64
types.mTypes['arm'] = types.ARM
types.mTypes['ia64'] = types.IA64

languages.mLanguages = {}
languages.mLanguages['NEU'] = languages.Neutral
languages.mLanguages['ARA'] = languages.Arabic
languages.mLanguages['CHS'] = languages.Chinese_Simplified
languages.mLanguages['CHT'] = languages.Chinese_Traditional
languages.mLanguages['CSY'] = languages.Czech