12345678910111213141516171819202122232425262728293031323334353637 |
- import plac
- import subprocess
- import config
- import re
- cfg = config.Config()
- models_dir = cfg.portal_dir + "\\System\\Models"
- cube_out = cfg.portal_dir + "\\System\\Cube_out"
- cube_temp = cube_out + "\\temp"
- @plac.pos('model_file', '', type=str)
- def create(model_file):
- cube = cube_name(model_file)
- cmd = f'"{cfg.cognos_dir}\\runmac32.exe" "{cfg.tools_dir}\\VBS\\create-cube.mac" "{models_dir}","{model_file}","{cube_temp}"'
- print(f"Erstelle Cube '{cube}' fuer '{model_file}'...", end='')
- p = subprocess.Popen(cmd)
- p.wait()
- temp_file = f'{cube_temp}\\{model_file}.mdc'
- cube_file = f'{cube_out}\\{cube}.mdc'
- print('erfolgreich.')
- def cube_name(model_file):
- p = re.compile(r'cube_out\\([^\.]+)\.mdc', re.IGNORECASE)
- with open(models_dir + '\\' + model_file, 'r', errors='ignore') as f:
- for line in f.readlines():
- m = p.search(line)
- if m:
- return p.match(m.group()).groups()[0].lower()
- if __name__ == '__main__':
- plac.call(create)
|