示例#1
0
    def get_data(self, cfg):
        out = Popen('df -h -T', shell=True, stdout=PIPE).stdout.readlines()
        out.remove(out[0])
        for i in xrange(len(out)):
            out[i] = out[i].split()

        return {'filesystems': out}
示例#2
0
def get_sub(tt_id, tt_intro, sub):
    """Get TED Subtitle in JSON format & convert it to SRT Subtitle."""

    def srt_time(tst):
        """Format Time from TED Subtitles format to SRT time Format."""
        secs, mins, hours = ((tst / 1000) % 60), (tst / 60000), (tst / 3600000)
        right_srt_time = ("{0:02d}:{1:02d}:{2:02d},{3:3.0f}".
                          format(int(hours), int(mins), int(secs),
                                 divmod(secs, 1)[1] * 1000))
        return right_srt_time

    srt_content = ''
    sub_log = ''
    tt_url = 'http://www.ted.com/talks'
    sub_url = '{0}/subtitles/id/{1}/lang/{2}'.format(tt_url, tt_id, sub[-7:-4])
    # Get JSON sub
    if FOUND:
        json_file = Popen(['wget', '-q', '-O', '-', sub_url],
                          stdout=PIPE).stdout.readlines()

        if json_file:
            for line in json_file:
                if line.find('captions') == -1 and line.find('status') == -1:
                    json_file.remove(line)
        else:
            sub_log += "Subtitle '{0}' not found.{1}".format(sub, os.linesep)
    else:
        json_file = urllib2.urlopen(sub_url).readlines()
    if json_file:
        try:
            json_object = json.loads(json_file[0])
            if 'captions' in json_object:
                caption_idx = 1
                if not json_object['captions']:
                    sub_log += ("Subtitle '{0}' not available.{1}".
                                format(sub, os.linesep))
                for caption in json_object['captions']:
                    start = tt_intro + caption['startTime']
                    end = start + caption['duration']
                    idx_line = '{0}'.format(caption_idx)
                    time_line = '{0} --> {1}'.format(srt_time(start),
                                srt_time(end))
                    text_line = '{0}'.format(caption['content'].
                                             encode('utf-8'))
                    srt_content += '\n'.join([idx_line, time_line, text_line,
                                             '\n'])
                    caption_idx += 1
            elif 'status' in json_object:
                sub_log += ("This is an error message returned by TED:{0}{0} "
                            "- {1} {0}{0}Probably because the subtitle '{2}' "
                            "is not available.{0}{0}{0}"
                            "".format(os.linesep,
                                      json_object['status']['message'],
                                      sub))

        except ValueError:
            sub_log += ("Subtitle '{0}' it's a malformed json file.{1}".
                        format(sub, os.linesep))
    return srt_content, sub_log
示例#3
0
def get_sub(tt_id, tt_intro, sub):
    """Get TED Subtitle in JSON format & convert it to SRT Subtitle."""
    def srt_time(tst):
        """Format Time from TED Subtitles format to SRT time Format."""
        secs, mins, hours = ((tst / 1000) % 60), (tst / 60000), (tst / 3600000)
        right_srt_time = ("{0:02d}:{1:02d}:{2:02d},{3:3.0f}".format(
            int(hours), int(mins), int(secs),
            divmod(secs, 1)[1] * 1000))
        return right_srt_time

    srt_content = ''
    sub_log = ''
    tt_url = 'http://www.ted.com/talks'
    sub_url = '{0}/subtitles/id/{1}/lang/{2}'.format(tt_url, tt_id, sub[-7:-4])
    # Get JSON sub
    if FOUND:
        json_file = Popen(['wget', '-q', '-O', '-', sub_url],
                          stdout=PIPE).stdout.readlines()

        if json_file:
            for line in json_file:
                if line.find('captions') == -1 and line.find('status') == -1:
                    json_file.remove(line)
        else:
            sub_log += "Subtitle '{0}' not found.{1}".format(sub, os.linesep)
    else:
        json_file = urllib2.urlopen(sub_url).readlines()
    if json_file:
        try:
            json_object = json.loads(json_file[0])
            if 'captions' in json_object:
                caption_idx = 1
                if not json_object['captions']:
                    sub_log += ("Subtitle '{0}' not available.{1}".format(
                        sub, os.linesep))
                for caption in json_object['captions']:
                    start = tt_intro + caption['startTime']
                    end = start + caption['duration']
                    idx_line = '{0}'.format(caption_idx)
                    time_line = '{0} --> {1}'.format(srt_time(start),
                                                     srt_time(end))
                    text_line = '{0}'.format(
                        caption['content'].encode('utf-8'))
                    srt_content += '\n'.join(
                        [idx_line, time_line, text_line, '\n'])
                    caption_idx += 1
            elif 'status' in json_object:
                sub_log += ("This is an error message returned by TED:{0}{0} "
                            "- {1} {0}{0}Probably because the subtitle '{2}' "
                            "is not available.{0}{0}{0}"
                            "".format(os.linesep,
                                      json_object['status']['message'], sub))

        except ValueError:
            sub_log += ("Subtitle '{0}' it's a malformed json file.{1}".format(
                sub, os.linesep))
    return srt_content, sub_log
