aboutsummaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py58
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})