An error occurred fetching the project authors.
  1. 04 May, 2022 1 commit
    • Arnaud Fontaine's avatar
      py2/py3: Make Products code compatible with both python2 and python3. · a17bb910
      Arnaud Fontaine authored
      Done through various 2to3 fixers (zope.fixers, modernize, future) and manual
      changes. This is a single commit so that we have a clearer picture of how code
      converted with my2to3 should look like.
      
      Except straightforward @implementer decorator 2to3 fixer, only product/ folder
      was considered as the goal was to be able to create an ERP5Site.
      
      * Use @implementer decorator introduced in zope.interface 3.6.0 (2010):
      
        The implements syntax used under Python 2.X does not work under 3.X, since it
        depends on how metaclasses are implemented and this has changed. Instead it
        now supports a decorator syntax (also under Python 2.X).
      
        Applied thanks to 2to3 `zope.fixers` package.
      
      * Use `six.moves` rather than `future` install_aliases() feature because the
        latter use unicode_literals and "wraps" module aliases so that unicode() are
        returned for text rather than str() (Python2 standard library). This notably
        breaks BusinessTemplate code which uses urllib quote() for filesystem paths...
      
      * No more unbound methods in python3 so use six.get_unbound_function().
      
      * dict.(iteritems,iterkeys,itervalues)() => six.\1(dict) thanks to `dict_six`
        2to3 fixer from `modernize`:
        $ python-modernize -w -f dict_six product/
      
      * Manually make sure that dict.{items,values,keys}() returns a real list when it
        is latter modified rather than a dict_{items,values,keys} (ensure_list()). By
        default, 2to3 blindly does list(dict.{items,values,keys}()) which is not
        acceptable from performances point of view. With my2to3, this will be possible
        to handle such case automatically.
      
      * Replace cStringIO.StringIO() by six.moves.cStringIO() (a module alias for
        cStringIO.StringIO() on py2 and io.StringIO() on py3).
      
      * Use six.text_type which maps to unicode() on py2 and str() on py3. This also
        makes a clearer difference between text and binary strings.
      
      * Replace map()/filter() with lambda function by list comprehension (this has
        the benefit to avoid casting to list for py3 as it returns iterators).
      a17bb910
  2. 04 Sep, 2014 1 commit
  3. 23 Dec, 2010 1 commit
    • Julien Muchembled's avatar
      PortalTransforms: merge upstream revision 10366 (17/01/09) · 4adafd42
      Julien Muchembled authored
      Conflicts:
      	Products/PortalTransforms/Extensions/Install.py
      	Products/PortalTransforms/HISTORY.txt
      	Products/PortalTransforms/Transform.py
      	Products/PortalTransforms/TransformEngine.py
      	Products/PortalTransforms/chain.py
      	Products/PortalTransforms/configure.zcml
      	Products/PortalTransforms/data.py
      	Products/PortalTransforms/interfaces.py
      	Products/PortalTransforms/libtransforms/commandtransform.py
      	Products/PortalTransforms/libtransforms/piltransform.py
      	Products/PortalTransforms/libtransforms/retransform.py
      	Products/PortalTransforms/tests/test_engine.py
      	Products/PortalTransforms/tests/test_transforms.py
      	Products/PortalTransforms/transforms/broken.py
      	Products/PortalTransforms/transforms/html_body.py
      	Products/PortalTransforms/transforms/identity.py
      	Products/PortalTransforms/transforms/image_to_html.py
      	Products/PortalTransforms/transforms/lynx_dump.py
      	Products/PortalTransforms/transforms/markdown_to_html.py
      	Products/PortalTransforms/transforms/pdf_to_html.py
      	Products/PortalTransforms/transforms/pdf_to_text.py
      	Products/PortalTransforms/transforms/python.py
      	Products/PortalTransforms/transforms/rest.py
      	Products/PortalTransforms/transforms/rtf_to_html.py
      	Products/PortalTransforms/transforms/rtf_to_xml.py
      	Products/PortalTransforms/transforms/safe_html.py
      	Products/PortalTransforms/transforms/st.py
      	Products/PortalTransforms/transforms/text_pre_to_html.py
      	Products/PortalTransforms/transforms/text_to_html.py
      	Products/PortalTransforms/transforms/textile_to_html.py
      	Products/PortalTransforms/transforms/word_to_html.py
      	Products/PortalTransforms/unsafe_transforms/command.py
      	Products/PortalTransforms/unsafe_transforms/xml.py
      	Products/PortalTransforms/utils.py
      	Products/PortalTransforms/version.txt
      
      git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@41725 20353a03-c40f-0410-a6d1-a30d3c3de9de
      4adafd42
  4. 16 Oct, 2009 1 commit
  5. 07 Oct, 2009 1 commit
  6. 22 Oct, 2008 1 commit
  7. 28 Sep, 2007 2 commits