aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWojtek Kosior <koszko@koszko.org>2022-10-11 12:58:44 +0200
committerWojtek Kosior <koszko@koszko.org>2022-10-11 13:12:15 +0200
commit4c64090c1b579b4375879f6e6fa7e09e291ac069 (patch)
tree0d76afcf98fb5aad207956db53623628d37d6b3a
parent4c6e87a166ab8824f109c4dab2282ef60f7d3ea1 (diff)
downloadhaketilo-hydrilla-4c64090c1b579b4375879f6e6fa7e09e291ac069.tar.gz
haketilo-hydrilla-4c64090c1b579b4375879f6e6fa7e09e291ac069.zip
[builder][server][proxy] improve packaging of data files
This commit stops setuptools from presenting a depracetion warning. This commit ensures .mo files will not be included in source distributions.
-rw-r--r--setup.cfg2
-rwxr-xr-xsetup.py37
2 files changed, 34 insertions, 5 deletions
diff --git a/setup.cfg b/setup.cfg
index f21a5b6..c9d4105 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -33,7 +33,7 @@ classifiers =
zip_safe = False
package_dir =
= src
-packages = find:
+packages = find_namespace:
include_package_data=True
python_requires = >= 3.7
install_requires =
diff --git a/setup.py b/setup.py
index 345febc..3aa9f74 100755
--- a/setup.py
+++ b/setup.py
@@ -8,13 +8,42 @@
import setuptools
from setuptools.command.build_py import build_py
+from setuptools.command.sdist import sdist
+
+from pathlib import Path
+
+here = Path(__file__).resolve().parent
class CustomBuildCommand(build_py):
- '''
- The build command but runs babel before build.
- '''
+ """The build command but runs babel before build."""
def run(self, *args, **kwargs):
+ """Wrapper around build_py's original run() method."""
self.run_command('compile_catalog')
+
+ super().run(*args, **kwargs)
+
+class CustomSdistCommand(sdist):
+ """
+ The sdist command but prevents compiled message catalogs from being included
+ in the archive.
+ """
+ def run(self, *args, **kwargs):
+ """Wrapper around sdist's original run() method."""
+ locales_dir = here / 'src/hydrilla/server/locales'
+ locale_files = {}
+
+ for path in locales_dir.rglob('*.mo'):
+ locale_files[path] = path.read_bytes()
+
+ for path in locale_files:
+ path.unlink()
+
super().run(*args, **kwargs)
-setuptools.setup(cmdclass={'build_py': CustomBuildCommand})
+ for path, contents in locale_files.items():
+ path.write_bytes(contents)
+
+setuptools.setup(cmdclass = {
+ 'build_py': CustomBuildCommand,
+ 'sdist': CustomSdistCommand
+})