def test_pandas_to_symbol_data(self): df = pd.DataFrame( [["a", "b", "c", "d"]], columns=["name", "family", "description", "matter"] ) ss = SymbolStorage() symbol_list = ss._pandas_to_symbol_data(df) assert len(symbol_list) == 1 assert symbol_list[0].name == "a" assert symbol_list[0].family == "b" assert symbol_list[0].description == "c" assert symbol_list[0].matter == "d"
def get_valid_symbols(symbol_storage: SymbolStorage, diagram_matters: List[str]) -> List[SymbolData]: symbols: List[SymbolData] = [] for matter in diagram_matters: symbols.extend(symbol_storage.get_symbols_by_matter(matter)) blocked_symbol_st = BlockedSymbolsStorage() symbols = blocked_symbol_st.filter_out_blocked_symbols( symbols, blocked_symbol_st.blocked_symbols) return symbols
""" Convert registered symbols in the library with CAD files into PNGs """ import logging from generator.cad_converter import dxf_to_png from generator.metadata import SymbolStorage if __name__ == "__main__": logger = logging.getLogger(__name__) storage = SymbolStorage() symbols_stored = storage.data.to_dict("records") dxf_to_png(symbols_stored)
if __name__ == "__main__": logger = logging.getLogger(__name__) parser = argparse.ArgumentParser( description="Create the symbol library used for the generator") parser.add_argument("--ccf_filename", type=str, required=True, help="ccf filename to import") args = parser.parse_args() if args.ccf_filename: symbols = parse_ccf_file(args.ccf_filename) symbols_with_path = [] for symbol in symbols: symbol_name = symbol[0] try: symbol_file = find_symbol_file(symbol_name) collect_dwg_file(symbol_file) file_path_split = symbol_file.split("/") if file_path_split[-4] == "Blocks": symbols_with_path.append(symbol + (file_path_split[-3], )) except Exception as e: logger.error(e) storage = SymbolStorage() storage.save(symbols_with_path) html_doc = storage.get_html_visualization() with open(os.path.join(METADATA_PATH, "symbols.html"), "w") as fout: fout.write(html_doc)
"S-Safety", ], default=None, required=True, ) parser.add_argument( "--diagram_size", type=int, nargs=2, help="Diagram size: 500 500", default=[1000, 1000], ) args = parser.parse_args() symbol_storage = SymbolStorage() dss = DiagramSymbolsStorage() number_diagrams = int(args.number_diagrams[0]) symbols_per_diagram = int(args.symbols_per_diagram[0]) diagram_size = args.diagram_size if args.diagram_matter: if type(args.diagram_matter) == list: diagram_matters = args.diagram_matter else: diagram_matters = [args.diagram_matter] else: matters = symbol_storage.get_matters() random.choices(matters, k=2)
def test_get_symbols_by_family(self): ss = SymbolStorage() families = ss.get_families() matters = ss.get_matters() symbols = ss.get_symbols_by_family(matter=matters[0], family=families[0]) assert len(symbols) > 0
def test_get_symbols_by_matter(self): ss = SymbolStorage() matters = ss.get_matters() symbols = ss.get_symbols_by_matter(matters[0]) assert len(symbols) > 0
def test_get_matters(self): ss = SymbolStorage() matters = ss.get_matters() assert len(matters) > 0 assert matters[0] != ""
def test_get_families(self): ss = SymbolStorage() families = ss.get_families() assert len(families) > 0 assert families[0] != ""
def test_get_dataframe(self): ss = SymbolStorage() df = ss.get_dataframe() assert len(df.name) > 0