def motif_description(motifname=None): stage = { "crumbroot": "/conventions", "motifname": motifname, "motif": get_motif_render(motifname), "breadcrumbs": get_path_breadcrumbs(motifname, rootst="Conventions / Motifs"), } # noqa return render_template("motif.html", stage=stage, pagetitle="MOTIF " + motifname)
def get_geda_subcircuit_context(sc): subcircuit = tendril.gedaif.gsymlib.get_subcircuit(sc) navpath = os.path.relpath(subcircuit.fpath, GEDA_SYMLIB_ROOT) navpath = os.path.splitext(navpath)[0] + '.sc' navpath = os.path.join('browse', navpath) return {'ident': subcircuit.subcircuitident, 'symbol': subcircuit, 'breadcrumbs': get_path_breadcrumbs(navpath, rootst="gEDA Symbol Library"), # noqa 'imgpath': subcircuit.img_repr_fname, 'schimgpath': subcircuit.sch_img_repr_fname }
def get_geda_generator_context(gen): generator = tendril.gedaif.gsymlib.get_generator(gen) navpath = os.path.relpath(generator.fpath, GEDA_SYMLIB_ROOT) navpath = os.path.splitext(navpath)[0] + '.gen' navpath = os.path.join('browse', navpath) genobj = tendril.gedaif.gsymlib.GSymGeneratorFile(generator.fpath) return {'genname': gen, 'generator': generator, 'breadcrumbs': get_path_breadcrumbs(navpath, rootst="gEDA Symbol Library"), # noqa 'sympaths': [os.path.relpath(generator.fpath, GEDA_SYMLIB_ROOT)], 'genpath': os.path.relpath(generator.genpath, GEDA_SYMLIB_ROOT), 'genobj': genobj}
def motif_description(motifname=None): stage = { 'crumbroot': "/conventions", 'motifname': motifname, 'motif': get_motif_render(motifname), 'breadcrumbs': get_path_breadcrumbs(motifname, rootst="Conventions / Motifs") } # noqa return render_template('motif.html', stage=stage, pagetitle='MOTIF ' + motifname)
def get_geda_symbol_context(ident): symbol = tendril.gedaif.gsymlib.get_symbol(ident, get_all=True) symbol = [x for x in symbol if x.status != 'Generator'] navpath = os.path.relpath(symbol[0].fpath, GEDA_SYMLIB_ROOT) navpath = os.path.join('browse', navpath) breadcrumbs = get_path_breadcrumbs(navpath, rootst="gEDA Symbol Library") if symbol[0].is_virtual: breadcrumbs.insert(-1, Crumb(name=os.path.splitext(symbol[0].fname)[0] + '.gen', # noqa path='detail/' + os.path.splitext(symbol[0].fname)[0] + '.gen')) # noqa stage = {'ident': ident, 'symbol': symbol[0], 'sympaths': [os.path.relpath(sym.fpath, GEDA_SYMLIB_ROOT) for sym in symbol], # noqa 'imgpaths': [sym.img_repr_fname for sym in symbol], 'inclusion': supersets.get_symbol_inclusion(ident), 'breadcrumbs': breadcrumbs} stage.update(get_inventory_stage(ident)) return stage
def get_geda_symbol_context(ident): symbol = tendril.gedaif.gsymlib.get_symbol(ident, get_all=True) symbol = [x for x in symbol if x.status != 'Generator'] navpath = os.path.relpath(symbol[0].fpath, GEDA_SYMLIB_ROOT) navpath = os.path.join('browse', navpath) breadcrumbs = get_path_breadcrumbs(navpath, rootst="gEDA Symbol Library") if symbol[0].is_virtual: breadcrumbs.insert(-1, Crumb(name=os.path.splitext(symbol[0].fname)[0] + '.gen', # noqa path='detail/' + os.path.splitext(symbol[0].fname)[0] + '.gen')) # noqa cobom = supersets.get_bom_superset() line = cobom.find_by_ident(ident) cards = None if line: cards = [] for idx, column in enumerate(line.columns): if column > 0: cardname = cobom.descriptors[idx].configname configs = cobom.descriptors[idx].configurations carddesc = configs.description(cardname) pcbstatus = configs.status_config(cardname) proj = configs.pcbname projdesc = configs.description() projstatus = configs.status cards.append(context_cardlisting( cardname, carddesc, pcbstatus, column, proj, projdesc, projstatus)) cards = _status_filter(cards) inclusion = _group_by_pcbname(cards) stage = {'ident': ident, 'symbol': symbol[0], 'sympaths': [os.path.relpath(sym.fpath, GEDA_SYMLIB_ROOT) for sym in symbol], # noqa 'imgpaths': [sym.img_repr_fname for sym in symbol], 'inclusion': inclusion, 'breadcrumbs': breadcrumbs} stage.update(get_inventory_stage(ident)) return stage
def get_geda_browser_context(path): if not is_geda_folder(path): abort(404) if path is not None: path = os.path.join(GEDA_SYMLIB_ROOT, path) else: path = GEDA_SYMLIB_ROOT flatten_folders = False flatten_folders_st = 'off' if request.args.get('flattenFolders') == u'on': flatten_folders = True flatten_folders_st = 'on' resolve_generators = False resolve_generators_st = 'off' if request.args.get('resolveGenerators') == u'on': resolve_generators = True resolve_generators_st = 'on' show_generators = True hide_generators = False hide_generators_st = 'off' if request.args.get('hideGenerators') == u'on': show_generators = False hide_generators = True hide_generators_st = 'on' show_images = False show_images_st = 'off' if request.args.get('showImages') == u'on': show_images = True show_images_st = 'on' if not flatten_folders: subfolders = [Subfolder(name=x, path=os.path.relpath(os.path.join(path, x), GEDA_SYMLIB_ROOT)) # noqa for x in os.listdir(path) if os.path.isdir(os.path.join(path, x))] # noqa else: subfolders = [] symbols = tendril.gedaif.gsymlib.gen_symlib(path, include_generators=show_generators, # noqa resolve_generators=resolve_generators, # noqa recursive=flatten_folders) if symbols is None: symbols = [] queryst = urlencode({'showImages': show_images_st, 'hideGenerators': hide_generators_st, 'resolveGenerators': resolve_generators_st, 'flattenFolders': flatten_folders_st}) breadcrumbs = get_path_breadcrumbs(path, GEDA_SYMLIB_ROOT, rootst="gEDA Symbol Library", prefix='browse') context = {'path': os.path.relpath(path, GEDA_SYMLIB_ROOT), 'subfolders': sorted(subfolders, key=lambda y: y.name), 'breadcrumbs': breadcrumbs, 'symbols': sorted(symbols, key=lambda y: y.ident), 'show_images': show_images, 'resolve_generators': resolve_generators, 'hide_generators': hide_generators, 'flatten_folders': flatten_folders, 'query_string': queryst} return context