From 66dea979ad56c22287e999c1820e9ab15ceda13d Mon Sep 17 00:00:00 2001 From: dbs Date: Sat, 15 Dec 2007 03:01:32 +0000 Subject: [PATCH] Add a PROJECT parameter for variable locale support. Make testpo.py able to run from within any directory. git-svn-id: svn://svn.open-ils.org/ILS/trunk@8216 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- build/i18n/Makefile | 13 +++++++------ build/i18n/tests/testpo.py | 35 +++++++++++++++++------------------ 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/build/i18n/Makefile b/build/i18n/Makefile index 0d6f81382b..52165d5d76 100644 --- a/build/i18n/Makefile +++ b/build/i18n/Makefile @@ -1,5 +1,6 @@ POOUTDIR=po POINDIR=po +PROJECT=locale LOCALE=fr-CA DTDDIR=../../Open-ILS/web/opac/locale PROPSDIR=../../Open-ILS/xul/staff_client/chrome/locale @@ -37,7 +38,7 @@ newpo: @echo "Generated new PO files for locale $(LOCALE)" # Generate a new set of POT files and entityized fieldmapper IDL -newpot: dtds2pot fmidl2pot fmidl2ent props2pot sql2pot +newpot: dtds2pot fmidl2pot fmidl2fmidlent props2pot sql2pot @echo "Generated new POT files" # Generate DTD, JavaScript message catalogs, fieldmapper IDL, @@ -63,19 +64,19 @@ props2pot: @moz2po -P $(PROGRESS) -o $(POOUTDIR) -i $(PROPSDIR)/en-US/ 2>&1 po2dtds: - @po2moz $(PROGRESS) -o locale/$(LOCALE) -t $(DTDDIR)/en-US/ -i $(POINDIR)/$(LOCALE) 2>&1 + @po2moz $(PROGRESS) -o $(PROJECT)/$(LOCALE) -t $(DTDDIR)/en-US/ -i $(POINDIR)/$(LOCALE) 2>&1 po2props: - @po2moz $(PROGRESS) -o locale/$(LOCALE) -t $(PROPSDIR)/en-US/ -i $(POINDIR)/$(LOCALE) 2>&1 + @po2moz $(PROGRESS) -o $(PROJECT)/$(LOCALE) -t $(PROPSDIR)/en-US/ -i $(POINDIR)/$(LOCALE) 2>&1 sql2pot: @scripts/db-seed-i18n.py --pot $(SQLSRC) --output $(POOUTDIR)/$(SQLOUT) po2sql: - @scripts/db-seed-i18n.py --sql $(POINDIR)/$(LOCALE)/$(SQLPO) --locale $(LOCALE) --output locale/$(LOCALE)/$(SQLOUT) + scripts/db-seed-i18n.py --sql $(POINDIR)/$(LOCALE)/$(SQLPO) --locale $(LOCALE) --output $(PROJECT)/$(LOCALE)/$(SQLOUT) # Generate a fieldmapper IDL file that uses entities instead of hard-coded strings -fmidlpo2fmidlent: +fmidl2fmidlent: @scripts/fieldmapper.py --convert $(FMIDLSRC) --output $(POOUTDIR)/$(FMIDLENT) # Generate a POT file for translating the entity values @@ -84,4 +85,4 @@ fmidl2pot: # Generate a set of entity declarations from a PO file fmidlpo2entity: - @scripts/fieldmapper.py --entity $(POINDIR)/$(LOCALE)/$(FMIDLOUT) --output locale/$(LOCALE)/$(FMIDLENTITY) + @scripts/fieldmapper.py --entity $(POINDIR)/$(FMIDLOUT) --output $(PROJECT)/$(LOCALE)/$(FMIDLENTITY) diff --git a/build/i18n/tests/testpo.py b/build/i18n/tests/testpo.py index b866417013..50922a473b 100644 --- a/build/i18n/tests/testpo.py +++ b/build/i18n/tests/testpo.py @@ -18,33 +18,33 @@ class TestPOFramework(unittest.TestCase): po_tmp_files = ('tests/tmp/po/test.properties.pot', 'tests/tmp/po/ll-LL/temp.properties.po') pot_dir = 'tests/tmp/po' - locale_dir = 'tests/tmp/po/ll-LL/' - po_tmp_dirs = (locale_dir, locale_dir, pot_dir, 'tests/tmp') + locale = 'll-LL' + locale_dir = 'tests/tmp/po/ll-LL' + project_dir = 'tests/tmp/locale' + po_tmp_dirs = (project_dir + '/' + locale, project_dir, locale_dir, pot_dir, project_dir, 'tests/tmp') + newdir = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) def setUp(self): + print os.getcwd() + os.chdir(self.newdir) self.tearDown() devnull = open('/dev/null', 'w') os.mkdir('tests/tmp') + os.mkdir(self.project_dir) proc = subprocess.Popen(('cp', '-r', 'po', 'tests/tmp'), 0, None, None, devnull, devnull).wait() proc = subprocess.Popen(('make', 'LOCALE=ll-LL', 'POINDIR=tests/tmp/po', 'POOUTDIR=tests/tmp/po', 'newpot'), 0, None, None, devnull, devnull).wait() proc = subprocess.Popen(('make', 'LOCALE=ll-LL', 'POINDIR=tests/tmp/po', 'POOUTDIR=tests/tmp/po', 'newpo'), 0, None, None, devnull, devnull).wait() - proc = subprocess.Popen(('make', 'LOCALE=ll-LL', 'POINDIR=tests/tmp/po', 'POOUTDIR=tests/tmp/po', 'newproject'), 0, None, None, devnull, devnull).wait() + proc = subprocess.Popen(('make', 'LOCALE=ll-LL', 'PROJECT=tests/tmp/locale', 'POINDIR=tests/tmp/po', 'POOUTDIR=tests/tmp/po', 'newproject'), 0, None, None, devnull, devnull).wait() devnull.close() def tearDown(self): - for dir in self.po_tmp_dirs: - for root, dirs, files in os.walk(os.path.join(os.path.dirname(__file__), dir), topdown=False): - for name in files: - os.remove(os.path.join(root, name)) - for name in dirs: - os.rmdir(os.path.join(root, name)) - - for file in self.po_tmp_files: - if os.access(file, os.F_OK): - os.remove(file) - - if os.access('tests/tmp', os.F_OK): - os.rmdir('tests/tmp') + for root, dirs, files in os.walk(os.path.join(self.newdir, 'tests/tmp'), topdown=False): + for name in files: + os.remove(os.path.join(root, name)) + for name in dirs: + os.rmdir(os.path.join(root, name)) + if os.access(os.path.join(self.newdir, 'tests/tmp'), os.F_OK): + os.rmdir(os.path.join(self.newdir, 'tests/tmp')) def testnewpofiles(self): # Create a brand new set of PO files from our en-US project files. @@ -89,7 +89,7 @@ class TestPOFramework(unittest.TestCase): os.rename(testpo, commonpo) # Create the "translated" properties file - commonprops = os.path.join(self.locale_dir, 'common.properties') + commonprops = os.path.join(self.project_dir, self.locale, 'common.properties') testprops = os.path.join(self.locale_dir, 'test.properties') commonfile = open(commonprops) testfile = open(testprops, 'w') @@ -164,5 +164,4 @@ class TestPOFramework(unittest.TestCase): self.assertEqual(filecmp.cmp(commonprops, testprops), 1) if __name__ == '__main__': - os.chdir('..') unittest.main() -- 2.11.0