diff options
Diffstat (limited to 'setup.py')
| -rw-r--r-- | setup.py | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..a139ea9 --- /dev/null +++ b/setup.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import os +import sys + +try: + import DistUtilsExtra.auto +except ImportError: + print >> sys.stderr, 'To build pepseq you need https://launchpad.net/python-distutils-extra' + sys.exit(1) +assert DistUtilsExtra.auto.__version__ >= '2.18', 'needs DistUtilsExtra.auto >= 2.18' + +def update_data_path(prefix, oldvalue=None): + + try: + fin = file('pepseq/pepseqconfig.py', 'r') + fout = file(fin.name + '.new', 'w') + + for line in fin: + fields = line.split(' = ') # Separate variable from value + if fields[0] == '__pepseq_data_directory__': + # update to prefix, store oldvalue + if not oldvalue: + oldvalue = fields[1] + line = "%s = '%s'\n" % (fields[0], prefix) + else: # restore oldvalue + line = "%s = %s" % (fields[0], oldvalue) + fout.write(line) + + fout.flush() + fout.close() + fin.close() + os.rename(fout.name, fin.name) + except (OSError, IOError), e: + print ("ERROR: Can't find pepseq/pepseqconfig.py") + sys.exit(1) + return oldvalue + + +class InstallAndUpdateDataDirectory(DistUtilsExtra.auto.install_auto): + def run(self): + previous_value = update_data_path(self.prefix + '/share/pepseq/') + DistUtilsExtra.auto.install_auto.run(self) + update_data_path(self.prefix, previous_value) + + + +DistUtilsExtra.auto.setup( + name='pepseq', + version='0.1', + #license='GPL-3', + #author='Your Name', + #author_email='email@ubuntu.com', + #description='UI for managing …', + #long_description='Here a longer description', + #url='https://launchpad.net/pepseq', + cmdclass={'install': InstallAndUpdateDataDirectory}) |