diff options
author | Wojtek Kosior <koszko@koszko.org> | 2022-10-11 12:58:44 +0200 |
---|---|---|
committer | Wojtek Kosior <koszko@koszko.org> | 2022-10-11 13:12:15 +0200 |
commit | 4c64090c1b579b4375879f6e6fa7e09e291ac069 (patch) | |
tree | 0d76afcf98fb5aad207956db53623628d37d6b3a | |
parent | 4c6e87a166ab8824f109c4dab2282ef60f7d3ea1 (diff) | |
download | haketilo-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.cfg | 2 | ||||
-rwxr-xr-x | setup.py | 37 |
2 files changed, 34 insertions, 5 deletions
@@ -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 = @@ -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 +}) |