Beispiel #1
0
    def parse(self,
              file_name: str,
              format_: str,
              true_path: bool = True,
              circuit: cir.Circuit = None) -> cir.Circuit:
        """
        Takes inn a file and appends it to a given circuit. If the file is in the data folder the filename can be given
        only with the name of the file. This function can parse tsv and xml formats.

        :param str file_name: Source file
        :param str format_: Format of file. Accepts "tsv" and "xml".
        :param bool true_path: Boolean value to indicate if object is in data folder.
        :param cir.Circuit circuit: Given circuit to append. Default creates new circuit.
        :return: Return a circuit with appended file content.
        :rtype: cir.Circuit
        :raises Exception: Invalid format.
        """
        if not circuit:
            circuit = cir.Circuit()
        if not true_path:
            file_name = pf.PathFinder.get_file_path(file_name=file_name,
                                                    folder_name="data")

        with fh.File(file_name, "r") as file_source:
            if format_ == "tsv":
                return self._tsv_parser(file_source, circuit)
            elif format_ == "xml":
                return self._xml_parser(file_source, circuit)
            elif format_ == "csv":
                self.separator = ","
                return self._tsv_parser(file_source, circuit)
            else:
                raise Exception("Invalid format")
Beispiel #2
0
 def test__init__(self):
     circuit = cir.Circuit()
     self.assertEqual(circuit.canvas, [])
     self.assertTrue(circuit._validness)
     self.assertIsNone(circuit._height)
     self.assertEqual(circuit._inside_diameter, 0.0)
     # Extra for good measure
     self.assertIs(type(circuit._inside_diameter), float)
     self.assertIsInstance(circuit.canvas, list)
Beispiel #3
0
 def example_circuit() -> cir.Circuit:
     circuit = cir.Circuit()
     circuit.add_tank("TI")
     circuit.add_straight_pipe("P1", 0.32, 10, 0)
     circuit.add_pump("Pu1", 0.76)
     circuit.add_straight_pipe("P2", 0.32, 10, 0)
     circuit.add_valve("V1", False)
     circuit.add_bend_pipe("B1", 0.32)
     circuit.add_straight_pipe("P3", 0.32, 6, 90)
     circuit.add_valve("V2", True)
     circuit.add_bend_pipe("B2", 0.32)
     circuit.add_straight_pipe("P4", 0.32, 10, 0)
     circuit.add_filter("F1", True)
     circuit.add_straight_pipe("P5", 0.32, 10, 0)
     circuit.add_tank("TE")
     circuit.name = "Some_name"
     return circuit
Beispiel #4
0
 def setUp(self) -> None:
     self.parser = par.Parser()
     self.circuit = cir.Circuit()
Beispiel #5
0
 def test_add_part(self):
     circuit = cir.Circuit()
     part_pipe_list_str = ["pipe", "Pipe_name_tester", "6", "0.1", "0"]
     circuit.add_part_from_string(part_pipe_list_str)
     self.assertIsInstance(circuit[0], cir.PipeStraight)
 def setUp(self) -> None:
     self.circuit = cir.Circuit()
     self.parser = pars.Parser()
     self.controller = circ.CircuitControl()