Beispiel #1
0
 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"
Beispiel #2
0
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)
Beispiel #4
0
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)
Beispiel #5
0
            "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)
Beispiel #6
0
 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
Beispiel #7
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
Beispiel #8
0
 def test_get_matters(self):
     ss = SymbolStorage()
     matters = ss.get_matters()
     assert len(matters) > 0
     assert matters[0] != ""
Beispiel #9
0
 def test_get_families(self):
     ss = SymbolStorage()
     families = ss.get_families()
     assert len(families) > 0
     assert families[0] != ""
Beispiel #10
0
 def test_get_dataframe(self):
     ss = SymbolStorage()
     df = ss.get_dataframe()
     assert len(df.name) > 0