(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:59: [R, JSONGatewayRequest.getFormat] Method could be a function
src/python/osrf/gateway.py:82: [R, JSONGatewayRequest.encodeParam] Method could be a function
src/python/osrf/gateway.py:90: [R, XMLGatewayRequest.getFormat] Method could be a function
src/python/osrf/gateway.py:96: [R, XMLGatewayRequest.handleResponse] Method could be a function
src/python/osrf/gateway.py:108: [R, XMLGatewayRequest.encodeParam] Method could be a function
src/python/osrf/gateway.py:125: [R, XMLGatewayParser.__getAttr] Method could be a function
src/python/osrf/gateway.py:131: [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
======
2022 statements analysed.

External dependencies
---------------------
::

    dns 
      \-resolver (opensrf)
    memcache (osrf.cache)
    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)



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.06       |11.52    |
+---------+-------+-----------+-----------+------------+---------+
|function |62     |62         |=          |64.52       |0.00     |
+---------+-------+-----------+-----------+------------+---------+



Messages by category
--------------------

+-----------+-------+---------+-----------+
|type       |number |previous |difference |
+===========+=======+=========+===========+
|convention |252    |252      |=          |
+-----------+-------+---------+-----------+
|refactor   |28     |28       |=          |
+-----------+-------+---------+-----------+
|warning    |90     |90       |=          |
+-----------+-------+---------+-----------+
|error      |29     |29       |=          |
+-----------+-------+---------+-----------+



% errors / warnings by module
-----------------------------

+---------------------+------+--------+---------+-----------+
|module               |error |warning |refactor |convention |
+=====================+======+========+=========+===========+
|osrf.ses             |37.93 |10.00   |21.43    |16.27      |
+---------------------+------+--------+---------+-----------+
|osrf.net             |27.59 |2.22    |10.71    |7.14       |
+---------------------+------+--------+---------+-----------+
|osrf.gateway         |13.79 |11.11   |25.00    |21.83      |
+---------------------+------+--------+---------+-----------+
|osrf.net_obj         |3.45  |11.11   |10.71    |3.17       |
+---------------------+------+--------+---------+-----------+
|osrf.server          |3.45  |8.89    |3.57     |0.00       |
+---------------------+------+--------+---------+-----------+
|osrf.app             |3.45  |7.78    |7.14     |3.97       |
+---------------------+------+--------+---------+-----------+
|osrf.http_translator |3.45  |6.67    |10.71    |6.35       |
+---------------------+------+--------+---------+-----------+
|osrf.xml_obj         |3.45  |6.67    |0.00     |2.78       |
+---------------------+------+--------+---------+-----------+
|osrf.json            |3.45  |0.00    |0.00     |2.78       |
+---------------------+------+--------+---------+-----------+
|osrf.log             |0.00  |12.22   |0.00     |7.94       |
+---------------------+------+--------+---------+-----------+
|opensrf              |0.00  |6.67    |0.00     |6.75       |
+---------------------+------+--------+---------+-----------+
|osrf.cache           |0.00  |6.67    |0.00     |3.97       |
+---------------------+------+--------+---------+-----------+
|osrf.system          |0.00  |4.44    |0.00     |1.98       |
+---------------------+------+--------+---------+-----------+
|osrf.set             |0.00  |2.22    |0.00     |1.59       |
+---------------------+------+--------+---------+-----------+
|osrf.conf            |0.00  |2.22    |0.00     |1.19       |
+---------------------+------+--------+---------+-----------+
|osrf.ex              |0.00  |1.11    |0.00     |1.19       |
+---------------------+------+--------+---------+-----------+



Messages
--------

+-----------+------------+
|message id |occurrences |
+===========+============+
|C0111      |112         |
+-----------+------------+
|C0103      |69          |
+-----------+------------+
|C0301      |61          |
+-----------+------------+
|E1101      |27          |
+-----------+------------+
|R0201      |15          |
+-----------+------------+
|W0603      |11          |
+-----------+------------+
|W0212      |8           |
+-----------+------------+
|C0321      |8           |
+-----------+------------+
|W0702      |7           |
+-----------+------------+
|W0602      |7           |
+-----------+------------+
|W0703      |6           |
+-----------+------------+
|W0611      |5           |
+-----------+------------+
|W0231      |5           |
+-----------+------------+
|W0122      |5           |
+-----------+------------+
|W0105      |5           |
+-----------+------------+
|F0401      |5           |
+-----------+------------+
|W0622      |4           |
+-----------+------------+
|W0613      |4           |
+-----------+------------+
|W0612      |4           |
+-----------+------------+
|W0301      |4           |
+-----------+------------+
|W0102      |4           |
+-----------+------------+
|W1401      |3           |
+-----------+------------+
|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.45/10 (previous run: 7.45/10)

Duplication
-----------

+-------------------------+------+---------+-----------+
|                         |now   |previous |difference |
+=========================+======+=========+===========+
|nb duplicated lines      |0     |0        |=          |
+-------------------------+------+---------+-----------+
|percent duplicated lines |0.000 |0.000    |=          |
+-------------------------+------+---------+-----------+



Raw metrics
-----------

+----------+-------+------+---------+-----------+
|type      |number |%     |previous |difference |
+==========+=======+======+=========+===========+
|code      |2235   |68.12 |2235     |=          |
+----------+-------+------+---------+-----------+
|docstring |383    |11.67 |383      |=          |
+----------+-------+------+---------+-----------+
|comment   |345    |10.52 |345      |=          |
+----------+-------+------+---------+-----------+
|empty     |318    |9.69  |318      |=          |
+----------+-------+------+---------+-----------+