def avail_easyconfig_licenses_rst(): """Generate easyconfig license documentation in rst format""" title = "License constants that can be used in easyconfigs" table_titles = ["License name", "License description", "Version"] table_values = [ ["``%s``" % name for name in EASYCONFIG_LICENSES_DICT.keys()], ["%s" % lic().description for lic in EASYCONFIG_LICENSES_DICT.values()], ["``%s``" % lic().version for lic in EASYCONFIG_LICENSES_DICT.values()], ] doc = rst_title_and_table(title, table_titles, table_values) return "\n".join(doc)
def build_easyconfig_constants_dict(): """Make a dictionary with all constants that can be used""" all_consts = [ ('TEMPLATE_CONSTANTS', dict([(x[0], x[1]) for x in TEMPLATE_CONSTANTS])), ('EASYCONFIG_CONSTANTS', dict([(key, val[0]) for key, val in EASYCONFIG_CONSTANTS.items()])), ('EASYCONFIG_LICENSES', dict([(klass().name, name) for name, klass in EASYCONFIG_LICENSES_DICT.items()])), ] err = [] const_dict = {} for (name, csts) in all_consts: for cst_key, cst_val in csts.items(): ok = True for (other_name, other_csts) in all_consts: if name == other_name: continue # make sure that all constants only belong to one name if cst_key in other_csts: err.append('Found name %s from %s also in %s' % (cst_key, name, other_name)) ok = False if ok: const_dict[cst_key] = cst_val if len(err) > 0: raise EasyBuildError("EasyConfig constants sanity check failed: %s", '\n'.join(err)) else: return const_dict
def build_easyconfig_constants_dict(): """Make a dictionary with all constants that can be used""" all_consts = [ ('TEMPLATE_CONSTANTS', dict([(x[0], x[1]) for x in TEMPLATE_CONSTANTS])), ('EASYCONFIG_CONSTANTS', dict([(key, val[0]) for key, val in EASYCONFIG_CONSTANTS.items()])), ('EASYCONFIG_LICENSES', dict([(klass().name, name) for name, klass in EASYCONFIG_LICENSES_DICT.items()])), ] err = [] const_dict = {} for (name, csts) in all_consts: for cst_key, cst_val in csts.items(): ok = True for (other_name, other_csts) in all_consts: if name == other_name: continue # make sure that all constants only belong to one name if cst_key in other_csts: err.append('Found name %s from %s also in %s' % (cst_key, name, other_name)) ok = False if ok: const_dict[cst_key] = cst_val if len(err) > 0: raise EasyBuildError("EasyConfig constants sanity check failed: %s", '\n'.join(err)) else: return const_dict
def avail_easyconfig_licenses_rst(): """Generate easyconfig license documentation in rst format""" title = "License constants that can be used in easyconfigs" table_titles = [ "License name", "License description", "Version", ] table_values = [ ["``%s``" % name for name in EASYCONFIG_LICENSES_DICT.keys()], ["%s" % lic().description for lic in EASYCONFIG_LICENSES_DICT.values()], ["``%s``" % lic().version for lic in EASYCONFIG_LICENSES_DICT.values()], ] doc = rst_title_and_table(title, table_titles, table_values) return '\n'.join(doc)
def avail_easyconfig_licenses_txt(): """Generate easyconfig license documentation in txt format""" doc = ["License constants that can be used in easyconfigs"] for lic_name, lic in EASYCONFIG_LICENSES_DICT.items(): lic_inst = lic() strver = '' if lic_inst.version: strver = " (version: %s)" % '.'.join([str(d) for d in lic_inst.version]) doc.append("%s%s: %s%s" % (INDENT_4SPACES, lic_inst.name, lic_inst.description, strver)) return '\n'.join(doc)
def avail_easyconfig_licenses_txt(): """Generate easyconfig license documentation in txt format""" doc = ["License constants that can be used in easyconfigs"] for lic_name, lic in sorted(EASYCONFIG_LICENSES_DICT.items()): lic_inst = lic() strver = '' if lic_inst.version: strver = " (version: %s)" % '.'.join([str(d) for d in lic_inst.version]) doc.append("%s%s: %s%s" % (INDENT_4SPACES, lic_inst.name, lic_inst.description, strver)) return '\n'.join(doc)
def avail_easyconfig_licenses_rst(): """Generate easyconfig license documentation in rst format""" title = "License constants that can be used in easyconfigs" table_titles = [ "License name", "License description", "Version", ] lics = sorted(EASYCONFIG_LICENSES_DICT.items()) table_values = [ ["``%s``" % lic().name for _, lic in lics], ["%s" % lic().description for _, lic in lics], ["``%s``" % lic().version for _, lic in lics], ] doc = rst_title_and_table(title, table_titles, table_values) return '\n'.join(doc)