No config file found, using default configuration Open-ILS/src/python/setup.py:1: [C] Missing docstring Open-ILS/src/python/oils/event.py:26: [C] Line too long (114/80) Open-ILS/src/python/oils/event.py:31: [W] XXX eventually, add events file parsing... Open-ILS/src/python/oils/event.py:1: [C] Missing docstring Open-ILS/src/python/oils/event.py:1: [F] Unable to import 'osrf.ex' Open-ILS/src/python/oils/event.py:3: [R, Event] Too many instance attributes (9/7) Open-ILS/src/python/oils/event.py:6: [W, Event.__init__] Dangerous default value {} as argument Open-ILS/src/python/oils/event.py:10: [W, Event.__init__] No exception type(s) specified Open-ILS/src/python/oils/event.py:33: [C, Event.to_ex] Missing docstring Open-ILS/src/python/oils/event.py:59: [W, Event.parse_and_raise] Exception doesn't inherit from standard "Exception" class Open-ILS/src/python/oils/__init__.py:1: [C] Missing docstring Open-ILS/src/python/oils/org.py:35: [C] Line too long (84/80) Open-ILS/src/python/oils/org.py:67: [C] Line too long (87/80) Open-ILS/src/python/oils/org.py:102: [C] Line too long (93/80) Open-ILS/src/python/oils/org.py:107: [C] Line too long (82/80) Open-ILS/src/python/oils/org.py:143: [C] Line too long (89/80) Open-ILS/src/python/oils/org.py:158: [C] Line too long (123/80) Open-ILS/src/python/oils/org.py:1: [C] Missing docstring Open-ILS/src/python/oils/org.py:1: [F] Unable to import 'osrf.ses' Open-ILS/src/python/oils/org.py:13: [C, OrgUtil._verify_tree] Missing docstring Open-ILS/src/python/oils/org.py:43: [C, OrgUtil.get_org_unit] Missing docstring Open-ILS/src/python/oils/org.py:88: [C, OrgUtil.get_related_tree.trim_org] Missing docstring Open-ILS/src/python/oils/org.py:134: [C, OrgUtil.get_related_list.flatten] Missing docstring Open-ILS/src/python/oils/org.py:156: [W, OrgUtil.debug_tree] Unused variable 'i' Open-ILS/src/python/oils/srfsh.py:129: [W] TODO: load services for tab-complete from opensrf settings... Open-ILS/src/python/oils/srfsh.py:1: [C] Missing docstring Open-ILS/src/python/oils/srfsh.py:17: [F] Unable to import 'osrf.json' Open-ILS/src/python/oils/srfsh.py:33: [W, handle_login] Unused variable 'response' Open-ILS/src/python/oils/srfsh.py:61: [W, handle_auth_verify] Unused variable 'response' Open-ILS/src/python/oils/srfsh.py:101: [W, handle_idl] Access to a protected member _global_parser of a client class Open-ILS/src/python/oils/system.py:1: [C] Missing docstring Open-ILS/src/python/oils/system.py:16: [F] Unable to import 'osrf.log' Open-ILS/src/python/oils/system.py:17: [F] Unable to import 'osrf.system' Open-ILS/src/python/oils/system.py:21: [C, System] Missing docstring Open-ILS/src/python/oils/utils/csedit.py:179: [W] XXX improve param logging here Open-ILS/src/python/oils/utils/csedit.py:204: [W] XXX Open-ILS/src/python/oils/utils/csedit.py:20: [F] Unable to import 'osrf.const' Open-ILS/src/python/oils/utils/csedit.py:21: [F] Unable to import 'osrf.log' Open-ILS/src/python/oils/utils/csedit.py:22: [F] Unable to import 'osrf.ses' Open-ILS/src/python/oils/utils/csedit.py:116: [W, CSEditor.session] Unused argument 'ses' Open-ILS/src/python/oils/utils/csedit.py:174: [W, CSEditor.request] Dangerous default value [] as argument Open-ILS/src/python/oils/utils/csedit.py:193: [C, CSEditor.request] Invalid name "e" (should match [a-z_][a-z0-9_]{2,30}$) Open-ILS/src/python/oils/utils/csedit.py:203: [C, CSEditor.allowed] Missing docstring Open-ILS/src/python/oils/utils/csedit.py:206: [W, CSEditor.runMethod] Dangerous default value {} as argument Open-ILS/src/python/oils/utils/csedit.py:206: [C, CSEditor.runMethod] Invalid name "runMethod" (should match [a-z_][a-z0-9_]{2,30}$) Open-ILS/src/python/oils/utils/csedit.py:206: [C, CSEditor.runMethod] Missing docstring Open-ILS/src/python/oils/utils/csedit.py:230: [C, CSEditor.rawSearch] Invalid name "rawSearch" (should match [a-z_][a-z0-9_]{2,30}$) Open-ILS/src/python/oils/utils/csedit.py:230: [C, CSEditor.rawSearch] Missing docstring Open-ILS/src/python/oils/utils/csedit.py:235: [C, CSEditor.rawSearch2] Invalid name "rawSearch2" (should match [a-z_][a-z0-9_]{2,30}$) Open-ILS/src/python/oils/utils/csedit.py:235: [C, CSEditor.rawSearch2] Missing docstring Open-ILS/src/python/oils/utils/csedit.py:246: [C, CSEditor.fieldSearch] Invalid name "fieldSearch" (should match [a-z_][a-z0-9_]{2,30}$) Open-ILS/src/python/oils/utils/csedit.py:246: [C, CSEditor.fieldSearch] Missing docstring Open-ILS/src/python/oils/utils/csedit.py:249: [C] Invalid name "__editor_loaded" (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$) Open-ILS/src/python/oils/utils/csedit.py:250: [C, oilsLoadCSEditor] Invalid name "oilsLoadCSEditor" (should match [a-z_][a-z0-9_]{2,30}$) Open-ILS/src/python/oils/utils/csedit.py:255: [W, oilsLoadCSEditor] Using the global statement Open-ILS/src/python/oils/utils/csedit.py:274: [W, oilsLoadCSEditor] Use of the exec statement Open-ILS/src/python/oils/utils/csedit.py:24: [W] Unused import re Open-ILS/src/python/oils/utils/idl.py:18: [C] Line too long (85/80) Open-ILS/src/python/oils/utils/idl.py:93: [C] Line too long (82/80) Open-ILS/src/python/oils/utils/idl.py:95: [C] Line too long (89/80) Open-ILS/src/python/oils/utils/idl.py:98: [C] Line too long (89/80) Open-ILS/src/python/oils/utils/idl.py:103: [C] Line too long (84/80) Open-ILS/src/python/oils/utils/idl.py:104: [C] Line too long (84/80) Open-ILS/src/python/oils/utils/idl.py:106: [C] Line too long (88/80) Open-ILS/src/python/oils/utils/idl.py:107: [C] Line too long (90/80) Open-ILS/src/python/oils/utils/idl.py:144: [W] TODO: improve the format/content Open-ILS/src/python/oils/utils/idl.py:17: [F] Unable to import 'osrf.net_obj' Open-ILS/src/python/oils/utils/idl.py:17: [F] Unable to import 'osrf.log' Open-ILS/src/python/oils/utils/idl.py:17: [F] Unable to import 'osrf.ex' Open-ILS/src/python/oils/utils/idl.py:17: [F] Unable to import 'osrf.ses' Open-ILS/src/python/oils/utils/idl.py:36: [W, IDLParser.get_parser] Exception doesn't inherit from standard "Exception" class Open-ILS/src/python/oils/utils/idl.py:69: [C, IDLParser.set_IDL] Invalid name "set_IDL" (should match [a-z_][a-z0-9_]{2,30}$) Open-ILS/src/python/oils/utils/idl.py:77: [C, IDLParser.parse_IDL] Invalid name "parse_IDL" (should match [a-z_][a-z0-9_]{2,30}$) Open-ILS/src/python/oils/utils/idl.py:126: [R, IDLClass] Too many instance attributes (12/7) Open-ILS/src/python/oils/utils/idl.py:165: [W, IDLClass.get_field] No exception type(s) specified Open-ILS/src/python/oils/utils/idl.py:126: [R, IDLClass] Too few public methods (1/2) Open-ILS/src/python/oils/utils/idl.py:169: [R, IDLField] Too many instance attributes (8/7) Open-ILS/src/python/oils/utils/idl.py:169: [R, IDLField] Too few public methods (0/2) Open-ILS/src/python/oils/utils/idl.py:206: [R, IDLLink] Too few public methods (0/2) Open-ILS/src/python/oils/utils/idl.py:219: [W, _attr] Unused argument 'namespace' Open-ILS/src/python/oils/utils/__init__.py:1: [C] Missing docstring Open-ILS/src/python/oils/utils/utils.py:21: [F] Unable to import 'osrf.log' Open-ILS/src/python/oils/utils/utils.py:21: [F] Unable to import 'osrf.ses' Open-ILS/src/python/oils/utils/utils.py:28: [E, md5sum] Module 'hashlib' has no 'md5' member Open-ILS/src/python/oils/utils/utils.py:37: [C, unique] Invalid name "o" (should match [a-z_][a-z0-9_]{2,30}$) Open-ILS/src/python/oils/utils/utils.py:38: [C, unique] Invalid name "x" (should match [a-z_][a-z0-9_]{2,30}$) Report ====== 473 statements analysed. External dependencies --------------------- :: oils \-const (oils.org,oils.utils.csedit) | \-OILS_APP_ACTOR (oils.utils.idl) | \-OILS_NS_OBJ (oils.utils.idl) | \-OILS_NS_PERSIST (oils.utils.idl) | \-OILS_NS_REPORTER (oils.utils.idl) \-event (oils.org) \-utils \-csedit | \-oilsLoadCSEditor (oils.system) \-idl (oils.srfsh) | \-IDLParser (oils.utils.csedit,oils.system) \-utils \-md5sum (oils.srfsh) Duplication ----------- +-------------------------+------+---------+-----------+ | |now |previous |difference | +=========================+======+=========+===========+ |nb duplicated lines |0 |0 |= | +-------------------------+------+---------+-----------+ |percent duplicated lines |0.000 |0.000 |= | +-------------------------+------+---------+-----------+ Statistics by type ------------------ +---------+-------+-----------+-----------+------------+---------+ |type |number |old number |difference |%documented |%badname | +=========+=======+===========+===========+============+=========+ |module |11 |11 |= |36.36 |0.00 | +---------+-------+-----------+-----------+------------+---------+ |class |10 |10 |= |90.00 |0.00 | +---------+-------+-----------+-----------+------------+---------+ |method |46 |46 |= |82.61 |13.04 | +---------+-------+-----------+-----------+------------+---------+ |function |16 |16 |= |87.50 |6.25 | +---------+-------+-----------+-----------+------------+---------+ Messages by category -------------------- +-----------+-------+---------+-----------+ |type |number |previous |difference | +===========+=======+=========+===========+ |convention |44 |44 |= | +-----------+-------+---------+-----------+ |refactor |6 |6 |= | +-----------+-------+---------+-----------+ |warning |21 |21 |= | +-----------+-------+---------+-----------+ |error |1 |1 |= | +-----------+-------+---------+-----------+ % errors / warnings by module ----------------------------- +------------------+-------+--------+---------+-----------+ |module |error |warning |refactor |convention | +==================+=======+========+=========+===========+ |oils.utils.utils |100.00 |0.00 |0.00 |4.55 | +------------------+-------+--------+---------+-----------+ |oils.utils.csedit |0.00 |38.10 |0.00 |27.27 | +------------------+-------+--------+---------+-----------+ |oils.utils.idl |0.00 |19.05 |83.33 |22.73 | +------------------+-------+--------+---------+-----------+ |oils.event |0.00 |19.05 |16.67 |6.82 | +------------------+-------+--------+---------+-----------+ |oils.srfsh |0.00 |19.05 |0.00 |2.27 | +------------------+-------+--------+---------+-----------+ |oils.org |0.00 |4.76 |0.00 |25.00 | +------------------+-------+--------+---------+-----------+ Messages -------- +-----------+------------+ |message id |occurrences | +===========+============+ |C0111 |18 | +-----------+------------+ |C0301 |15 | +-----------+------------+ |F0401 |14 | +-----------+------------+ |C0103 |11 | +-----------+------------+ |W0511 |5 | +-----------+------------+ |W0612 |3 | +-----------+------------+ |W0102 |3 | +-----------+------------+ |R0903 |3 | +-----------+------------+ |R0902 |3 | +-----------+------------+ |W0710 |2 | +-----------+------------+ |W0702 |2 | +-----------+------------+ |W0613 |2 | +-----------+------------+ |W0611 |1 | +-----------+------------+ |W0603 |1 | +-----------+------------+ |W0212 |1 | +-----------+------------+ |W0122 |1 | +-----------+------------+ |E1101 |1 | +-----------+------------+ Global evaluation ----------------- Your code has been rated at 8.39/10 (previous run: 8.39/10) Raw metrics ----------- +----------+-------+------+---------+-----------+ |type |number |% |previous |difference | +==========+=======+======+=========+===========+ |code |563 |57.98 |563 |= | +----------+-------+------+---------+-----------+ |docstring |237 |24.41 |237 |= | +----------+-------+------+---------+-----------+ |comment |97 |9.99 |97 |= | +----------+-------+------+---------+-----------+ |empty |74 |7.62 |74 |= | +----------+-------+------+---------+-----------+