1import pdb
2
3from plasTeX import Command
4from plasTeX.Logging import getLogger
5
6
7class settrace(Command):
8    def invoke(self, tex):
9        document = self.ownerDocument
10        config = document.config
11        context = document.context
12        pdb.set_trace()
13
14
15class setloglevel(Command):
16    args = 'logger:str level:str'
17
18    def invoke(self, tex):
19        self.parse(tex)
20        logger_name = self.attributes['logger']
21        level = self.attributes['level']
22        logger = getLogger(logger_name)
23        logger.setLevel(level)
24
25        config = self.ownerDocument.config
26        config['logging'].data[logger_name].setValue(level)
27
28
29def ProcessOptions(options, document):
30    if 'post_parse_trace' in options:
31        def trace_callback():
32            config = document.config
33            context = document.context
34            pdb.set_trace()
35        document.postParseCallbacks.append(trace_callback)
36