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…
	
	Add table
		Add a link
		
	
		Reference in a new issue