(view as text)
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 |2235     |+2.00      |
+----------+-------+------+---------+-----------+
|docstring |391    |11.87 |383      |+8.00      |
+----------+-------+------+---------+-----------+
|comment   |345    |10.48 |345      |=          |
+----------+-------+------+---------+-----------+
|empty     |320    |9.72  |318      |+2.00      |
+----------+-------+------+---------+-----------+



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    |251      |-1.00      |
+-----------+-------+---------+-----------+
|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)