1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
Description: Move call to generate Qur'an index from Makefile to setup.py
That would make the package build even if python2.5 is the default python.
Author: أحمد المحمودي (Ahmed El-Mahmoudy) <aelmahmoudy@users.sourceforge.net>
Forwarded: no
--- a/Makefile
+++ b/Makefile
@@ -5,7 +5,7 @@
SOURCES=$(wildcard *.desktop.in)
TARGETS=${SOURCES:.in=} othman-data/quran.db
-all: $(TARGETS) icons othman-data/ix.db
+all: $(TARGETS) icons
icons:
for i in 96 72 64 48 36 32 24 22 16; do \
--- a/setup.py
+++ b/setup.py
@@ -6,6 +6,29 @@
# to install type:
# python setup.py install --root=/
+from distutils.command.build import build
+from distutils.command.clean import clean
+
+class my_build(build):
+ def run(self):
+ build.run(self)
+ # generate data
+ from othman.core import othmanCore, searchIndexer
+
+ if not os.path.isfile('othman-data/ix.db'):
+ q=othmanCore(False)
+ ix=searchIndexer(True)
+ for n,(o,i) in enumerate(q.getAyatIter(1, 6236)):
+ for w in i.split(): ix.addWord(w,n+1)
+ d=os.path.dirname(sys.argv[0])
+ ix.save()
+
+class my_clean(clean):
+ def run(self):
+ clean.run(self)
+ try: os.unlink('othman-data/ix.db')
+ except OSError: pass
+
locales=map(lambda i: ('share/'+i,[''+i+'/othman.mo',]),glob('locale/*/LC_MESSAGES'))
data_files=[('share/othman/',glob('othman-data/*'))]
data_files.extend(locales)
@@ -23,6 +46,7 @@
'Operating System :: POSIX',
'Programming Language :: Python',
],
+ cmdclass={'build': my_build, 'clean': my_clean},
data_files=data_files
)
|