From: John P. R. <ro...@cs...> - 2018-06-12 00:35:29
|
Hi Joseph: In message <alp...@di...>, Joseph Myers writes: >A further note on these patches: > >The patches aimed to cover the listed issues for all .py files in the >source tree. But in fact there are various other Python files in the >source tree that also need such fixes; at least frontends/roundup.cgi >scripts/add-issue scripts/roundup-reminder scripts/spam-remover >scripts/weekly-report tools/base64. Would it be best to provide updated >versions of the relevant patches that also fix those scripts (at least >patches 1 (print), 6 (has_key), 16 (range), 20 (dict methods), 27 (urllib) >are affected), or to handle those scripts through separate patches? I would handle patches for scripts as a separate issue and a single patch file. I am not sure what level of testing we need to give them. Maybe add a disclaimer to READMe.txt that these are best effort. Ditto frontends. AFAIK, none of the frontend scripts are covered by unit tests, but they should be. We can't claim they are best effort I don't think. Also testing the zope frontend may be difficult without a running zope server. By having issues covering smaller sections of code, maybe we can get them applied faster. >There may also be Python fragments in other files affected by such issues, >but those are harder to find. In particular, the has_key issue affects >Python code embedded in .html templates, I would say the automated tools for the issues you suggest above would be good to apply to the detectors/extensions in the default tracker templates. The .html file fixes are trickier since the python is shoved through tal. But at least it shouldn't have any print() calls 8-). What would: <tal:askforinfo tal:condition="python:options['error_message'] or not request.form.has_key('@action')"> look like? Does <tal:askforinfo tal:condition="python:options['error_message'] or ( '@action' not in request.form )"> work? Similarly: <tr tal:repeat="start python:range(0, len(keywords), 4)"> <tal:block tal:repeat="n python:range(n_sort)" tal:condition="batch"> how do those convert? >and examples in documentation are affected by at least the print, >raise, has_key and dict methods issues. Much the same question >applies about whether those fixes are best combined with the fixes >for the same issues in .py files, or handled through separate >patches. I would say a separate patch/issue for doc fixes. We may be able to slipstream those (except maybe the print patches) into the 1.6 release since IIRC they don't require any special prep (like from future import print). That way the current docs will promote using 3.x compatible coding. Have a great day. -- -- rouilj John Rouillard =========================================================================== My employers don't acknowledge my existence much less my opinions. |