Skip to content

Commit 4380ec0

Browse files
authored
Rename Line as BeamLine (#15)
1 parent cca9fff commit 4380ec0

File tree

3 files changed

+24
-24
lines changed

3 files changed

+24
-24
lines changed

examples/fodo.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from pals_schema.MagneticMultipoleParameters import MagneticMultipoleParameters
1010
from pals_schema.DriftElement import DriftElement
1111
from pals_schema.QuadrupoleElement import QuadrupoleElement
12-
from pals_schema.Line import Line
12+
from pals_schema.BeamLine import BeamLine
1313

1414

1515
def main():
@@ -40,7 +40,7 @@ def main():
4040
length=0.5,
4141
)
4242
# Create line with all elements
43-
line = Line(
43+
line = BeamLine(
4444
line=[
4545
drift1,
4646
quad1,
@@ -61,7 +61,7 @@ def main():
6161
with open(yaml_file, "r") as file:
6262
yaml_data = yaml.safe_load(file)
6363
# Parse YAML data
64-
loaded_line = Line(**yaml_data)
64+
loaded_line = BeamLine(**yaml_data)
6565
# Validate loaded data
6666
assert line == loaded_line
6767
# Serialize to JSON
@@ -76,7 +76,7 @@ def main():
7676
with open(json_file, "r") as file:
7777
json_data = json.loads(file.read())
7878
# Parse JSON data
79-
loaded_line = Line(**json_data)
79+
loaded_line = BeamLine(**json_data)
8080
# Validate loaded data
8181
assert line == loaded_line
8282

src/pals_schema/Line.py renamed to src/pals_schema/BeamLine.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@
77
from pals_schema.QuadrupoleElement import QuadrupoleElement
88

99

10-
class Line(BaseModel):
10+
class BeamLine(BaseModel):
1111
"""A line of elements and/or other lines"""
1212

1313
# Validate every time a new value is assigned to an attribute,
14-
# not only when an instance of Line is created
14+
# not only when an instance of BeamLine is created
1515
model_config = ConfigDict(validate_assignment=True)
1616

17-
kind: Literal["Line"] = "Line"
17+
kind: Literal["BeamLine"] = "BeamLine"
1818

1919
line: List[
2020
Annotated[
@@ -23,7 +23,7 @@ class Line(BaseModel):
2323
ThickElement,
2424
DriftElement,
2525
QuadrupoleElement,
26-
"Line",
26+
"BeamLine",
2727
],
2828
Field(discriminator="kind"),
2929
]
@@ -82,4 +82,4 @@ def model_dump(self, *args, **kwargs):
8282

8383

8484
# Avoid circular import issues
85-
Line.model_rebuild()
85+
BeamLine.model_rebuild()

tests/test_schema.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
from pals_schema.ThickElement import ThickElement
1414
from pals_schema.DriftElement import DriftElement
1515
from pals_schema.QuadrupoleElement import QuadrupoleElement
16-
from pals_schema.Line import Line
16+
from pals_schema.BeamLine import BeamLine
1717

1818

1919
def test_BaseElement():
@@ -98,23 +98,23 @@ def test_QuadrupoleElement():
9898
assert element.MagneticMultipoleP.Bn2 == element_magnetic_multipole_Bn2
9999
assert element.MagneticMultipoleP.Bs2 == element_magnetic_multipole_Bs2
100100
assert element.MagneticMultipoleP.tilt2 == element_magnetic_multipole_tilt2
101-
# Serialize the Line object to YAML
101+
# Serialize the BeamLine object to YAML
102102
yaml_data = yaml.dump(element.model_dump(), default_flow_style=False)
103103
print(f"\n{yaml_data}")
104104

105105

106-
def test_Line():
106+
def test_BeamLine():
107107
# Create first line with one base element
108108
element1 = BaseElement(name="element1")
109-
line1 = Line(line=[element1])
109+
line1 = BeamLine(line=[element1])
110110
assert line1.line == [element1]
111111
# Extend first line with one thick element
112112
element2 = ThickElement(name="element2", length=2.0)
113113
line1.line.extend([element2])
114114
assert line1.line == [element1, element2]
115115
# Create second line with one drift element
116116
element3 = DriftElement(name="element3", length=3.0)
117-
line2 = Line(line=[element3])
117+
line2 = BeamLine(line=[element3])
118118
# Extend first line with second line
119119
line1.line.extend(line2.line)
120120
assert line1.line == [element1, element2, element3]
@@ -126,8 +126,8 @@ def test_yaml():
126126
# Create one thick element
127127
element2 = ThickElement(name="element2", length=2.0)
128128
# Create line with both elements
129-
line = Line(line=[element1, element2])
130-
# Serialize the Line object to YAML
129+
line = BeamLine(line=[element1, element2])
130+
# Serialize the BeamLine object to YAML
131131
yaml_data = yaml.dump(line.model_dump(), default_flow_style=False)
132132
print(f"\n{yaml_data}")
133133
# Write the YAML data to a test file
@@ -137,11 +137,11 @@ def test_yaml():
137137
# Read the YAML data from the test file
138138
with open(test_file, "r") as file:
139139
yaml_data = yaml.safe_load(file)
140-
# Parse the YAML data back into a Line object
141-
loaded_line = Line(**yaml_data)
140+
# Parse the YAML data back into a BeamLine object
141+
loaded_line = BeamLine(**yaml_data)
142142
# Remove the test file
143143
os.remove(test_file)
144-
# Validate loaded Line object
144+
# Validate loaded BeamLine object
145145
assert line == loaded_line
146146

147147

@@ -151,8 +151,8 @@ def test_json():
151151
# Create one thick element
152152
element2 = ThickElement(name="element2", length=2.0)
153153
# Create line with both elements
154-
line = Line(line=[element1, element2])
155-
# Serialize the Line object to JSON
154+
line = BeamLine(line=[element1, element2])
155+
# Serialize the BeamLine object to JSON
156156
json_data = json.dumps(line.model_dump(), sort_keys=True, indent=2)
157157
print(f"\n{json_data}")
158158
# Write the JSON data to a test file
@@ -162,9 +162,9 @@ def test_json():
162162
# Read the JSON data from the test file
163163
with open(test_file, "r") as file:
164164
json_data = json.loads(file.read())
165-
# Parse the JSON data back into a Line object
166-
loaded_line = Line(**json_data)
165+
# Parse the JSON data back into a BeamLine object
166+
loaded_line = BeamLine(**json_data)
167167
# Remove the test file
168168
os.remove(test_file)
169-
# Validate loaded Line object
169+
# Validate loaded BeamLine object
170170
assert line == loaded_line

0 commit comments

Comments
 (0)