cic-internal-integration/apps/cic-base/setup.py

51 lines
1.1 KiB
Python

from setuptools import setup
import configparser
import os
import logging
import re
logg = logging.getLogger(__name__)
re_v = r'[~><=]='
def merge(requirements_files, base_dir='.'):
requirements = {}
for r in requirements_files:
filepath = os.path.join(base_dir, r)
logg.debug('reading {}'.format(filepath))
f = open(filepath, 'r')
while True:
l = f.readline()
if l == '':
break
l = l.rstrip()
m = re.split(re_v, l)
k = m[0]
if k == None:
raise ValueError('invalid requirement line {}'.format(l))
if requirements.get(k) == None:
logg.info('adding {} -> {}'.format(k, l))
requirements[k] = l
else:
logg.debug('skipping {}'.format(l))
f.close()
return list(requirements.values())
requirements = []
f = open('requirements.txt', 'r')
while True:
l = f.readline()
if l == '':
break
requirements.append(l.rstrip())
f.close()
setup(
install_requires=requirements,
)