def ospackages(pkg_list): """Summary Install OS Package Prerequisites Returns: Success | Failure, TYPE: bool """ try: for pkg in pkg_list: if is_installed(pkg): logger.info(f'{pkg} binary is already installed - skip') continue elif which('yum'): cmd = 'sudo yum install ' + pkg + ' 2>/dev/null' print(subprocess.getoutput(cmd)) elif which('dnf'): cmd = 'sudo dnf install ' + pkg + ' 2>/dev/null' print(subprocess.getoutput(cmd)) else: logger.warning( '%s: Dependent OS binaries not installed - package manager not identified' % inspect.stack()[0][3]) except OSError as e: logger.exception('{}: Problem installing os package {}'.format( inspect.stack()[0][3], pkg)) return False return True
def load_winfile_txt(flexwin_file, initial_weight=1.0): """ Read the txt format of window file(see the documentation online). :param flexwin_file: :param initial_weight: :return: """ win_list = [] with open(flexwin_file, "r") as f: num_file = int(f.readline().strip()) if num_file == 0: logger.warning("Nothing in flexwinfile: %s" % flexwin_file) return [] for idx in range(num_file): # keep the old format of cmt3d input obsd_id = f.readline().strip() synt_id = f.readline().strip() num_wins = int(f.readline().strip()) win_time = np.zeros((num_wins, 3)) win_weight = np.zeros(num_wins) for iwin in range(num_wins): content = f.readline().strip().split() win_time[iwin, 0] = float(content[0]) win_time[iwin, 1] = float(content[1]) if len(content) == 3: win_weight[iwin] = float(content[2]) else: win_weight[iwin] = initial_weight win_obj = Window(num_wins=num_wins, win_time=win_time, obsd_id=obsd_id, synt_id=synt_id, weight=win_weight) win_list.append(win_obj) return win_list
def main(): args = get_arguments(sys.argv) config_fn = args.config config = get_config(config_fn) input_fn = args.input_filename end_points = args.end_points ep = " with additional start/end points" if end_points else "" logger.info(f"Reading sentences from '{input_fn}'{ep}.") output_dir = args.output_dir if args.output_dir else os.path.dirname( os.path.realpath(input_fn)) os.makedirs(output_dir, exist_ok=True) ep = "_we" if end_points else "" output_fn = os.path.join( output_dir, os.path.splitext(os.path.basename(input_fn))[0] + ep + "_prp.graphml") tokenized_sentences = read_sentences(input_fn, config, end_points) initial_node_dict = build_initial_graph(tokenized_sentences) # make the paraphrases ! logger.info(f"Initial graph with {len(initial_node_dict)} nodes built.") if len(initial_node_dict) > 1000: very = "" if len(initial_node_dict) > 2000: very = "very " logger.warning( f"! Generation of the paraphrase graphs with this initial size could be {very}slow." ) node_dict_paraphrases = merge_graph_2_paraphrases(initial_node_dict) logger.info( f"Paraphrase graph with {len(node_dict_paraphrases)} nodes built.") write_graphml(node_dict_paraphrases, config, output_fn) logger.info(f"See output in '{output_fn}'.")
def build_package(build_root, builddir): """ Summary. Creates final os installable package for current build, build version Returns: Success | Failure, TYPE: bool """ try: pwd = os.getcwd() os.chdir(build_root) if os.path.exists(builddir): cmd = 'dpkg-deb --build ' + builddir + ' 2>/dev/null' stdout_message('Building {}... '.format(bn + builddir + rst)) stdout_message(subprocess.getoutput(cmd)) os.chdir(pwd) else: logger.warning( 'Build directory {} not found. Failed to create .deb package'. format(builddir)) os.chdir(pwd) return False except OSError as e: logger.exception('{}: Error during os package creation: {}'.format( inspect.stack()[0][3], e)) return False except Exception as e: logger.exception( '{}: Unknown Error during os package creation: {}'.format( inspect.stack()[0][3], e)) return False return True
def init_cli(): """Collect parameters and call main """ try: parser = argparse.ArgumentParser(add_help=False) args = options(parser) except Exception as e: help_menu() stdout_message(str(e), 'ERROR') return exit_codes['E_MISC']['Code'] if args.debug: stdout_message(message='forceVersion:\t{}'.format(args.fVersion), prefix='DBUG', severity='WARNING') stdout_message(message='build:\t{}'.format(args.build), prefix='DBUG', severity='WARNING') stdout_message(message='debug flag:\t{}'.format(args.debug), prefix='DBUG', severity='WARNING') if len(sys.argv) == 1: help_menu() return exit_codes['EX_OK']['Code'] elif args.help: help_menu() return exit_codes['EX_OK']['Code'] elif args.build: if valid_version(args.set) and prebuild( TMPDIR, VOLMNT, git_root() + '/' + PACKAGE_CONFIG): package = main(setVersion=args.set, environment=args.distro, force=args.force, debug=args.debug) if package: stdout_message( f'{PROJECT} build package created: {yl + package + rst}') stdout_message( f'Debian build process completed successfully. End', prefix='OK') return exit_codes['EX_OK']['Code'] else: stdout_message( '{}: Problem creating os installation package. Exit'. format(inspect.stack()[0][3]), prefix='WARN', severity='WARNING') return exit_codes['E_MISC']['Code'] elif not valid_version(args.set): stdout_message( 'You must enter a valid version when using --set-version parameter. Ex: 1.6.3', prefix='WARN', severity='WARNING') return exit_codes['E_DEPENDENCY']['Code'] else: logger.warning('{} Failure in prebuild stage'.format( inspect.stack()[0][3])) return exit_codes['E_DEPENDENCY']['Code'] return True