Code Duplication    Length = 15-15 lines in 2 locations

doorstop/gui/main.py 1 location

@@ 156-170 (lines=15) @@
153
        return True
154
155
156
def _log(func):
157
    """Log name and arguments."""
158
159
    @functools.wraps(func)
160
    def wrapped(self, *args, **kwargs):
161
        sargs = "{}, {}".format(
162
            ', '.join(repr(a) for a in args),
163
            ', '.join("{}={}".format(k, repr(v)) for k, v in kwargs.items()),
164
        )
165
        msg = "log: {}: {}".format(func.__name__, sargs.strip(", "))
166
        if not isinstance(self, ttk.Frame) or not self.ignore:
167
            log.debug(msg.strip())
168
        return func(self, *args, **kwargs)
169
170
    return wrapped
171
172
173
if __name__ == '__main__':

doorstop/gui/application.py 1 location

@@ 31-45 (lines=15) @@
28
log = common.logger(__name__)
29
30
31
def _log(func):
32
    """Log name and arguments."""
33
34
    @functools.wraps(func)
35
    def wrapped(self, *args, **kwargs):
36
        sargs = "{}, {}".format(
37
            ', '.join(repr(a) for a in args),
38
            ', '.join("{}={}".format(k, repr(v)) for k, v in kwargs.items()),
39
        )
40
        msg = "log: {}: {}".format(func.__name__, sargs.strip(", "))
41
        if not isinstance(self, ttk.Frame) or not self.ignore:
42
            log.debug(msg.strip())
43
        return func(self, *args, **kwargs)
44
45
    return wrapped
46
47
48
class Application(ttk.Frame):