forked from jan/debianmemberportfolio
Maintenance tasks
- switch to Poetry - document translations - update ChangeLog
This commit is contained in:
parent
d02f4906e1
commit
362b6dff35
13 changed files with 1497 additions and 173 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2023-06-03 Jan Dittberner <jan@dittberner.info>
|
||||||
|
* add updated translations from Weblate
|
||||||
|
* switch to Poetry for dependency management
|
||||||
|
* describe translation workflow in developer documentation
|
||||||
|
|
||||||
2022-09-24 Jan Dittberner <jan@dittberner.info>
|
2022-09-24 Jan Dittberner <jan@dittberner.info>
|
||||||
* add updated translations from Weblate
|
* add updated translations from Weblate
|
||||||
* update dependencies
|
* update dependencies
|
||||||
|
|
14
README.md
Normal file
14
README.md
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# Debian Member Portfolio Service
|
||||||
|
|
||||||
|
This is a service implementation that returns a set of personalized URLs as outlined in
|
||||||
|
https://wiki.debian.org/DDPortfolio. It takes the Debian Member's full name and email address as input and returns
|
||||||
|
a JSON formatted array or an HTML page of URLs.
|
||||||
|
|
||||||
|
See https://debian-member-portfolio-service.readthedocs.org/ for more documentation (or its source in
|
||||||
|
docs/source/devdocs.rst), including how to configure a development environment.
|
||||||
|
|
||||||
|
## Translations
|
||||||
|
|
||||||
|
Translations for the Debian Member Portfolio service are maintained using
|
||||||
|
[Weblate](https://hosted.weblate.org/projects/debian-member-portfolio-service/translations/). Thanks to Weblate for
|
||||||
|
hosting the translation service and to all contributors of translations.
|
11
README.txt
11
README.txt
|
@ -1,11 +0,0 @@
|
||||||
|
|
||||||
This is the source code for the Debian Member Portfolio Service
|
|
||||||
application [0].
|
|
||||||
|
|
||||||
Cf. https://debian-member-portfolio-service.readthedocs.org/ for more
|
|
||||||
documentation (or its source in docs/source/devdocs.rst), including
|
|
||||||
how to configure a development environment.
|
|
||||||
|
|
||||||
|
|
||||||
[0] https://wiki.debian.org/DDPortfolio
|
|
||||||
|
|
60
docs/doc-requirements.txt
Normal file
60
docs/doc-requirements.txt
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
alabaster==0.7.13 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
babel==2.12.1 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
cachecontrol[filecache]==0.12.11 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
cachy==0.3.0 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
certifi==2023.5.7 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
cffi==1.15.1 ; python_version >= "3.8" and python_version < "4.0" and sys_platform == "linux"
|
||||||
|
charset-normalizer==3.1.0 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
cleo==1.0.0a5 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
colorama==0.4.6 ; python_version >= "3.8" and python_version < "4.0" and sys_platform == "win32"
|
||||||
|
crashtest==0.3.1 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
cryptography==41.0.1 ; python_version >= "3.8" and python_version < "4.0" and sys_platform == "linux"
|
||||||
|
distlib==0.3.6 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
docutils==0.17.1 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
entrypoints==0.3 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
filelock==3.12.0 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
html5lib==1.1 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
idna==3.4 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
imagesize==1.4.1 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
importlib-metadata==6.6.0 ; python_version >= "3.8" and python_version < "3.12"
|
||||||
|
importlib-resources==5.12.0 ; python_version >= "3.8" and python_version < "3.9"
|
||||||
|
jaraco-classes==3.2.3 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
jeepney==0.8.0 ; python_version >= "3.8" and python_version < "4.0" and sys_platform == "linux"
|
||||||
|
jinja2==3.1.2 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
keyring==23.13.1 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
lockfile==0.12.2 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
markupsafe==2.1.3 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
more-itertools==9.1.0 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
msgpack==1.0.5 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
packaging==20.9 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
pexpect==4.8.0 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
pkginfo==1.9.6 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
platformdirs==3.5.1 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
poetry-babel-plugin==0.1.0 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
poetry-core==1.6.1 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
poetry==1.2.0b1 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
ptyprocess==0.7.0 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
pycparser==2.21 ; python_version >= "3.8" and python_version < "4.0" and sys_platform == "linux"
|
||||||
|
pygments==2.15.1 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
pylev==1.4.0 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
pyparsing==3.0.9 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
pytz==2023.3 ; python_version >= "3.8" and python_version < "3.9"
|
||||||
|
pywin32-ctypes==0.2.0 ; python_version >= "3.8" and python_version < "4.0" and sys_platform == "win32"
|
||||||
|
requests-toolbelt==0.9.1 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
requests==2.31.0 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
secretstorage==3.3.3 ; python_version >= "3.8" and python_version < "4.0" and sys_platform == "linux"
|
||||||
|
shellingham==1.5.0.post1 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
six==1.16.0 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
snowballstemmer==2.2.0 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
sphinx==5.1.1 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
sphinxcontrib-applehelp==1.0.4 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
sphinxcontrib-devhelp==1.0.2 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
sphinxcontrib-htmlhelp==2.0.1 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
sphinxcontrib-jsmath==1.0.1 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
sphinxcontrib-qthelp==1.0.3 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
sphinxcontrib-serializinghtml==1.1.5 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
tomlkit==0.11.8 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
urllib3==1.26.16 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
virtualenv==20.23.0 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
webencodings==0.5.1 ; python_version >= "3.8" and python_version < "4.0"
|
||||||
|
zipp==3.15.0 ; python_version >= "3.8" and python_version < "3.12"
|
|
@ -39,14 +39,14 @@ templates_path = ["_templates"]
|
||||||
|
|
||||||
# General information about the project.
|
# General information about the project.
|
||||||
project = "Debian Member Portfolio Service"
|
project = "Debian Member Portfolio Service"
|
||||||
copyright = "2009-2021, Jan Dittberner"
|
copyright = "2009-2023, Jan Dittberner"
|
||||||
|
|
||||||
# The version info for the project you're documenting, acts as replacement for
|
# The version info for the project you're documenting, acts as replacement for
|
||||||
# |version| and |release|, also used in various other places throughout the
|
# |version| and |release|, also used in various other places throughout the
|
||||||
# built documents.
|
# built documents.
|
||||||
#
|
#
|
||||||
# The short X.Y version.
|
# The short X.Y version.
|
||||||
version = "0.7.2"
|
version = "0.7.4-dev"
|
||||||
# The full version, including alpha/beta/rc tags.
|
# The full version, including alpha/beta/rc tags.
|
||||||
release = version
|
release = version
|
||||||
|
|
||||||
|
@ -87,15 +87,15 @@ htmlhelp_basename = "DebianMemberPortfolioServicedoc"
|
||||||
# Grouping the document tree into LaTeX files. List of tuples
|
# Grouping the document tree into LaTeX files. List of tuples
|
||||||
# (source start file, target name, title, author, document class
|
# (source start file, target name, title, author, document class
|
||||||
# [howto/manual]).
|
# [howto/manual]).
|
||||||
latex_documents = [
|
#latex_documents = [
|
||||||
(
|
# (
|
||||||
"index",
|
# "index",
|
||||||
"DebianMemberPortfolioService.tex",
|
# "DebianMemberPortfolioService.tex",
|
||||||
"Debian Member Portfolio Service Documentation",
|
# "Debian Member Portfolio Service Documentation",
|
||||||
"Jan Dittberner",
|
# "Jan Dittberner",
|
||||||
"manual",
|
# "manual",
|
||||||
),
|
# ),
|
||||||
]
|
#]
|
||||||
|
|
||||||
# The name of an image file (relative to this directory) to place at the top of
|
# The name of an image file (relative to this directory) to place at the top of
|
||||||
# the title page.
|
# the title page.
|
||||||
|
|
|
@ -21,38 +21,18 @@ To start working on the source code you need to have `git`_ installed::
|
||||||
.. _git: http://www.git-scm.com/
|
.. _git: http://www.git-scm.com/
|
||||||
|
|
||||||
The canonical git repository for the Debian Member Portfolio Service is
|
The canonical git repository for the Debian Member Portfolio Service is
|
||||||
available at https://debianstuff.dittberner.info/git/debianmemberportfolio.git.
|
available at https://git.dittberner.info/jan/debianmemberportfolio
|
||||||
To get a clone of the source code you change to a directory of your choice and
|
To get a clone of the source code you change to a directory of your choice and
|
||||||
invoke git clone::
|
invoke git clone::
|
||||||
|
|
||||||
cd ~/src
|
cd ~/src
|
||||||
git clone https://debianstuff.dittberner.info/git/debianmemberportfolio.git
|
git clone https://git.dittberner.info/jan/debianmemberportfolio.git
|
||||||
|
|
||||||
You should use `venv`_ to separate the development environment from your
|
We use `Poetry <https://python-poetry.org/>`_ for dependency management. Run::
|
||||||
system wide Python installation. You can install virtualenv using::
|
|
||||||
|
|
||||||
sudo aptitude install python3-venv
|
poetry install
|
||||||
|
|
||||||
.. _venv: https://docs.python.org/3/library/venv.html
|
to install all required dependencies in a Poetry managed virtual environment.
|
||||||
|
|
||||||
When you have :command:`pyvenv` installed you should create a virtual
|
|
||||||
environment for Debian Member Portfolio Service development and install the
|
|
||||||
requirements using `pip <https://pypi.python.org/pypi/pip>`_::
|
|
||||||
|
|
||||||
mkdir ~/.virtualenvs
|
|
||||||
pyvenv ~/.virtualenvs/dmportfolio
|
|
||||||
. ~/.virtualenvs/dmportfolio/bin/activate
|
|
||||||
cd ~/src/debianmemberportfolio
|
|
||||||
pip install -r stretchreq.pip
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
The Debian Member Portfolio Service instance at http://portfolio.debian.net/
|
|
||||||
is running on a Debian Stretch server, therefore :file:`stretchreq.pip`
|
|
||||||
contains dependency versions matching that Debian release.
|
|
||||||
|
|
||||||
The dependency download and installation into the virtual environment takes
|
|
||||||
some time.
|
|
||||||
|
|
||||||
Debian Member Portfolio Service needs the JQuery JavaScript library to function
|
Debian Member Portfolio Service needs the JQuery JavaScript library to function
|
||||||
properly. The JQuery library is not included in the git clone and must be
|
properly. The JQuery library is not included in the git clone and must be
|
||||||
|
@ -80,9 +60,8 @@ use by the code.
|
||||||
|
|
||||||
When you have both installed you can run::
|
When you have both installed you can run::
|
||||||
|
|
||||||
. ~/.virtualenvs/dmportfolio/bin/activate
|
|
||||||
./synckeyrings.sh
|
./synckeyrings.sh
|
||||||
python3 debianmemberportfolio/model/keyringanalyzer.py
|
poetry run python3 debianmemberportfolio/model/keyringanalyzer.py
|
||||||
|
|
||||||
The first synchronizes the keyrings in :file:`$HOME/debian/keyring.debian.org`
|
The first synchronizes the keyrings in :file:`$HOME/debian/keyring.debian.org`
|
||||||
with files on the `keyring.debian.org <http://keyring.debian.org>`_ host. And
|
with files on the `keyring.debian.org <http://keyring.debian.org>`_ host. And
|
||||||
|
@ -94,7 +73,7 @@ Run a development server
|
||||||
|
|
||||||
You can run a development server using::
|
You can run a development server using::
|
||||||
|
|
||||||
python3 run.py
|
poetry run python3 run.py
|
||||||
|
|
||||||
The output of this command should look like the following::
|
The output of this command should look like the following::
|
||||||
|
|
||||||
|
@ -152,3 +131,28 @@ the :py:func:`~debianmemberportfolio.model.dddatabuilder.build_data` function
|
||||||
of the module :py:mod:`debianmemberportfolio.model.dddatabuilder`, which uses
|
of the module :py:mod:`debianmemberportfolio.model.dddatabuilder`, which uses
|
||||||
several helper functions from :py:mod:`debianmemberportfolio.model.keyfinder`
|
several helper functions from :py:mod:`debianmemberportfolio.model.keyfinder`
|
||||||
to access the key information.
|
to access the key information.
|
||||||
|
|
||||||
|
Update translations
|
||||||
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
To update the translations you need to include the weblate repository as git remote::
|
||||||
|
|
||||||
|
git remote add weblate https://hosted.weblate.org/git/debian-member-portfolio-service/translations/
|
||||||
|
git fetch --all
|
||||||
|
|
||||||
|
Run the following to merge the latest translations into your local branch::
|
||||||
|
|
||||||
|
git merge weblate main
|
||||||
|
|
||||||
|
|
||||||
|
To extract translations from source files use::
|
||||||
|
|
||||||
|
poetry run pybabel extract --mapping-file=mapping.cfg --output-file=messages.pot --input-dirs=.
|
||||||
|
|
||||||
|
To merge translations with existing catalogs use::
|
||||||
|
|
||||||
|
poetry run pybabel update -i messages.pot -d debianmemberportfolio/translations
|
||||||
|
|
||||||
|
Compile the translations to gettext's .mo format using::
|
||||||
|
|
||||||
|
poetry run pybabel compile -d debianmemberportfolio/translations
|
||||||
|
|
7
mapping.cfg
Normal file
7
mapping.cfg
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
[jinja2: debianmemberportfolio/templates/*.html]
|
||||||
|
encoding = utf-8
|
||||||
|
|
||||||
|
[jinja2: debianmemberportfolio/templates/*.js]
|
||||||
|
encoding = utf-8
|
||||||
|
|
||||||
|
[python: **.py]
|
1324
poetry.lock
generated
Normal file
1324
poetry.lock
generated
Normal file
File diff suppressed because it is too large
Load diff
44
pyproject.toml
Normal file
44
pyproject.toml
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
[tool.poetry]
|
||||||
|
name = "debianmemberportfolio"
|
||||||
|
version = "0.8.0-dev"
|
||||||
|
description = "Service to create Debian Member Portfolio URLs"
|
||||||
|
authors = ["Jan Dittberner <jan@dittberner.info>"]
|
||||||
|
license = "AGPL-3.0+"
|
||||||
|
readme = "README.md"
|
||||||
|
|
||||||
|
include = [
|
||||||
|
"**/*.mo",
|
||||||
|
]
|
||||||
|
exclude = [
|
||||||
|
"**/*.pot",
|
||||||
|
"**/*.po",
|
||||||
|
]
|
||||||
|
|
||||||
|
[tool.poetry.dependencies]
|
||||||
|
python = "^3.8"
|
||||||
|
Flask = "^2.2.2"
|
||||||
|
Jinja2 = "^3.1.2"
|
||||||
|
MarkupSafe = "^2.1.1"
|
||||||
|
itsdangerous = "^2.1.2"
|
||||||
|
Babel = "^2.10.3"
|
||||||
|
Flask-Babel = "^2.0.0"
|
||||||
|
pytz = "^2023.3"
|
||||||
|
speaklater = "^1.3"
|
||||||
|
flask-wtf = "^1.0.1"
|
||||||
|
email-validator = "^1.3.0"
|
||||||
|
|
||||||
|
[tool.poetry.dev-dependencies]
|
||||||
|
poetry-babel-plugin = "~0.1.0"
|
||||||
|
|
||||||
|
[tool.poetry.group.dev.dependencies]
|
||||||
|
sphinx = "<6"
|
||||||
|
docutils = "<0.18"
|
||||||
|
|
||||||
|
[build-system]
|
||||||
|
requires = ["poetry-core"]
|
||||||
|
build-backend = "poetry.core.masonry.api"
|
||||||
|
|
||||||
|
[[tool.poetry_babel_plugin.compile]]
|
||||||
|
domains = ["messages"]
|
||||||
|
directory = "debianmemberportfolio/translations"
|
||||||
|
fuzzy = false
|
|
@ -1,12 +0,0 @@
|
||||||
Flask==2.2.2
|
|
||||||
Jinja2==3.1.2
|
|
||||||
MarkupSafe==2.1.1
|
|
||||||
Werkzeug==2.2.2
|
|
||||||
itsdangerous==2.1.2
|
|
||||||
Babel==2.10.3
|
|
||||||
Flask-Babel==2.0.0
|
|
||||||
pytz==2022.2.1
|
|
||||||
speaklater==1.3
|
|
||||||
Flask-WTF==1.0.1
|
|
||||||
WTForms==3.0.1
|
|
||||||
email-validator==1.3.0
|
|
39
setup.cfg
39
setup.cfg
|
@ -1,39 +0,0 @@
|
||||||
[egg_info]
|
|
||||||
tag_build = dev
|
|
||||||
tag_svn_revision = true
|
|
||||||
|
|
||||||
[build_sphinx]
|
|
||||||
source-dir = docs/source
|
|
||||||
build-dir = docs/build
|
|
||||||
all_files = 1
|
|
||||||
|
|
||||||
[publish]
|
|
||||||
doc-dir=docs/html
|
|
||||||
make-dirs=1
|
|
||||||
|
|
||||||
[nosetests]
|
|
||||||
cover-package = debianmemberportfolio
|
|
||||||
|
|
||||||
# Babel configuration
|
|
||||||
[compile_catalog]
|
|
||||||
domain = messages
|
|
||||||
directory = debianmemberportfolio/translations
|
|
||||||
statistics = true
|
|
||||||
|
|
||||||
[extract_messages]
|
|
||||||
charset = UTF-8
|
|
||||||
add_comments = TRANSLATORS:
|
|
||||||
output_file = messages.pot
|
|
||||||
width = 80
|
|
||||||
msgid_bugs_address = jan@dittberner.info
|
|
||||||
|
|
||||||
[init_catalog]
|
|
||||||
domain = messages
|
|
||||||
input_file = messages.pot
|
|
||||||
output_dir = debianmemberportfolio/translations
|
|
||||||
|
|
||||||
[update_catalog]
|
|
||||||
domain = messages
|
|
||||||
input_file = messages.pot
|
|
||||||
output_dir = debianmemberportfolio/translations
|
|
||||||
previous = true
|
|
62
setup.py
62
setup.py
|
@ -1,62 +0,0 @@
|
||||||
# -*- python -*-
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
#
|
|
||||||
# Debian Member Portfolio Service setup
|
|
||||||
# Copyright © 2009-2022 Jan Dittberner <jan@dittberner.info>
|
|
||||||
#
|
|
||||||
# This file is part of the Debian Member Portfolio Service.
|
|
||||||
#
|
|
||||||
# Debian Member Portfolio Service is free software: you can redistribute it
|
|
||||||
# and/or modify it under the terms of the GNU Affero General Public License as
|
|
||||||
# published by the Free Software Foundation, either version 3 of the License,
|
|
||||||
# or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# Debian Member Portfolio Service is distributed in the hope that it will be
|
|
||||||
# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
||||||
# General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU Affero General Public
|
|
||||||
# License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
try:
|
|
||||||
from setuptools import setup, find_packages
|
|
||||||
except ImportError:
|
|
||||||
# noinspection PyUnresolvedReferences
|
|
||||||
from ez_setup import use_setuptools
|
|
||||||
use_setuptools()
|
|
||||||
from setuptools import setup, find_packages
|
|
||||||
|
|
||||||
setup(
|
|
||||||
name='debianmemberportfolio',
|
|
||||||
version='0.7.3',
|
|
||||||
description='service to create Debian Member Portfolio URLs',
|
|
||||||
long_description="""This is a service implementation that returns a set of
|
|
||||||
personalized URLs as outlined in https://wiki.debian.org/DDPortfolio. It
|
|
||||||
takes the Debian Member's full name and email address as input and returns
|
|
||||||
a JSON formatted array of URLs.""",
|
|
||||||
# Get strings from https://pypi.python.org/pypi?%3Aaction=list_classifiers
|
|
||||||
classifiers=['Development Status :: 5 - Production/Stable',
|
|
||||||
'Environment :: Web Environment',
|
|
||||||
'License :: DFSG approved',
|
|
||||||
'License :: OSI approved :: ' +
|
|
||||||
'GNU Affero General Public License v3',
|
|
||||||
'Programming Language :: Python'],
|
|
||||||
keywords='Debian service JSON',
|
|
||||||
author='Jan Dittberner',
|
|
||||||
author_email='jan@dittberner.info',
|
|
||||||
url='http://debian-stuff.dittberner.info/debianmemberportfolio',
|
|
||||||
license='AGPL-3.0+',
|
|
||||||
install_requires=["Flask>=0.12.2", 'Babel>=2.5.0', 'Flask-Babel>=0.11.2', 'wtforms'],
|
|
||||||
packages=find_packages(exclude=['ez_setup']),
|
|
||||||
include_package_data=True,
|
|
||||||
test_suite='nose.collector',
|
|
||||||
package_data={'debianmemberportfolio':
|
|
||||||
['*.ini', 'translations/*/LC_MESSAGES/*.mo']},
|
|
||||||
message_extractors={'debianmemberportfolio': [
|
|
||||||
('**.py', 'python', None),
|
|
||||||
('templates/**.html', 'jinja2', None),
|
|
||||||
('templates/**.js', 'jinja2', None),
|
|
||||||
('static/**', 'ignore', None)]},
|
|
||||||
zip_safe=False,
|
|
||||||
)
|
|
10
stretch.pip
10
stretch.pip
|
@ -1,10 +0,0 @@
|
||||||
Flask==0.12
|
|
||||||
Jinja2==2.8
|
|
||||||
MarkupSafe==0.23
|
|
||||||
Werkzeug==0.11.15
|
|
||||||
itsdangerous==0.24
|
|
||||||
Babel==2.3.4
|
|
||||||
Flask-Babel==0.11.1
|
|
||||||
pytz==2016.7
|
|
||||||
Flask-WTF==0.12
|
|
||||||
WTForms==2.1
|
|
Loading…
Reference in a new issue