|
|
|
@ -22,23 +22,23 @@
|
|
|
|
|
import glob
|
|
|
|
|
import os
|
|
|
|
|
import re
|
|
|
|
|
import pathlib
|
|
|
|
|
import subprocess
|
|
|
|
|
from os.path import basename, splitext, join
|
|
|
|
|
from setuptools import setup
|
|
|
|
|
from setuptools.command.install import install
|
|
|
|
|
from setuptools.command.build_ext import build_ext
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PO_FILES = 'po/*.po'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Install(install):
|
|
|
|
|
"""Add the current commit hash to logger.py."""
|
|
|
|
|
"""Add the commit hash and build .mo translations."""
|
|
|
|
|
def run(self):
|
|
|
|
|
commit = os.popen('git rev-parse HEAD').read().strip()
|
|
|
|
|
if re.match(r'^([a-z]|[0-9])+$', commit):
|
|
|
|
|
with open('keymapper/commit_hash.py', 'w') as f:
|
|
|
|
|
f.write(f"COMMIT_HASH = '{commit}'\n")
|
|
|
|
|
|
|
|
|
|
# generate .mo files
|
|
|
|
|
make_lang()
|
|
|
|
|
|
|
|
|
@ -64,16 +64,15 @@ def get_packages():
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def make_lang():
|
|
|
|
|
mo_files = []
|
|
|
|
|
prefix = 'keymapper'
|
|
|
|
|
"""Build po files into mo/."""
|
|
|
|
|
os.makedirs('mo', exist_ok=True)
|
|
|
|
|
|
|
|
|
|
for po_file in glob.glob(PO_FILES):
|
|
|
|
|
lang = splitext(basename(po_file))[0]
|
|
|
|
|
os.makedirs(join('mo', lang), exist_ok=True)
|
|
|
|
|
print(f'generating translation for {lang}')
|
|
|
|
|
subprocess.run(['msgfmt', '-o', join('mo', lang, 'key-mapper.mo'), str(po_file)], check=True)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lang_data = []
|
|
|
|
|
for po_file in glob.glob(PO_FILES):
|
|
|
|
|
lang = splitext(basename(po_file))[0]
|
|
|
|
@ -82,6 +81,7 @@ for po_file in glob.glob(PO_FILES):
|
|
|
|
|
[f'mo/{lang}/key-mapper.mo']
|
|
|
|
|
))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
setup(
|
|
|
|
|
name='key-mapper',
|
|
|
|
|
version='1.0.0',
|
|
|
|
@ -91,7 +91,7 @@ setup(
|
|
|
|
|
url='https://github.com/sezanzeb/key-mapper',
|
|
|
|
|
license='GPL-3.0',
|
|
|
|
|
packages=get_packages(),
|
|
|
|
|
include_package_data = True,
|
|
|
|
|
include_package_data=True,
|
|
|
|
|
data_files=[
|
|
|
|
|
# see development.md#files
|
|
|
|
|
*lang_data,
|
|
|
|
|