#!/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})