New Upstream Release - python-enmerkar
Ready changes
Summary
Merged new upstream version: 0.7.2.dev0 (was: 0.7.1).
Resulting package
Built on 2023-08-22T13:27 (took 17m44s)
The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:
apt install -t fresh-releases python-enmerkar-docapt install -t fresh-releases python3-enmerkar
Lintian Result
Diff
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 3d27b81..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-build
-.cache
-.coverage
-dist
-*.pyc
-*.egg-info
-.tox
-htmlcov
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index e50b831..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-language: python
-python: 3.6
-sudo: false
-env:
-- TOX_ENV=docs
-- TOX_ENV=lint
-- TOX_ENV=py36-django22
-- TOX_ENV=py36-django30
-
-jobs:
- include:
- - env: TOX_ENV=py37-django22
- python: '3.7'
- - env: TOX_ENV=py37-django30
- python: '3.7'
- - env: TOX_ENV=py38-django30
- python: '3.8'
- - env: TOX_ENV=py38-djangomaster
- python: '3.8'
-install: pip install tox
-script: tox -e $TOX_ENV
-cache: pip
-deploy:
- provider: pypi
- user: __token__
- password:
- secure: h4RhYiHnw2iday8vuZvws/pikONqdiAK92ToBRK9pXf+lp/OwLwmw19nIWO044PVDUmqueVS0tXwOkVZmj8rYYFHNZLE9YGTz+H2o6ir9GuN7swU2fEygy48jeS5CQFP+yiyUwVHo3NGsRJEuahHskq5AmYXGzA+W8X1bZB28x7axa6idvrqR+SzfGP1/TFC6AF/0lW+691nG+Anw71uNoAEW9eSwUymydKVa+PxSVYdATsNl9EaTdHh2UuUaFan7wbG+dsMY2HnwV9GOaO5+rZ08H7FNqFlF0+AD0kWdonSAp8/5ufXnvR5GJ1PDflWvEULFg3dJr+QBsBNSVXdgIh7oKb2FpnSJQIRmuwK+CuImc77v9NmMQ7QT7DJvDljkop4UJvqbtwyPDiYKyV/z+XTy9QKdIMopKOYAZsLdN68pwYGJrVkA8Q1fG9sQhVO9tt+4QU++SmhglWqCZSS2KBdMHLN+RbwtZkyf3Txz6d5/AkyKorn2BetmR3CKH5Hof1+iNkiCi1gK1pZ5ZRJWBuVwbBwCQbY8LifrAZi//+xs3XsEzkY8AmG2QXEBqnPOednAanQ59KxgEKEiAyaqjumAjC3GoL+dfVvialv3h3S4zJvt4O7N0DpFWVtYxUkbJoKPg4j0VWoCk/5zNQUzb/wuGzC0LzTw7zh1UigymE=
- on:
- tags: true
- distributions: "sdist bdist_wheel"
- skip_existing: true
diff --git a/AUTHORS b/AUTHORS
deleted file mode 100644
index d5678cd..0000000
--- a/AUTHORS
+++ /dev/null
@@ -1,22 +0,0 @@
-enmerkar is maintained by the engineering team at Zego <opensource@zego.com>
-
-Contributors:
-
-- Tony Bajan <tony@zego.com>
-
-
-It was forked from django-babel, written by the django-babel team and various
-contributors:
-
-Contributors:
-
-- Christopher Lenz <cmlenz@gmail.com>
-- Felix Schwarz <felix.schwarz@oss.schwarz.eu>
-- Jeroen Ruigrok van der Werven <asmodai@in-nomine.org>
-- Ramiro Morales <cramm0@gmail.com>
-- Thomas Grainger <tagrain@gmail.com>
-- Christopher Grebs <cg@webshox.org>
-
-django-babel was previously developed under the Copyright of Edgewall Software.
-The following copyright notice holds true for releases before 2013: "Copyright
-(c) 2007 - 2011 by Edgewall Software"
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 8a817d0..ac8018c 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -1,6 +1,12 @@
Changelog
=========
+0.7.2 (unreleased)
+------------------
+
+...
+
+
0.7.1 (2019-12-02)
------------------
diff --git a/PKG-INFO b/PKG-INFO
new file mode 100644
index 0000000..2c62044
--- /dev/null
+++ b/PKG-INFO
@@ -0,0 +1,508 @@
+Metadata-Version: 1.2
+Name: enmerkar
+Version: 0.7.2.dev0
+Summary: Utilities for using Babel in Django
+Home-page: https://github.com/Zegocover/enmerkar
+Author: Christopher Grebs
+Author-email: cg@webshox.org
+Maintainer: Zego
+Maintainer-email: opensource@zego.com
+License: BSD
+Description: Tools for using Babel with Django
+ =================================
+
+ This package contains various utilities for integration of `Babel`_ into the
+ `Django`_ web framework:
+
+ * A message extraction plugin for Django templates.
+ * A middleware class that adds the Babel `Locale`_ object to requests.
+ * A set of template tags for date and number formatting.
+
+
+ Extracting Messages
+ -------------------
+
+ Babel provides a message extraction framework similar to GNU ``xgettext``, but
+ more extensible and geared towards Python applications. While Django does
+ provide `wrapper scripts`_ for making the use of ``xgettext`` more
+ convenient, the extraction functionality is rather limited. For example, you
+ can't use template files with an extension other than ``.html``, and everything
+ needs to be in your project package directory.
+
+ Extraction Method Mapping
+ ^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ So enmerkar comes with an extraction method plugin that can extract
+ localizable messages from Django template files. Python is supported out of the
+ box by Babel. To use this extraction functionality, create a file called
+ ``babel.cfg`` in your project directory (the directory above your project
+ package), with the content:
+
+ .. code-block:: ini
+
+ [django: templates/**.*]
+ [django: mypkg/*/templates/**.*]
+ [python: mypkg/**.py]
+
+ This instructs Babel to look for any files in the top-level ``templates``
+ directory, or any files in application ``templates`` directories, and use the
+ extraction method named “django” to extract messages from those template files.
+ You'll need to adjust those glob patterns to wherever you my be storing your
+ templates.
+
+ Also, any files with the extension ``.py`` inside your package directory (replace
+ “mypkg” with the actual name of your Django project package) are processed by
+ the “python” extraction method.
+
+ If you don't use setuptools, or for some reason haven't installed enmerkar
+ using setuptools/pip, you'll need to define what function the extraction method
+ “django” maps to. This is done in an extra section at the top of the
+ configuration file:
+
+ .. code-block:: ini
+
+ [extractors]
+ django = enmerkar.extract:extract_django
+
+ The encoding of the templates is assumed to be UTF-8. If you are using a
+ different encoding, you will need to specify it in the configuration. For
+ example:
+
+ .. code-block:: ini
+
+ [django: templates/**.*]
+ encoding = iso-8859-1
+
+
+ Running the Extraction Process
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ Once you've set up the configuration file, the actual extraction is performed
+ by executing the command-line program ``pybabel`` which is installed alongside
+ the Babel package:
+
+ .. code-block:: bash
+
+ $ cd projectdir
+ $ pybabel extract -F babel.cfg -o mypkg/locale/django.pot .
+
+ This creates the PO file template in ``mypkg/locale/django.pot``.
+
+
+ Creating and Updating Translations Catalogs
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ If you don't already have translation catalogs, you need to create them. This
+ is done using the ``pybabel init`` command:
+
+ .. code-block:: bash
+
+ $ pybabel init -D django -i mypkg/locale/django.pot -d mypkg/locale -l en_US
+ $ pybabel init -D django -i mypkg/locale/django.pot -d mypkg/locale -l de_DE
+
+ This should create two files: ``mypkg/locale/en_US/django.po`` and
+ ``mypkg/locale/de_DE/django.po``. These files are where you put the actual
+ translations.
+
+ When you modify your Python source files or your templates, you genereally need
+ to sync the translation catalogs. For that, you first perform a fresh
+ extraction as described in the previous section, so that the ``django.pot`` file
+ gets updated.
+
+ Then, you run the ``pybabel update`` command to merge the changes into the
+ translation catalogs:
+
+ ```bash
+ $ pybabel update -D django -i mypkg/locale/django.pot -d mypkg/locale
+ ```
+
+ This will update all the ``.po`` files found in the ``mypkg/locale`` directory.
+
+
+ Compiling Translations Catalogs
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ Finally, you need to compile those ``.po`` files to binary ``.mo`` files. Use the
+ `pybabel compile` command for that:
+
+ .. code-block:: bash
+
+ $ pybabel compile -D django -d mypkg/locale
+
+ Add the ``--statistics`` option to get information about the completeness of your
+ translations:
+
+ .. code-block:: bash
+
+ $ pybabel compile -D django -d mypkg/locale --statistics
+
+
+ Using ``setup.py``
+ ^^^^^^^^^^^^^^^^^^
+
+ Much of the above process can be automated if you add a ``setup.py`` script to
+ your project and use the distutils/setuptools commands that come with Babel.
+ This is described at `Distutils/Setuptools Integration`_.
+
+
+ Using the Middleware
+ --------------------
+
+ To use the enmerkar middleware, add it to the list of ``MIDDLEWARE_CLASSES`` in your
+ settings module. If you're also using Django's own ``LocaleMiddleware`` to vary
+ the locale based on user preference, the enmerkar middleware must be inserted
+ after the Django one:
+
+ .. code-block:: python
+
+ MIDDLEWARE_CLASSES = (
+ ...
+ 'django.middleware.locale.LocaleMiddleware',
+ 'enmerkar.middleware.LocaleMiddleware',
+ ...
+ )
+
+ This adds a ``locale`` attribute to the request object, which is an instance of
+ the Babel ``Locale`` class. You can access the locale via ``request.locale`` when
+ the request object is available, or otherwise use the
+ ``django_babel.middleware.get_current_locale()`` function to get the current
+ locale from a thread-local cache.
+
+
+ Using the Template Tags
+ -----------------------
+
+ The template filters provided by enmerkar allow formatting of date/time and
+ number values in a locale-sensitive manner, providing much more powerful
+ alternatives to the ``date``, ``time``, and ``floatformat`` filters that come with
+ Django.
+
+ To make the template filters/tags available, you need to add enmerkar to
+ the list of ``INSTALLED_APPS`` in your settings module:
+
+ .. code-block:: python
+
+ INSTALLED_APPS = (
+ ...
+ 'enmerkar',
+ ...
+ )
+
+ And in every template you want to use the filters, you need to explicitly load
+ the library:
+
+ .. code-block:: django
+
+ {% load babel %}
+
+ General information on date/time and number formatting can be found at
+ `Date Formatting`_ and `Number Formatting`_.
+
+ The following filters are made available. The examples assume a locale of
+ ``en_US``.
+
+
+ ``datefmt``
+ ^^^^^^^^^^^
+
+ Renders a string representation of a date.
+
+ * **Input**: ``datetime.date``, ``datetime.datetime``, or a float/int timestamp
+ * **Parameters**: the format name or pattern (optional)
+
+ Assuming that ``book.pubdate`` returns a ``datetime.date`` or
+ ``datetime.datetime`` object:
+
+ .. code-block:: django
+
+ {{ book.pubdate|datefmt:"short" }}
+
+ would render: **4/1/07**, and
+
+ .. code-block:: django
+
+ {{ book.pubdate|datefmt:"E, MMM dd yyyy GGG" }}
+
+ would render: **Sun, Apr 01 2007 AD**
+
+ ``datetimefmt``
+ ^^^^^^^^^^^^^^^
+
+ Renders a string representation of a date and time.
+
+ * **Input**: ``datetime.datetime``, or a float/int timestamp
+ * **Parameters**: the format name or pattern (optional)
+
+ Examples:
+
+ .. code-block:: django
+
+ {{ book.pubdate|datetimefmt:"short" }}
+
+ would render: **4/1/07 3:30 PM**, and
+
+ .. code-block:: django
+
+ {{ book.pubdate|datetimefmt:"E, MMM dd yyyy GGG' - 'HH:mm:ss'" }}
+
+ would render: **Sun, Apr 01 2007 AD - 15:30:00**
+
+ ``timefmt``
+ ^^^^^^^^^^^
+
+ Renders a string representation of a time.
+
+ * **Input**: ``datetime.datetime``, ``datetime.time``, or a float/int timestamp
+ * **Parameters**: the format name or pattern (optional)
+
+ Examples:
+
+ .. code-block:: django
+
+ {{ book.pubdate|timefmt:"short" }}
+
+ would render: **3:30 PM**, and
+
+ .. code-block:: django
+
+ {{ book.pubdate|timefmt:"h 'o''clock' a'" }}
+
+ would render: **3 o'clock PM**
+
+ ``decimalfmt``
+ ^^^^^^^^^^^^^^
+
+ Renders a string representation of a decimal number.
+
+ * **Input**: a `Decimal` object, or a float/int/long value
+ * **Parameters**: the format name or pattern (optional)
+
+ Examples:
+
+ .. code-block:: django
+
+ {{ book.pagecount|decimalfmt }}
+
+ would render: **1,234**, and
+
+ .. code-block:: django
+
+ {{ book.pagecount|decimalfmt:"#,##0.00" }}
+
+ would render: **1,234.00**
+
+ ``currencyfmt``
+ ^^^^^^^^^^^^^^^
+
+ Renders a number formatted as a currency value.
+
+ * **Input**: a ``Decimal`` object, or a float/int/long value
+ * **Parameters**: the currency code
+
+ Examples:
+
+ .. code-block:: django
+
+ {{ book.price|currencyfmt:"USD" }}
+
+ would render: **$49.90**
+
+ ``percentfmt``
+ ^^^^^^^^^^^^^^
+
+ Renders a string representation of a number as a percentage.
+
+ * **Input**: a ``Decimal`` object, or a float/int/long value
+ * **Parameters**: the format name or pattern (optional)
+
+ Examples:
+
+ Assuming ``book.rebate`` would return ``0.15``,
+
+ .. code-block:: django
+
+ {{ book.rebate|percentfmt }}
+
+ would render **15%**, and
+
+ .. code-block:: django
+
+ {{ book.rebate|percentfmt:"#,##0.00%" }}
+
+ would render **15.00%**.
+
+ ``scientificfmt``
+ ^^^^^^^^^^^^^^^^^
+
+ Renders a string representation of a number using scientific notation.
+
+ * **Input**: a ``Decimal`` object, or a float/int/long value
+ * **Parameters**: none
+
+ Examples:
+
+ Assuming ``book.numsold`` would return 1.000.000,
+
+ .. code-block:: django
+
+ {{ book.numsold|scientificfmt }}
+
+ would render **10E5**.
+
+
+
+ .. _Babel: http://babel.pocoo.org/
+ .. _Django: https://www.djangoproject.com/
+ .. _wrapper scripts: https://docs.djangoproject.com/en/dev/topics/i18n/translation/#localization-how-to-create-language-files
+ .. _Distutils/Setuptools Integration: http://babel.pocoo.org/en/stable/setup.html
+ .. _Date Formatting: http://babel.pocoo.org/en/stable/dates.html
+ .. _Number Formatting: http://babel.pocoo.org/en/stable/numbers.html
+ .. _Locale: http://babel.pocoo.org/en/stable/api/core.html#babel.core.Locale
+
+
+ Changelog
+ =========
+
+ 0.7.2 (unreleased)
+ ------------------
+
+ ...
+
+
+ 0.7.1 (2019-12-02)
+ ------------------
+
+ - compatibility with Django 3.0
+ - drop support for Python < 3.5, Django < 2.2
+
+
+ 0.7.0 (2019-10-21)
+ ------------------
+
+ - forked from django-babel
+ - drop support for Python < 3.4, Django < 2.0
+ - compatibility with Django 2.1 and 2.2 added
+ From @tsouvarev work : https://github.com/python-babel/django-babel/pull/45
+
+ 0.6.2 (2017-12-18)
+ ------------------
+
+ - compatibility with Django 2.0 added
+
+
+ 0.6.1 (2017-12-18)
+ ------------------
+
+ * compatibility with Django 1.11 added
+
+ 0.6.0 - 2017-04-25
+ ------------------
+
+ * compatibility with unsupported Django versions (<1.8) is dropped
+ * compatibility with Django 1.10+ middlewares was added
+
+ 0.5.1 - 2016-03-30
+ ------------------
+
+ * make imports absolute in babel templatetags
+ * strip quotes from translations via _()
+ * fix links in docs
+ * Add support for "trimmed" blocktrans content
+
+ 0.5.0 - 2016-02-29
+ ------------------
+
+ * Add compatibility for Django-1.9
+
+ 0.4.0 - 2015-04-22
+ ------------------
+
+ * Add compatibility for Django 1.8
+ * Add compatibility for latest django master
+ * Various python 3 fixes
+
+
+ 0.3.9 - 2014-12-24
+ ------------------
+
+ * Fix dependencies on Django/Babel to use lower-case egg names.
+
+ 0.3.8 - 2014-10-14
+ ------------------
+
+ * Fix old reference to `babeldjango` module in entry points.
+
+ 0.3.7 - 2014-10-14
+ ------------------
+
+ * Fix Python 3.x compatibility in `babel makemessages` command.
+
+ 0.3.6 - 2014-10-05
+ ------------------
+
+ * Django 1.7 compatibility
+
+
+ 0.3.5 - 2014-09-10
+ ------------------
+
+ * Create .po and .pot files if not existing, plus it's specific base directories.
+
+
+ 0.3.4 - 2014-05-25
+ ------------------
+
+ * Fixed django compatibility
+
+ 0.3.3 - 2014-04-22
+ ------------------
+
+ * Fixed release builds
+
+
+ 0.3.2 - 2014-04-22
+ ------------------
+
+ * Initial testing infrastructure
+ * Add management command `babel` with `makemessages` and `compilemessages`
+ labels. Mimics django's `makemessages` and `compilemessages` commands.
+ * Various unicode fixes
+
+
+ 0.3.1 - 2013-12-11
+ ------------------
+
+ * fix relative import in template tags
+
+
+ 0.3.0 - 2013-12-11
+ ------------------
+
+ * Rename package to django_babel
+
+
+ 0.2.3 - 2013-12-11
+ ------------------
+
+ * Rename package on PyPI
+ * Use GitHub as source control
+
+
+ .. _`master`: https://github.com/Zegocover/enmerkar
+
+Platform: UNKNOWN
+Classifier: Development Status :: 4 - Beta
+Classifier: Environment :: Web Environment
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: BSD License
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python
+Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Classifier: Framework :: Django
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: Implementation :: PyPy
+Classifier: Programming Language :: Python :: Implementation :: CPython
diff --git a/debian/changelog b/debian/changelog
index 0045a55..6512d74 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+python-enmerkar (0.7.2.dev0-1) UNRELEASED; urgency=low
+
+ * New upstream release.
+
+ -- Debian Janitor <janitor@jelmer.uk> Tue, 22 Aug 2023 13:09:57 -0000
+
python-enmerkar (0.7.1-6) unstable; urgency=medium
* Cleans better (Closes: #1049087).
diff --git a/debian/patches/django-4.x-django.conf.urls.url-is-removed.patch b/debian/patches/django-4.x-django.conf.urls.url-is-removed.patch
index 752c09a..de7bc56 100644
--- a/debian/patches/django-4.x-django.conf.urls.url-is-removed.patch
+++ b/debian/patches/django-4.x-django.conf.urls.url-is-removed.patch
@@ -6,8 +6,10 @@ Author: Thomas Goirand <zigo@debian.org>
Forwarded: not-needed
Last-Update: 2022-06-30
---- python-enmerkar-0.7.1.orig/tests/testproject/urls.py
-+++ python-enmerkar-0.7.1/tests/testproject/urls.py
+Index: python-enmerkar.git/tests/testproject/urls.py
+===================================================================
+--- python-enmerkar.git.orig/tests/testproject/urls.py
++++ python-enmerkar.git/tests/testproject/urls.py
@@ -1,6 +1,6 @@
import time
diff --git a/debian/patches/fix-bytesio-import.patch b/debian/patches/fix-bytesio-import.patch
index 6b2ec23..a3c7046 100644
--- a/debian/patches/fix-bytesio-import.patch
+++ b/debian/patches/fix-bytesio-import.patch
@@ -4,8 +4,10 @@ Bug-Debian: https://bugs.debian.org/1022390
Forwarded: no
Last-Update: 2022-11-01
---- python-enmerkar-0.7.1.orig/tests/test_extract.py
-+++ python-enmerkar-0.7.1/tests/test_extract.py
+Index: python-enmerkar.git/tests/test_extract.py
+===================================================================
+--- python-enmerkar.git.orig/tests/test_extract.py
++++ python-enmerkar.git/tests/test_extract.py
@@ -4,7 +4,10 @@ import unittest
import pytest
diff --git a/debian/patches/remove-broken-test.patch b/debian/patches/remove-broken-test.patch
index 0a21071..59051e0 100644
--- a/debian/patches/remove-broken-test.patch
+++ b/debian/patches/remove-broken-test.patch
@@ -3,8 +3,10 @@ Author: Thomas Goirand <zigo@debian.org>
Forwarded: no
Last-Update: 2020-04-07
---- python-enmerkar-0.7.1.orig/tests/test_command.py
-+++ python-enmerkar-0.7.1/tests/test_command.py
+Index: python-enmerkar.git/tests/test_command.py
+===================================================================
+--- python-enmerkar.git.orig/tests/test_command.py
++++ python-enmerkar.git/tests/test_command.py
@@ -18,20 +18,3 @@ def test_babel_compilemessages():
os.unlink(
os.path.join(TEST_LOCALE_DIR, 'fi', 'LC_MESSAGES', 'django.mo')
diff --git a/enmerkar.egg-info/PKG-INFO b/enmerkar.egg-info/PKG-INFO
new file mode 100644
index 0000000..2c62044
--- /dev/null
+++ b/enmerkar.egg-info/PKG-INFO
@@ -0,0 +1,508 @@
+Metadata-Version: 1.2
+Name: enmerkar
+Version: 0.7.2.dev0
+Summary: Utilities for using Babel in Django
+Home-page: https://github.com/Zegocover/enmerkar
+Author: Christopher Grebs
+Author-email: cg@webshox.org
+Maintainer: Zego
+Maintainer-email: opensource@zego.com
+License: BSD
+Description: Tools for using Babel with Django
+ =================================
+
+ This package contains various utilities for integration of `Babel`_ into the
+ `Django`_ web framework:
+
+ * A message extraction plugin for Django templates.
+ * A middleware class that adds the Babel `Locale`_ object to requests.
+ * A set of template tags for date and number formatting.
+
+
+ Extracting Messages
+ -------------------
+
+ Babel provides a message extraction framework similar to GNU ``xgettext``, but
+ more extensible and geared towards Python applications. While Django does
+ provide `wrapper scripts`_ for making the use of ``xgettext`` more
+ convenient, the extraction functionality is rather limited. For example, you
+ can't use template files with an extension other than ``.html``, and everything
+ needs to be in your project package directory.
+
+ Extraction Method Mapping
+ ^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ So enmerkar comes with an extraction method plugin that can extract
+ localizable messages from Django template files. Python is supported out of the
+ box by Babel. To use this extraction functionality, create a file called
+ ``babel.cfg`` in your project directory (the directory above your project
+ package), with the content:
+
+ .. code-block:: ini
+
+ [django: templates/**.*]
+ [django: mypkg/*/templates/**.*]
+ [python: mypkg/**.py]
+
+ This instructs Babel to look for any files in the top-level ``templates``
+ directory, or any files in application ``templates`` directories, and use the
+ extraction method named “django” to extract messages from those template files.
+ You'll need to adjust those glob patterns to wherever you my be storing your
+ templates.
+
+ Also, any files with the extension ``.py`` inside your package directory (replace
+ “mypkg” with the actual name of your Django project package) are processed by
+ the “python” extraction method.
+
+ If you don't use setuptools, or for some reason haven't installed enmerkar
+ using setuptools/pip, you'll need to define what function the extraction method
+ “django” maps to. This is done in an extra section at the top of the
+ configuration file:
+
+ .. code-block:: ini
+
+ [extractors]
+ django = enmerkar.extract:extract_django
+
+ The encoding of the templates is assumed to be UTF-8. If you are using a
+ different encoding, you will need to specify it in the configuration. For
+ example:
+
+ .. code-block:: ini
+
+ [django: templates/**.*]
+ encoding = iso-8859-1
+
+
+ Running the Extraction Process
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ Once you've set up the configuration file, the actual extraction is performed
+ by executing the command-line program ``pybabel`` which is installed alongside
+ the Babel package:
+
+ .. code-block:: bash
+
+ $ cd projectdir
+ $ pybabel extract -F babel.cfg -o mypkg/locale/django.pot .
+
+ This creates the PO file template in ``mypkg/locale/django.pot``.
+
+
+ Creating and Updating Translations Catalogs
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ If you don't already have translation catalogs, you need to create them. This
+ is done using the ``pybabel init`` command:
+
+ .. code-block:: bash
+
+ $ pybabel init -D django -i mypkg/locale/django.pot -d mypkg/locale -l en_US
+ $ pybabel init -D django -i mypkg/locale/django.pot -d mypkg/locale -l de_DE
+
+ This should create two files: ``mypkg/locale/en_US/django.po`` and
+ ``mypkg/locale/de_DE/django.po``. These files are where you put the actual
+ translations.
+
+ When you modify your Python source files or your templates, you genereally need
+ to sync the translation catalogs. For that, you first perform a fresh
+ extraction as described in the previous section, so that the ``django.pot`` file
+ gets updated.
+
+ Then, you run the ``pybabel update`` command to merge the changes into the
+ translation catalogs:
+
+ ```bash
+ $ pybabel update -D django -i mypkg/locale/django.pot -d mypkg/locale
+ ```
+
+ This will update all the ``.po`` files found in the ``mypkg/locale`` directory.
+
+
+ Compiling Translations Catalogs
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ Finally, you need to compile those ``.po`` files to binary ``.mo`` files. Use the
+ `pybabel compile` command for that:
+
+ .. code-block:: bash
+
+ $ pybabel compile -D django -d mypkg/locale
+
+ Add the ``--statistics`` option to get information about the completeness of your
+ translations:
+
+ .. code-block:: bash
+
+ $ pybabel compile -D django -d mypkg/locale --statistics
+
+
+ Using ``setup.py``
+ ^^^^^^^^^^^^^^^^^^
+
+ Much of the above process can be automated if you add a ``setup.py`` script to
+ your project and use the distutils/setuptools commands that come with Babel.
+ This is described at `Distutils/Setuptools Integration`_.
+
+
+ Using the Middleware
+ --------------------
+
+ To use the enmerkar middleware, add it to the list of ``MIDDLEWARE_CLASSES`` in your
+ settings module. If you're also using Django's own ``LocaleMiddleware`` to vary
+ the locale based on user preference, the enmerkar middleware must be inserted
+ after the Django one:
+
+ .. code-block:: python
+
+ MIDDLEWARE_CLASSES = (
+ ...
+ 'django.middleware.locale.LocaleMiddleware',
+ 'enmerkar.middleware.LocaleMiddleware',
+ ...
+ )
+
+ This adds a ``locale`` attribute to the request object, which is an instance of
+ the Babel ``Locale`` class. You can access the locale via ``request.locale`` when
+ the request object is available, or otherwise use the
+ ``django_babel.middleware.get_current_locale()`` function to get the current
+ locale from a thread-local cache.
+
+
+ Using the Template Tags
+ -----------------------
+
+ The template filters provided by enmerkar allow formatting of date/time and
+ number values in a locale-sensitive manner, providing much more powerful
+ alternatives to the ``date``, ``time``, and ``floatformat`` filters that come with
+ Django.
+
+ To make the template filters/tags available, you need to add enmerkar to
+ the list of ``INSTALLED_APPS`` in your settings module:
+
+ .. code-block:: python
+
+ INSTALLED_APPS = (
+ ...
+ 'enmerkar',
+ ...
+ )
+
+ And in every template you want to use the filters, you need to explicitly load
+ the library:
+
+ .. code-block:: django
+
+ {% load babel %}
+
+ General information on date/time and number formatting can be found at
+ `Date Formatting`_ and `Number Formatting`_.
+
+ The following filters are made available. The examples assume a locale of
+ ``en_US``.
+
+
+ ``datefmt``
+ ^^^^^^^^^^^
+
+ Renders a string representation of a date.
+
+ * **Input**: ``datetime.date``, ``datetime.datetime``, or a float/int timestamp
+ * **Parameters**: the format name or pattern (optional)
+
+ Assuming that ``book.pubdate`` returns a ``datetime.date`` or
+ ``datetime.datetime`` object:
+
+ .. code-block:: django
+
+ {{ book.pubdate|datefmt:"short" }}
+
+ would render: **4/1/07**, and
+
+ .. code-block:: django
+
+ {{ book.pubdate|datefmt:"E, MMM dd yyyy GGG" }}
+
+ would render: **Sun, Apr 01 2007 AD**
+
+ ``datetimefmt``
+ ^^^^^^^^^^^^^^^
+
+ Renders a string representation of a date and time.
+
+ * **Input**: ``datetime.datetime``, or a float/int timestamp
+ * **Parameters**: the format name or pattern (optional)
+
+ Examples:
+
+ .. code-block:: django
+
+ {{ book.pubdate|datetimefmt:"short" }}
+
+ would render: **4/1/07 3:30 PM**, and
+
+ .. code-block:: django
+
+ {{ book.pubdate|datetimefmt:"E, MMM dd yyyy GGG' - 'HH:mm:ss'" }}
+
+ would render: **Sun, Apr 01 2007 AD - 15:30:00**
+
+ ``timefmt``
+ ^^^^^^^^^^^
+
+ Renders a string representation of a time.
+
+ * **Input**: ``datetime.datetime``, ``datetime.time``, or a float/int timestamp
+ * **Parameters**: the format name or pattern (optional)
+
+ Examples:
+
+ .. code-block:: django
+
+ {{ book.pubdate|timefmt:"short" }}
+
+ would render: **3:30 PM**, and
+
+ .. code-block:: django
+
+ {{ book.pubdate|timefmt:"h 'o''clock' a'" }}
+
+ would render: **3 o'clock PM**
+
+ ``decimalfmt``
+ ^^^^^^^^^^^^^^
+
+ Renders a string representation of a decimal number.
+
+ * **Input**: a `Decimal` object, or a float/int/long value
+ * **Parameters**: the format name or pattern (optional)
+
+ Examples:
+
+ .. code-block:: django
+
+ {{ book.pagecount|decimalfmt }}
+
+ would render: **1,234**, and
+
+ .. code-block:: django
+
+ {{ book.pagecount|decimalfmt:"#,##0.00" }}
+
+ would render: **1,234.00**
+
+ ``currencyfmt``
+ ^^^^^^^^^^^^^^^
+
+ Renders a number formatted as a currency value.
+
+ * **Input**: a ``Decimal`` object, or a float/int/long value
+ * **Parameters**: the currency code
+
+ Examples:
+
+ .. code-block:: django
+
+ {{ book.price|currencyfmt:"USD" }}
+
+ would render: **$49.90**
+
+ ``percentfmt``
+ ^^^^^^^^^^^^^^
+
+ Renders a string representation of a number as a percentage.
+
+ * **Input**: a ``Decimal`` object, or a float/int/long value
+ * **Parameters**: the format name or pattern (optional)
+
+ Examples:
+
+ Assuming ``book.rebate`` would return ``0.15``,
+
+ .. code-block:: django
+
+ {{ book.rebate|percentfmt }}
+
+ would render **15%**, and
+
+ .. code-block:: django
+
+ {{ book.rebate|percentfmt:"#,##0.00%" }}
+
+ would render **15.00%**.
+
+ ``scientificfmt``
+ ^^^^^^^^^^^^^^^^^
+
+ Renders a string representation of a number using scientific notation.
+
+ * **Input**: a ``Decimal`` object, or a float/int/long value
+ * **Parameters**: none
+
+ Examples:
+
+ Assuming ``book.numsold`` would return 1.000.000,
+
+ .. code-block:: django
+
+ {{ book.numsold|scientificfmt }}
+
+ would render **10E5**.
+
+
+
+ .. _Babel: http://babel.pocoo.org/
+ .. _Django: https://www.djangoproject.com/
+ .. _wrapper scripts: https://docs.djangoproject.com/en/dev/topics/i18n/translation/#localization-how-to-create-language-files
+ .. _Distutils/Setuptools Integration: http://babel.pocoo.org/en/stable/setup.html
+ .. _Date Formatting: http://babel.pocoo.org/en/stable/dates.html
+ .. _Number Formatting: http://babel.pocoo.org/en/stable/numbers.html
+ .. _Locale: http://babel.pocoo.org/en/stable/api/core.html#babel.core.Locale
+
+
+ Changelog
+ =========
+
+ 0.7.2 (unreleased)
+ ------------------
+
+ ...
+
+
+ 0.7.1 (2019-12-02)
+ ------------------
+
+ - compatibility with Django 3.0
+ - drop support for Python < 3.5, Django < 2.2
+
+
+ 0.7.0 (2019-10-21)
+ ------------------
+
+ - forked from django-babel
+ - drop support for Python < 3.4, Django < 2.0
+ - compatibility with Django 2.1 and 2.2 added
+ From @tsouvarev work : https://github.com/python-babel/django-babel/pull/45
+
+ 0.6.2 (2017-12-18)
+ ------------------
+
+ - compatibility with Django 2.0 added
+
+
+ 0.6.1 (2017-12-18)
+ ------------------
+
+ * compatibility with Django 1.11 added
+
+ 0.6.0 - 2017-04-25
+ ------------------
+
+ * compatibility with unsupported Django versions (<1.8) is dropped
+ * compatibility with Django 1.10+ middlewares was added
+
+ 0.5.1 - 2016-03-30
+ ------------------
+
+ * make imports absolute in babel templatetags
+ * strip quotes from translations via _()
+ * fix links in docs
+ * Add support for "trimmed" blocktrans content
+
+ 0.5.0 - 2016-02-29
+ ------------------
+
+ * Add compatibility for Django-1.9
+
+ 0.4.0 - 2015-04-22
+ ------------------
+
+ * Add compatibility for Django 1.8
+ * Add compatibility for latest django master
+ * Various python 3 fixes
+
+
+ 0.3.9 - 2014-12-24
+ ------------------
+
+ * Fix dependencies on Django/Babel to use lower-case egg names.
+
+ 0.3.8 - 2014-10-14
+ ------------------
+
+ * Fix old reference to `babeldjango` module in entry points.
+
+ 0.3.7 - 2014-10-14
+ ------------------
+
+ * Fix Python 3.x compatibility in `babel makemessages` command.
+
+ 0.3.6 - 2014-10-05
+ ------------------
+
+ * Django 1.7 compatibility
+
+
+ 0.3.5 - 2014-09-10
+ ------------------
+
+ * Create .po and .pot files if not existing, plus it's specific base directories.
+
+
+ 0.3.4 - 2014-05-25
+ ------------------
+
+ * Fixed django compatibility
+
+ 0.3.3 - 2014-04-22
+ ------------------
+
+ * Fixed release builds
+
+
+ 0.3.2 - 2014-04-22
+ ------------------
+
+ * Initial testing infrastructure
+ * Add management command `babel` with `makemessages` and `compilemessages`
+ labels. Mimics django's `makemessages` and `compilemessages` commands.
+ * Various unicode fixes
+
+
+ 0.3.1 - 2013-12-11
+ ------------------
+
+ * fix relative import in template tags
+
+
+ 0.3.0 - 2013-12-11
+ ------------------
+
+ * Rename package to django_babel
+
+
+ 0.2.3 - 2013-12-11
+ ------------------
+
+ * Rename package on PyPI
+ * Use GitHub as source control
+
+
+ .. _`master`: https://github.com/Zegocover/enmerkar
+
+Platform: UNKNOWN
+Classifier: Development Status :: 4 - Beta
+Classifier: Environment :: Web Environment
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: BSD License
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python
+Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Classifier: Framework :: Django
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: Implementation :: PyPy
+Classifier: Programming Language :: Python :: Implementation :: CPython
diff --git a/enmerkar.egg-info/SOURCES.txt b/enmerkar.egg-info/SOURCES.txt
new file mode 100644
index 0000000..fde3f9a
--- /dev/null
+++ b/enmerkar.egg-info/SOURCES.txt
@@ -0,0 +1,38 @@
+CHANGELOG.rst
+COPYING
+MANIFEST.in
+README.rst
+setup.py
+docs/Makefile
+docs/conf.py
+docs/extract.rst
+docs/index.rst
+docs/make.bat
+docs/management-commands.rst
+docs/middleware.rst
+docs/template-tags.rst
+enmerkar/__init__.py
+enmerkar/extract.py
+enmerkar/middleware.py
+enmerkar.egg-info/PKG-INFO
+enmerkar.egg-info/SOURCES.txt
+enmerkar.egg-info/dependency_links.txt
+enmerkar.egg-info/entry_points.txt
+enmerkar.egg-info/requires.txt
+enmerkar.egg-info/top_level.txt
+enmerkar/management/__init__.py
+enmerkar/management/commands/__init__.py
+enmerkar/management/commands/babel.py
+enmerkar/templatetags/__init__.py
+enmerkar/templatetags/babel.py
+tests/babel.cfg
+tests/conftest.py
+tests/test_command.py
+tests/test_extract.py
+tests/test_render.py
+tests/testproject/__init__.py
+tests/testproject/settings.py
+tests/testproject/urls.py
+tests/testproject/locale/en/LC_MESSAGES/.gitkeep
+tests/testproject/locale/fi/LC_MESSAGES/django.po
+tests/testproject/templates/test.txt
\ No newline at end of file
diff --git a/enmerkar.egg-info/dependency_links.txt b/enmerkar.egg-info/dependency_links.txt
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/enmerkar.egg-info/dependency_links.txt
@@ -0,0 +1 @@
+
diff --git a/enmerkar.egg-info/entry_points.txt b/enmerkar.egg-info/entry_points.txt
new file mode 100644
index 0000000..7fb90f1
--- /dev/null
+++ b/enmerkar.egg-info/entry_points.txt
@@ -0,0 +1,3 @@
+[babel.extractors]
+django = enmerkar.extract:extract_django
+
diff --git a/enmerkar.egg-info/requires.txt b/enmerkar.egg-info/requires.txt
new file mode 100644
index 0000000..a81cebc
--- /dev/null
+++ b/enmerkar.egg-info/requires.txt
@@ -0,0 +1,2 @@
+django>=2.2
+babel>=1.3
diff --git a/enmerkar.egg-info/top_level.txt b/enmerkar.egg-info/top_level.txt
new file mode 100644
index 0000000..fccde92
--- /dev/null
+++ b/enmerkar.egg-info/top_level.txt
@@ -0,0 +1 @@
+enmerkar
diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 0000000..8bfd5a1
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,4 @@
+[egg_info]
+tag_build =
+tag_date = 0
+
diff --git a/setup.py b/setup.py
index c33dccf..e69391f 100755
--- a/setup.py
+++ b/setup.py
@@ -15,7 +15,7 @@ setup(
name='enmerkar',
description='Utilities for using Babel in Django',
long_description=read('README.rst') + u'\n\n' + read('CHANGELOG.rst'),
- version='0.7.1',
+ version='0.7.2dev0',
license='BSD',
author='Christopher Grebs',
author_email='cg@webshox.org',
diff --git a/tox.ini b/tox.ini
deleted file mode 100644
index d3f9f56..0000000
--- a/tox.ini
+++ /dev/null
@@ -1,29 +0,0 @@
-[tox]
-envlist = py{36,37,38}-{django30,djangomaster}, py{35,36,37}-django22, lint, docs
-
-[testenv]
-deps =
- coverage
- pytest
- pytest-cov
- pytest-django
- python-coveralls
- django22: Django>=2.2,<2.3
- django30: Django>=3.0,<3.1
- djangomaster: https://github.com/django/django/archive/master.tar.gz#egg=Django
-commands = py.test {posargs}
-
-[testenv:docs]
-basepython = python3.6
-deps =
- sphinx
- Django>=3.0,<3.1
-commands =
- sphinx-build -W -b html -d {envtmpdir}/doctrees docs {envtmpdir}/_build/html
- sphinx-build -W -b linkcheck docs {envtmpdir}/_build/html
-
-[testenv:lint]
-basepython = python3.6
-deps =
- flake8==3.7.8
-commands=flake8 enmerkar tests
Debdiff
[The following lists of changes regard files as different if they have different names, permissions or owners.]
Files in second set of .debs but not in first
-rw-r--r-- root/root /usr/lib/python3/dist-packages/enmerkar-0.7.2.dev0.egg-info/PKG-INFO -rw-r--r-- root/root /usr/lib/python3/dist-packages/enmerkar-0.7.2.dev0.egg-info/dependency_links.txt -rw-r--r-- root/root /usr/lib/python3/dist-packages/enmerkar-0.7.2.dev0.egg-info/entry_points.txt -rw-r--r-- root/root /usr/lib/python3/dist-packages/enmerkar-0.7.2.dev0.egg-info/requires.txt -rw-r--r-- root/root /usr/lib/python3/dist-packages/enmerkar-0.7.2.dev0.egg-info/top_level.txt
Files in first set of .debs but not in second
-rw-r--r-- root/root /usr/lib/python3/dist-packages/enmerkar-0.7.1.egg-info/PKG-INFO -rw-r--r-- root/root /usr/lib/python3/dist-packages/enmerkar-0.7.1.egg-info/dependency_links.txt -rw-r--r-- root/root /usr/lib/python3/dist-packages/enmerkar-0.7.1.egg-info/entry_points.txt -rw-r--r-- root/root /usr/lib/python3/dist-packages/enmerkar-0.7.1.egg-info/requires.txt -rw-r--r-- root/root /usr/lib/python3/dist-packages/enmerkar-0.7.1.egg-info/top_level.txt
No differences were encountered between the control files of package python-enmerkar-doc
No differences were encountered between the control files of package python3-enmerkar