appy.pod for Python 3
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
appy
tests
.gitignore
README.rst
setup.py
tasks.py

README.rst

The appy package

The appypod project is a partial and meanwhile obsolete redistribution of Gaetan Delannay's Appy framework in order to make appy.pod available under Python 3.

This project is no longer needed. To use the author's development version you can now specify the following in your a requirements.txt file:

-e svn+https://svn.forge.pallavi.be/appy-dev/dev1#egg=appy

See my blog for details.

The remaining text is no longer relevant.

Note that it is only an excerpt of the full Appy framework: the pod subpackage and a few others which are needed for pod: utils, model, ui, http and xml.

Why

Gaetan is advancing with porting his Appy framework to Python 3, and his work is published on forge.pallavi.be, and we can easily check out a copy of the repository:

$ svn checkout https://svn.forge.pallavi.be/appy-python-3

But this repository cannot be installed in a standard way because it has no file setup.py. Gaetan "installs" it by adding into his site-packages a symbolic link to the trunk directory of the repository. We therefore cannot specify it in a requirements.txt file.

The only benefit of this fork is that you can add it to your :file:`requirements.txt` file:

git+https://github.com/lino-framework/appypod.git#egg=appy

A clear disadvantage of this fork is that it is behind the original. Gaetan continues to work on appy-python-3, and Luc has no plans to keep up-to-date. Both G and L and working on a solution.

This repository also adds a minimal test suite, but it is also being tested in the test suite of the Lino framework at https://travis-ci.org/lino-framework/book

Manual changes by LS

I added files :file:`setup.py`, :file:`tasks.py`, :file:`tests/__init__.py` and :file:`appy/setup_info.py`.

I manually fixed the following places which had trivial errors:

File "appy/pod/renderer.py", line 247, in renderXhtml
  if isinstance(s, unicode): s = s.encode('utf-8')
NameError: unicode

File "appy/pod/elements.py", line 170, in evaluate
  res = res.decode('utf-8')
AttributeError: 'str' object has no attribute 'decode'

File "appy/pod/elements.py", line 182, in evaluate
  res = unicode(res)
NameError: name 'unicode' is not defined

File "appy/utils/dates.py", line 66
  except DateTime.DateError, de:
                           ^
SyntaxError: invalid syntax

File "appy/pod/test/Tester.py", line 101
  exec 'import %s' % contextPkg
                 ^
SyntaxError: Missing parentheses in call to 'exec'

Others

Christian Jauvin contributed a fix to this distribution.

Stefan Klug started a similar attempt in 2015: https://github.com/stefanklug/appypod