Code Duplication    Length = 15-15 lines in 2 locations

doorstop/gui/main.py 1 location

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

doorstop/gui/application.py 1 location

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