def test_apkpath(testpath):
    try:
        if fs.isfile(testpath) and testpath.endswith('.apk'):
            return True
        elif fs.isdir(testpath):
            for item in fs.ls(testpath):
                if fs.isfile(fs.join(testpath,item)) and item.endswith('.apk'):
                    return True
            print('Specified directory has no apk files in it')
            return False
    except Exception as e:
        print('{0} does not exist'.format(testpath))
        return False
def get_incomplete_executions(execomponents):
    returnlist = []
    for n, execomponent in enumerate(execomponents):
        if fs.isfile(execomponent.resultdir, s.runconf):
            if not is_complete_execution(execomponent):
                returnlist.append(execomponent)
    return returnlist
Beispiel #3
0
def get_finished_apknames(execomponent):
    if not fs.isfile(execomponent.resultdir, 'results.csv'):
        return []
    returnlist = []
    with open(fs.join(execomponent.resultdir, 'results.csv')) as csv:
        for line in csv:
            returnlist.append(line.split(',', 2)[1])
    return returnlist
def get_finished_apknames(result_csv):
    returnlist = []
    if not fs.isfile(result_csv):
        return []
    with open(result_csv) as csv:
        for line in csv:
            returnlist.append(line.split(',', 2)[1])
    return returnlist
 def __init__(self, config):
     try:
         if not fs.isfile(config):
             return
     except Exception as e:
         return
     dictionary = self.reader(config)
     self.deps = dictionary[Phase.DEPS]
     self.pkgs = dictionary[Phase.PKGS]
def get_execution_components(components):
    execomponents = []
    if fs.isdir(s.resultsdir):
        for item in fs.lsonlydir(s.resultsdir, full_paths=True):
            if fs.isfile(item, s.runconf):
                execomponents.append(
                    comp.ExecutionComponent(components,
                                            fs.join(item, s.runconf)))
    return execomponents
Beispiel #7
0
    def get_available_RAM(self):
        if not fs.isfile('/proc/meminfo'):
            raise ValueError('could not find /proc/meminfo')

        with open('/proc/meminfo') as f:
            for line in f:
                if 'MemAvailable' in line:
                    line = line[:-1]
                    memavailable = line.split(' ')[-2]
                    memtype = line.split(' ')[-1]
                    return self.get_GB(int(memavailable), memtype)
        raise RuntimeError('could not find memAvailable in /proc/meminfo')
def get_components():
    components = []
    installers = get_installer_dirs()
    for item in installers:
        if not fs.isfile(s.installersdir,item,'install.py'):
            print('Error in "{0}": No install.py found!'.format(item))
            continue
        elif not fs.isfile(s.installersdir,item,'run.py'):
            print('Error in "{0}": No run.py found!'.format(item))
            continue
        elif not fs.isfile(s.installersdir,item,'analyse.py'):
            print('Error in "{0}": No analyse.py found!'.format(item))
            continue
        installmod = 'installers.{0}.install'.format(item)
        runmod = 'installers.{0}.run'.format(item)
        analysemod = 'installers.{0}.analyse'.format(item)

        installerloc = fs.join(s.installersdir,item)
        installloc = fs.join(s.installdir,item)
        component = cmpnt.Component(installmod, runmod, analysemod, installerloc, installloc)
        components.append(component)
    components.sort()
    return components
def ask_path(question, must_exist=True):
    while True:
        print(question)
        print('Paths may be absolute or relative to your working directory')
        print('Working directory: {0}'.format(fs.cwd()))
        print('Please specify a path:')
        choice = input('')
        choice = fs.abspath(choice)
        if not fs.isdir(fs.dirname(choice)):
            print('Error: no such directory - "{0}"'.format(
                fs.dirname(choice)))
        elif must_exist:
            if fs.exists(choice):
                return choice
            else:
                print('"{0}" does not exist'.format(choice))
        else:
            if fs.isfile(choice):
                if standard_yesno('"{0}" exists, override?'.format(choice)):
                    return choice
            elif fs.isdir(choice):
                print('"{0}" is a directory'.format(choice))
        print('')
Beispiel #10
0
 def check_can_analyse(self):
     return fs.isfile(s.installersdir,str(self.methodcomponent),'analyse.py')