Changeset 3666

Show
Ignore:
Timestamp:
08/29/08 13:21:54 (5 years ago)
Author:
nopper
Message:

indent fixes and fixing a bug in sniff perspective while running as non-root user

Location:
branch/PacketManipulator/PM
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • branch/PacketManipulator/PM/Backend/Scapy/serialize.py

    r3649 r3666  
    158158        output = open(fname, 'w') 
    159159 
     160        self.depth_idx = 0 
    160161        self.writer = XMLGenerator(output, 'utf-8') 
     162 
    161163        self.writer.startDocument() 
    162         self.writer.startElementNS((None, 'PMScapySequence'), 
    163                                           'PMScapySequence', {}) 
    164         self.writer.characters('\n') 
     164        self.startElementNS((None, 'PMScapySequence'), 
     165                                   'PMScapySequence', {}) 
    165166 
    166167        self.current_node = None 
     
    172173        self.current_node = None 
    173174 
    174         self.writer.endElementNS((None, 'PMScapySequence'), 
    175                                         'PMScapySequence') 
    176         self.writer.characters('\n') 
     175        self.endElementNS((None, 'PMScapySequence'), 
     176                                 'PMScapySequence') 
    177177 
    178178        self.writer.endDocument() 
    179179        output.close() 
    180180 
     181    def writeSpaces(self, prepend='', append=''): 
     182        idx = max(self.depth_idx - 1, 0) 
     183        txt = '%s%s%s' % (prepend, '  ' * idx, append) 
     184 
     185        if txt: 
     186            self.writer.characters(txt) 
     187 
     188    def startElementNS(self, name, qname, attrs, indent=True): 
     189        if indent: 
     190            self.writer.characters('\n') 
     191 
     192        self.depth_idx += 1 
     193 
     194        self.writeSpaces() 
     195        self.writer.startElementNS(name, qname, attrs) 
     196 
     197    def endElementNS(self, name, qname, indent=True): 
     198        if indent: 
     199            self.writeSpaces('\n') 
     200 
     201        self.writer.endElementNS(name, qname) 
     202 
     203        self.depth_idx -= 1 
     204 
    181205    def write_node(self, node): 
    182         spaces = ' ' * (self.current_node.get_depth() + 1) 
    183  
    184         self.writer.characters(spaces) 
    185206        self.start_xml_node(node.get_data()) 
    186207 
     
    189210            self.write_node(child_node) 
    190211 
    191         self.writer.characters(spaces) 
    192212        self.end_xml_node() 
    193         self.writer.characters('\n') 
    194213 
    195214    def start_xml_node(self, seq_packet): 
     
    204223 
    205224        attrs = AttributesNSImpl(attr_vals, attr_qnames) 
    206         self.writer.startElementNS((None, 'SequencePacket'), 
    207                                           'SequencePacket', attrs) 
     225        self.startElementNS((None, 'SequencePacket'), 
     226                                   'SequencePacket', attrs) 
    208227 
    209228        self.start_xml_packet(seq_packet.packet) 
    210229 
    211230    def end_xml_node(self): 
    212         self.writer.endElementNS((None, 'SequencePacket'), 
    213                                         'SequencePacket') 
     231        self.endElementNS((None, 'SequencePacket'), 
     232                                 'SequencePacket') 
    214233 
    215234    def start_xml_packet(self, metapacket): 
     
    217236        protocols.reverse() 
    218237 
    219         self.writer.characters('\n') 
    220         spaces = ' ' * (self.current_node.get_depth() + 4) 
    221  
    222238        for proto in protocols: 
    223             self.writer.characters(' ' * (self.current_node.get_depth() + 2)) 
    224  
    225239            attr_vals = {(None, u'id') : Backend.get_proto_name(proto), 
    226240                         (None, u'time') : "%.6f" % proto.time} 
     
    228242 
    229243            attrs = AttributesNSImpl(attr_vals, attr_qnames) 
    230             self.writer.startElementNS((None, 'proto'), 'proto', attrs) 
    231  
    232             self.writer.characters('\n') 
     244            self.startElementNS((None, 'proto'), 'proto', attrs) 
     245 
    233246 
    234247            for field in Backend.get_proto_fields(proto): 
     
    239252                attr_qnames = {(None, u'id') : u'id'} 
    240253 
     254                self.writer.characters('\n') 
     255 
    241256                attrs = AttributesNSImpl(attr_vals, attr_qnames) 
    242  
    243                 self.writer.characters(spaces) 
    244                 self.writer.startElementNS((None, 'field'), 'field', attrs) 
    245  
     257                self.startElementNS((None, 'field'), 'field', attrs, False) 
    246258                self.writer.characters(str(value)) 
    247  
    248                 self.writer.endElementNS((None, 'field'), 'field') 
    249                 self.writer.characters('\n') 
     259                self.endElementNS((None, 'field'), 'field', False) 
    250260 
    251261        for idx in xrange(len(protocols)): 
    252             self.writer.characters(spaces) 
    253             self.writer.endElementNS((None, 'proto'), 'proto') 
    254             self.writer.characters('\n') 
     262            self.endElementNS((None, 'proto'), 'proto') 
    255263 
    256264if __name__ == "__main__": 
  • branch/PacketManipulator/PM/Gui/Tabs/OperationsTab.py

    r3599 r3666  
    140140        if ret and self.session: 
    141141            self.session.sniff_page.clear() 
    142             self.session.sniff_page.reload() 
     142 
     143        self.session.sniff_page.reload() 
    143144 
    144145        return ret