def avail_easyconfig_constants_rst(): """Generate easyconfig constant documentation in rst format""" title = "Constants that can be used in easyconfigs" table_titles = ["Constant name", "Constant value", "Description"] table_values = [ ["``%s``" % cst for cst in EASYCONFIG_CONSTANTS.keys()], ["``%s``" % cst[0] for cst in EASYCONFIG_CONSTANTS.values()], [cst[1] for cst in EASYCONFIG_CONSTANTS.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 avail_easyconfig_constants_txt(): """Generate easyconfig constant documentation in txt format""" doc = ["Constants that can be used in easyconfigs"] for cst, (val, descr) in sorted(EASYCONFIG_CONSTANTS.items()): doc.append('%s%s: %s (%s)' % (INDENT_4SPACES, cst, val, descr)) return '\n'.join(doc)
def avail_easyconfig_constants_txt(): """Generate easyconfig constant documentation in txt format""" doc = ["Constants that can be used in easyconfigs"] for cst, (val, descr) in EASYCONFIG_CONSTANTS.items(): doc.append('%s%s: %s (%s)' % (INDENT_4SPACES, cst, val, descr)) return '\n'.join(doc)
def avail_easyconfig_constants_rst(): """Generate easyconfig constant documentation in rst format""" title = "Constants that can be used in easyconfigs" table_titles = [ "Constant name", "Constant value", "Description", ] table_values = [ ["``%s``" % cst for cst in EASYCONFIG_CONSTANTS.keys()], ["``%s``" % cst[0] for cst in EASYCONFIG_CONSTANTS.values()], [cst[1] for cst in EASYCONFIG_CONSTANTS.values()], ] doc = rst_title_and_table(title, table_titles, table_values) return '\n'.join(doc)