示例#1
0
    def _inprog(self, inprog):
        template = "%11s %21s %7s %1s %5s %s"
        self._print(
            [template % ('ID', 'CLIENT', 'OP', 'A', 'LOCKW', 'NS / QUERY')])

        opsmax = self._maxy - self._y
        if len(inprog) > opsmax:
            # Leave room for '% more' line
            opsmax -= 1

        for op in inprog[:opsmax]:
            a = 'T' if op['active'] else 'F'
            lock = op.get('lockType') if op['waitingForLock'] else ''
            client = op.get('client', 'internal')
            ns_query = op['ns']
            if client == 'internal':
                ns_query += op.get('desc', '')
            query = op.get('query')
            if query:
                ns_query += " " + json.dumps(
                    stringify_query_dict(query))[:(self._maxx - 40)]
            self._print(
                [template % (op['opid'], client, op['op'], a, lock, ns_query)])

        if len(inprog) > opsmax:
            self._print(['( ... %d more ... )' % (len(inprog) - opsmax)])
示例#2
0
def stringify_query_dict(query):
    for k, v in query.iteritems():
        if isinstance(v, dict):
            query[k] = stringify_query_dict(v)
        elif isinstance(v, Binary):
            query[k] = "bin:" + hex(v)
        elif isinstance(v, basestring):
            pass
        else:
            query[k] = str(v)
    return query
示例#3
0
def stringify_query_dict(query):
    for k, v in query.iteritems():
        if isinstance(v, dict):
            query[k] = stringify_query_dict(v)
        elif isinstance(v, Binary):
            query[k] = "bin:" + hex(v)
        elif isinstance(v, basestring):
            pass
        else:
            query[k] = str(v)
    return query
示例#4
0
    def _inprog(self, inprog):
        template = "%11s %21s %7s %1s %5s %s"
        self._print([template % ('ID', 'CLIENT', 'OP', 'A', 'LOCKW', 'NS / QUERY')])

        opsmax = self._maxy - self._y
        if len(inprog) > opsmax:
            # Leave room for '% more' line
            opsmax -= 1

        for op in inprog[:opsmax]:
            a = 'T' if op['active'] else 'F'
            lock = op.get('lockType') if op['waitingForLock'] else ''
            client = op.get('client', 'internal')
            ns_query = op['ns']
            if client == 'internal':
                ns_query += op.get('desc', '')
            query = op.get('query')
            if query:
                ns_query += " " + json.dumps(stringify_query_dict(query))[:(self._maxx - 40)]
            self._print([template % (op['opid'], client, op['op'], a, lock, ns_query)])

        if len(inprog) > opsmax:
            self._print(['( ... %d more ... )' % (len(inprog) - opsmax)])