src/python/osrf/app.py:168: [R, Application.sysmethod_time] Method could be a function src/python/osrf/app.py:172: [R, Application.sysmethod_echo] Method could be a function src/python/osrf/gateway.py:71: [R, JSONGatewayRequest.getFormat] Method could be a function src/python/osrf/gateway.py:94: [R, JSONGatewayRequest.encodeParam] Method could be a function src/python/osrf/gateway.py:102: [R, XMLGatewayRequest.getFormat] Method could be a function src/python/osrf/gateway.py:108: [R, XMLGatewayRequest.handleResponse] Method could be a function src/python/osrf/gateway.py:120: [R, XMLGatewayRequest.encodeParam] Method could be a function src/python/osrf/gateway.py:137: [R, XMLGatewayParser.__getAttr] Method could be a function src/python/osrf/gateway.py:143: [R, XMLGatewayParser.startElement] Too many return statements (7/6) src/python/osrf/http_translator.py:105: [R, HTTPTranslator] Too many instance attributes (16/7) src/python/osrf/http_translator.py:160: [R, HTTPTranslator.process] Too many return statements (8/6) src/python/osrf/http_translator.py:160: [R, HTTPTranslator.process] Too many branches (16/12) src/python/osrf/net_obj.py:11: [R, NetworkRegistry] Too few public methods (1/2) src/python/osrf/net_obj.py:196: [R, __to_xml] Too many return statements (7/6) src/python/osrf/net_obj.py:196: [R, __to_xml] Too many branches (15/12) src/python/osrf/net.py:190: [R, Network.stream_closed] Method could be a function src/python/osrf/net.py:193: [R, Network.stream_error] Method could be a function src/python/osrf/net.py:197: [R, Network.disconnected] Method could be a function src/python/osrf/server.py:33: [R, Controller] Too many instance attributes (13/7) src/python/osrf/ses.py:66: [R, Session.wait] Method could be a function src/python/osrf/ses.py:94: [R, ClientSession] Too many instance attributes (8/7) src/python/osrf/ses.py:239: [R, Request.__init__] Too many arguments (6/5) src/python/osrf/ses.py:238: [R, Request] Too few public methods (0/2) src/python/osrf/ses.py:254: [R, ClientRequest.__init__] Too many arguments (6/5) src/python/osrf/ses.py:469: [R, MultiSession.Container] Too few public methods (0/2) src/python/osrf/apps/example.py:40: [R, Example.reverse] Method could be a function src/python/osrf/apps/example.py:59: [R, Example.session_test] Method could be a function src/python/osrf/apps/example.py:73: [R, Example.callback_test] Method could be a function Report ====== 2024 statements analysed. Duplication ----------- +-------------------------+------+---------+-----------+ | |now |previous |difference | +=========================+======+=========+===========+ |nb duplicated lines |0 |0 |= | +-------------------------+------+---------+-----------+ |percent duplicated lines |0.000 |0.000 |= | +-------------------------+------+---------+-----------+ Raw metrics ----------- +----------+-------+------+---------+-----------+ |type |number |% |previous |difference | +==========+=======+======+=========+===========+ |code |2237 |67.93 |2237 |= | +----------+-------+------+---------+-----------+ |docstring |391 |11.87 |391 |= | +----------+-------+------+---------+-----------+ |comment |345 |10.48 |345 |= | +----------+-------+------+---------+-----------+ |empty |320 |9.72 |320 |= | +----------+-------+------+---------+-----------+ Statistics by type ------------------ +---------+-------+-----------+-----------+------------+---------+ |type |number |old number |difference |%documented |%badname | +=========+=======+===========+===========+============+=========+ |module |19 |19 |= |10.53 |0.00 | +---------+-------+-----------+-----------+------------+---------+ |class |38 |38 |= |55.26 |0.00 | +---------+-------+-----------+-----------+------------+---------+ |method |165 |165 |= |66.67 |11.52 | +---------+-------+-----------+-----------+------------+---------+ |function |62 |62 |= |64.52 |0.00 | +---------+-------+-----------+-----------+------------+---------+ External dependencies --------------------- :: libxml2 (osrf.net) osrf \-app (opensrf,osrf.stack,osrf.server) | \-Application (osrf.apps.example) \-cache (osrf.system,osrf.http_translator) \-conf (osrf.ses,osrf.system,osrf.http_translator,osrf.server) \-const (osrf.ses,osrf.stack,osrf.server) | \-OSRF_APP_SESSION_CONNECTED (osrf.ses) | \-OSRF_APP_SESSION_CONNECTING (osrf.ses) | \-OSRF_APP_SESSION_DISCONNECTED (osrf.ses) | \-OSRF_APP_SETTINGS (osrf.set) | \-OSRF_JSON_CLASS_KEY (osrf.json,osrf.net_obj) | \-OSRF_JSON_PAYLOAD_KEY (osrf.json,osrf.net_obj) | \-OSRF_LOG_ACT (osrf.log) | \-OSRF_LOG_DEBUG (osrf.log) | \-OSRF_LOG_ERR (osrf.log) | \-OSRF_LOG_INFO (osrf.log) | \-OSRF_LOG_INTERNAL (osrf.log) | \-OSRF_LOG_TYPE_FILE (osrf.log) | \-OSRF_LOG_TYPE_STDERR (osrf.log) | \-OSRF_LOG_TYPE_SYSLOG (osrf.log) | \-OSRF_LOG_WARN (osrf.log) | \-OSRF_MESSAGE_TYPE_CONNECT (osrf.ses,osrf.http_translator) | \-OSRF_MESSAGE_TYPE_DISCONNECT (osrf.ses,osrf.http_translator) | \-OSRF_MESSAGE_TYPE_REQUEST (osrf.ses,osrf.http_translator) | \-OSRF_MESSAGE_TYPE_RESULT (osrf.ses) | \-OSRF_MESSAGE_TYPE_STATUS (osrf.ses,osrf.http_translator) | \-OSRF_METHOD_GET_HOST_CONFIG (osrf.set) | \-OSRF_STATUS_CONTINUE (osrf.http_translator) | \-OSRF_STATUS_TIMEOUT (osrf.http_translator) \-ex (osrf.ses,osrf.set,osrf.net,osrf.stack,osrf.conf) \-json (osrf.ses,opensrf,osrf.app,osrf.http_translator,osrf.stack,osrf.xml_obj) | \-to_json (osrf.cache) | \-to_object (osrf.cache,osrf.gateway) \-log (osrf.ses,osrf.net,osrf.cache,osrf.system,osrf.app,osrf.server,osrf.apps.example,osrf.json,osrf.stack,osrf.gateway,osrf.http_translator) \-net (osrf.ses,osrf.http_translator,osrf.server) | \-Network (osrf.system) | \-get_network_handle (osrf.system) | \-set_network_handle (osrf.system) \-net_obj (osrf.ses,osrf.set,osrf.conf) | \-NetworkObject (osrf.gateway,osrf.json) | \-new_object_from_hint (osrf.gateway) | \-parse_net_object (osrf.json) \-server (opensrf) \-ses (osrf.set,osrf.app,osrf.stack) \-set (opensrf,osrf.system,osrf.http_translator) \-stack (osrf.system,osrf.server) \-system (opensrf,osrf.http_translator,osrf.server) \-xml_obj (osrf.conf) simplejson (osrf.json) Messages by category -------------------- +-----------+-------+---------+-----------+ |type |number |previous |difference | +===========+=======+=========+===========+ |convention |250 |250 |= | +-----------+-------+---------+-----------+ |refactor |28 |28 |= | +-----------+-------+---------+-----------+ |warning |87 |87 |= | +-----------+-------+---------+-----------+ |error |28 |28 |= | +-----------+-------+---------+-----------+ % errors / warnings by module ----------------------------- +---------------------+------+--------+---------+-----------+ |module |error |warning |refactor |convention | +=====================+======+========+=========+===========+ |osrf.ses |39.29 |10.34 |21.43 |16.40 | +---------------------+------+--------+---------+-----------+ |osrf.net |28.57 |2.30 |10.71 |7.20 | +---------------------+------+--------+---------+-----------+ |osrf.gateway |14.29 |11.49 |25.00 |21.60 | +---------------------+------+--------+---------+-----------+ |osrf.net_obj |3.57 |11.49 |10.71 |3.20 | +---------------------+------+--------+---------+-----------+ |osrf.server |3.57 |9.20 |3.57 |0.00 | +---------------------+------+--------+---------+-----------+ |osrf.app |3.57 |8.05 |7.14 |4.00 | +---------------------+------+--------+---------+-----------+ |osrf.xml_obj |3.57 |3.45 |0.00 |2.80 | +---------------------+------+--------+---------+-----------+ |osrf.json |3.57 |0.00 |0.00 |2.80 | +---------------------+------+--------+---------+-----------+ |osrf.log |0.00 |12.64 |0.00 |8.00 | +---------------------+------+--------+---------+-----------+ |osrf.http_translator |0.00 |6.90 |10.71 |6.40 | +---------------------+------+--------+---------+-----------+ |opensrf |0.00 |6.90 |0.00 |6.40 | +---------------------+------+--------+---------+-----------+ |osrf.cache |0.00 |6.90 |0.00 |4.00 | +---------------------+------+--------+---------+-----------+ |osrf.system |0.00 |4.60 |0.00 |2.00 | +---------------------+------+--------+---------+-----------+ |osrf.set |0.00 |2.30 |0.00 |1.60 | +---------------------+------+--------+---------+-----------+ |osrf.conf |0.00 |2.30 |0.00 |1.20 | +---------------------+------+--------+---------+-----------+ |osrf.ex |0.00 |1.15 |0.00 |1.20 | +---------------------+------+--------+---------+-----------+ Messages -------- +-----------+------------+ |message id |occurrences | +===========+============+ |C0111 |111 | +-----------+------------+ |C0103 |68 | +-----------+------------+ |C0301 |61 | +-----------+------------+ |E1101 |26 | +-----------+------------+ |R0201 |15 | +-----------+------------+ |W0603 |11 | +-----------+------------+ |W0212 |8 | +-----------+------------+ |C0321 |8 | +-----------+------------+ |W0702 |7 | +-----------+------------+ |W0602 |7 | +-----------+------------+ |F0401 |7 | +-----------+------------+ |W0703 |6 | +-----------+------------+ |W0611 |5 | +-----------+------------+ |W0231 |5 | +-----------+------------+ |W0122 |5 | +-----------+------------+ |W0105 |5 | +-----------+------------+ |W0622 |4 | +-----------+------------+ |W0613 |4 | +-----------+------------+ |W0612 |4 | +-----------+------------+ |W0301 |4 | +-----------+------------+ |W0102 |4 | +-----------+------------+ |W0511 |3 | +-----------+------------+ |R0911 |3 | +-----------+------------+ |R0903 |3 | +-----------+------------+ |R0902 |3 | +-----------+------------+ |W0621 |2 | +-----------+------------+ |R0913 |2 | +-----------+------------+ |R0912 |2 | +-----------+------------+ |W0404 |1 | +-----------+------------+ |W0311 |1 | +-----------+------------+ |W0142 |1 | +-----------+------------+ |E1103 |1 | +-----------+------------+ |E0202 |1 | +-----------+------------+ |C0324 |1 | +-----------+------------+ |C0323 |1 | +-----------+------------+ Global evaluation ----------------- Your code has been rated at 7.50/10 (previous run: 7.50/10)