view website/issues/html/home.classlist.html @ 5653:ba67e397f063

Fix string/bytes issues under python 3. 1) cgi/client.py: override cgi.FieldStorage's make_file so that file is always created in binary/byte mode. This means that json (and xml) are bytes not strings. 2) rest.py: try harder to find dicttoxml in roundup directory or on sys.path. This just worked under python 2 but python 3 only searches sys.path by default and does not search relative like python 2. 3) rest.py: replace headers.getheader call removed from python 3 with equivalent code. 4) rest.py: make value returned from dispatch into bytes not string. 5) test/caseinsensitivedict.py, test/test_CaseInsensitiveDict.py: get code from stackoverflow that implements a case insensitive key dict. So dict['foo'], dict['Foo'] are the same entry. Used for looking up headers in mocked http rewuset header array. 6) test/rest_common.py: rework tests for etags and rest to properly supply bytes to the called routines. Calls to s2b and b2s and use of BytesIO and overriding make_file in cgi.FieldStorage to try to make sure it works under python 3.
author John Rouillard <rouilj@ieee.org>
date Sun, 17 Mar 2019 19:28:26 -0400
parents c2d0d3e9099d
children
line wrap: on
line source

<tal:block metal:use-macro="templates/page/macros/icing">
<title metal:fill-slot="head_title" i18n:translate="">List of classes - <span
 i18n:name="tracker" tal:replace="config/TRACKER_NAME" /></title>
<span metal:fill-slot="body_title" tal:omit-tag="python:1"
 i18n:translate="">List of classes</span>
<td class="content" metal:fill-slot="content">
<table class="classlist">

<tal:block tal:repeat="cl db/classes">
 <tr>
  <th class="header" colspan="2" align="left">
   <a tal:attributes="href string:${cl/classname}"
      tal:content="python:cl.classname.capitalize()">classname</a>
  </th>
 </tr>
 <tr tal:repeat="prop cl/properties">
  <th tal:content="prop/_name">name</th>
  <td tal:content="prop/_prop">type</td>
 </tr>
</tal:block>

</table>
</td>

</tal:block>

Roundup Issue Tracker: http://roundup-tracker.org/