示例#4
0
def list_contents(lst):
    """ Return the list of e-mail addresses on the specified mailing list """
    contents = Popen([MM_PATH + "list_members", lst], stdout=PIPE, stderr=PIPE).communicate()[0].split('\n')

    try:
        # It seems the empty string gets dragged into this list.
        contents.remove('')
    except:
        pass

    return contents
示例#5
0
def preprocessFile(filename):
    global CASource, protectedFunctions
    
    headerfile = filename.split('/')[-1][:-2]
    
    # Remove comments
    data = Popen(["gcc", "-fpreprocessed", "-dD", "-E", filename], stdout=PIPE).communicate()[0].splitlines(True)
    if not len(data):
        print("Error: Not a valid input file")
        sys.exit(0)
    
    # preprocessor comments
    data.remove(data[0])

    while('#include' in data[0]):
        CASource[0] += data.pop(0)
    CASource[0] += '\n#include "autogen_ca_header.h"\n\n'
    
    data[0] += "typedef struct aes_key_struct {\n\tint dummy;\n} AES_KEY;\ntypedef struct rsa_key_struct {\n\tint dummy;\n} RSA;\ntypedef unsigned long int uint32_t;\ntypedef unsigned long size_t;\n"

    # Search secure annotations
    for line in reversed(data):
        if '#pragma secure' in line:
            name = line.split()[-1]
            if ' function ' in line:
                protectedFunctions.append(FunctionObject(name))
            # Currently appends a name, not an object
            elif ' global ' in line:
                globalVariables.append(name)
            data.remove(line)
    
    for i in range(len(data)-1, -1, -1):
        if '#pragma shared var' in data[i]:
            funcIndex = i
            # Find name of the function
            while '#pragma shared var' in data[funcIndex]:
                funcIndex -= 1
            
            # Determine whether the function is marked as secure
            for func in protectedFunctions:
                if func.name in data[funcIndex]:
                    obj = ParameterObject(data[i].split()[-1], '', 1)
                    sharedVariables.append((func.name, obj))
        
        elif '#pragma shared header' in data[i]:
            TASource.append('\n#include "'+line.split()[-1]+'"\n')
    
    protectedFunctions = protectedFunctions[::-1]
    
    return ''.join(data)
def _sortVersionsWithAtlas(versions, versionSorterDir="versionSorter/"):
    """
    Returns sorted list of given verisons using Atlas versionSorter

    :param versions: versions to sort.
    :param versionSorterDir: directory with version sorter maven project
    :returns: sorted versions.
    """
    jarLocation = versionSorterDir + "target/versionSorter.jar"
    if not os.path.isfile(jarLocation):
        logging.debug("Version sorter jar '%s' not found, running 'mvn clean package' in '%s'",
                      jarLocation,
                      versionSorterDir)
        Popen(["mvn", "clean", "package"], cwd=versionSorterDir).wait()
    args = ["java", "-jar", jarLocation] + versions
    ret = Popen(args, stdout=PIPE).communicate()[0].split('\n')[::-1]
    ret.remove("")
    return ret
def available_images(request):
    running = is_running('/usr/local/bin/tklpatch-getimage') 
    if len(running) > 0:
        return HttpResponseRedirect('/baseimages/getimage/')
    if os.path.exists(settings.TKLPATCH_BASEIMAGES_FILE):
        imagelist = Popen(['tklpatch-getimage','--list'],stdout=PIPE).communicate()[0]
        imagelist = imagelist.split("\n")
        imagelist.pop() #Remove empty element
        baseimagelist = list_images()
        for x in baseimagelist:
            image = x[:-4]
            try:
                imagelist.remove(image)
            except:
                pass
    else:
        imagelist = ''
    return render_to_response('baseimages/listimages.html',{"imagelist": imagelist}, context_instance=RequestContext(request))
示例#8
0
def _sortVersionsWithAtlas(versions, versionSorterDir="versionSorter/"):
    """
    Returns sorted list of given verisons using Atlas versionSorter

    :param versions: versions to sort.
    :param versionSorterDir: directory with version sorter maven project
    :returns: sorted versions.
    """
    jarLocation = versionSorterDir + "target/versionSorter.jar"
    if not os.path.isfile(jarLocation):
        logging.debug(
            "Version sorter jar '%s' not found, running 'mvn clean package' in '%s'",
            jarLocation, versionSorterDir)
        Popen(["mvn", "clean", "package"], cwd=versionSorterDir).wait()
    args = ["java", "-jar", jarLocation] + versions
    ret = Popen(args, stdout=PIPE).communicate()[0].split('\n')[::-1]
    ret.remove("")
    return ret
示例#9
0
def list_exploits():
    ls = Popen("ls", stdout=PIPE,
               shell=True).communicate()[0].decode().split("\n")
    for i in ls:
        try:
            os.chdir(i)
            os.chdir("..")
        except:
            ls.remove(i)
    try:
        ls.remove("msploit.py")
    except:
        pass
    for i in ls:
        if i.endswith(".py"): ls.remove(i)
        elif i.endswith(".md"): ls.remove(i)
    return ls