| .. _symilar: | 
 |  | 
 | Symilar | 
 | ------- | 
 |  | 
 | The console script ``symilar`` finds copy pasted blocks in a set of files. It provides a command line interface to the ``Similar`` class, which includes the logic for | 
 | Pylint's ``duplicate-code`` message. | 
 | It can be invoked with:: | 
 |  | 
 |   symilar [-d|--duplicates min_duplicated_lines] [-i|--ignore-comments] [--ignore-docstrings] [--ignore-imports] [--ignore-signatures] file1... | 
 |  | 
 | All files that shall be checked have to be passed in explicitly, e.g.:: | 
 |  | 
 |   symilar foo.py, bar.py, subpackage/spam.py, subpackage/eggs.py | 
 |  | 
 | ``symilar`` produces output like the following:: | 
 |  | 
 |   17 similar lines in 2 files | 
 |   ==tests/data/clientmodule_test.py:3 | 
 |   ==tests/data/suppliermodule_test.py:12 | 
 |     class Ancestor: | 
 |         """ Ancestor method """ | 
 |         __implements__ = (Interface,) | 
 |         cls_member = DoNothing() | 
 |  | 
 |         def __init__(self, value): | 
 |             local_variable = 0 | 
 |             self.attr = 'this method shouldn\'t have a docstring' | 
 |             self.__value = value | 
 |  | 
 |         def get_value(self): | 
 |             """ nice docstring ;-) """ | 
 |             return self.__value | 
 |  | 
 |         def set_value(self, value): | 
 |             self.__value = value | 
 |             return 'this method shouldn\'t have a docstring' | 
 |   TOTAL lines=58 duplicates=17 percent=29.31 |