#!/usr/bin/env python3 import os import sys from string import Template import configparser OUTFILE = 'config.go' INFILE = 'config.go.tmpl' CONFIGFILE = 'config/vendor.conf' SCRIPT_NAME = 'vendorize' def getProviderData(config): default = config['default']['provider'] print("[+] Configured provider:", default) c = config[default] d = dict() keys = ('name', 'applicationName', 'binaryName', 'providerURL', 'tosURL', 'helpURL', 'donateURL', 'apiURL', 'geolocationAPI', 'caCertString') for value in keys: d[value] = c.get(value) return d def addCaData(data, configfile): provider = data.get('name').lower() folder, f = os.path.split(configfile) caFile = os.path.join(folder, provider + '-ca.crt') if not os.path.isfile(caFile): bail('[!] Cannot find CA file in {path}'.format(path=caFile)) with open(caFile) as ca: data['caCertString'] = ca.read().strip() def writeOutput(data, infile, outfile): with open(infile) as infile: s = Template(infile.read()) with open(outfile, 'w') as outf: outf.write(s.substitute(data)) def bail(msg=None): if not msg: print('Usage: {scriptname}.py