Skip to content

Commit ec6b29a

Browse files
PhRosenbergerpmai
authored andcommitted
removing format command line argument and associated functions
Signed-off-by: Philipp Rosenberger <[email protected]>
1 parent 1f22ae2 commit ec6b29a

File tree

2 files changed

+16
-109
lines changed

2 files changed

+16
-109
lines changed

format/OSITrace.py

Lines changed: 16 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@
1313

1414
warnings.simplefilter("default")
1515

16-
SEPARATOR = b"$$__$$"
17-
SEPARATOR_LENGTH = len(SEPARATOR)
1816
BUFFER_SIZE = 1000000
1917

2018

@@ -47,7 +45,7 @@ def __init__(self, path=None, type_name="SensorView"):
4745
self.retrieved_scenario_size = 0
4846
self._int_length = len(struct.pack("<L", 0))
4947

50-
def from_file(self, path, type_name="SensorView", max_index=-1, format_type=None):
48+
def from_file(self, path, type_name="SensorView", max_index=-1):
5149
"""Import a scenario from a file"""
5250

5351
if path.lower().endswith((".lzma", ".xz")):
@@ -57,68 +55,7 @@ def from_file(self, path, type_name="SensorView", max_index=-1, format_type=None
5755

5856
self.type_name = type_name
5957
self.format_type = format_type
60-
61-
if self.format_type == "separated":
62-
# warnings.warn("The separated trace files will be completely removed in the near future. Please convert them to *.osi files with the converter in the main OSI repository.", PendingDeprecationWarning)
63-
self.timestep_count = self.retrieve_message_offsets(max_index)
64-
else:
65-
self.timestep_count = self.retrieve_message()
66-
67-
def retrieve_message_offsets(self, max_index):
68-
"""
69-
Retrieve the offsets of all the messages of the scenario and store them
70-
in the `message_offsets` attribute of the object
71-
72-
It returns the number of discovered timesteps
73-
"""
74-
scenario_size = get_size_from_file_stream(self.scenario_file)
75-
76-
if max_index == -1:
77-
max_index = float("inf")
78-
79-
buffer_deque = deque(maxlen=2)
80-
81-
self.message_offsets = [0]
82-
eof = False
83-
84-
self.scenario_file.seek(0)
85-
86-
while not eof and len(self.message_offsets) <= max_index:
87-
found = -1 # SEP offset in buffer
88-
buffer_deque.clear()
89-
90-
while found == -1 and not eof:
91-
new_read = self.scenario_file.read(BUFFER_SIZE)
92-
buffer_deque.append(new_read)
93-
buffer = b"".join(buffer_deque)
94-
found = buffer.find(SEPARATOR)
95-
eof = len(new_read) != BUFFER_SIZE
96-
97-
buffer_offset = self.scenario_file.tell() - len(buffer)
98-
message_offset = found + buffer_offset + SEPARATOR_LENGTH
99-
self.message_offsets.append(message_offset)
100-
101-
self.scenario_file.seek(message_offset)
102-
103-
while eof and found != -1:
104-
buffer = buffer[found + SEPARATOR_LENGTH :]
105-
found = buffer.find(SEPARATOR)
106-
107-
buffer_offset = scenario_size - len(buffer)
108-
109-
message_offset = found + buffer_offset + SEPARATOR_LENGTH
110-
111-
if message_offset >= scenario_size:
112-
break
113-
self.message_offsets.append(message_offset)
114-
115-
if eof:
116-
self.retrieved_scenario_size = scenario_size
117-
else:
118-
self.retrieved_scenario_size = self.message_offsets[-1]
119-
self.message_offsets.pop()
120-
121-
return len(self.message_offsets)
58+
self.timestep_count = self.retrieve_message()
12259

12360
def retrieve_message(self):
12461
scenario_size = get_size_from_file_stream(self.scenario_file)
@@ -180,42 +117,21 @@ def get_messages_in_index_range(self, begin, end):
180117
for abs_message_offset in self.message_offsets[begin:end]
181118
]
182119

183-
if self.format_type == "separated":
184-
message_sequence_len = abs_last_offset - abs_first_offset - SEPARATOR_LENGTH
185-
serialized_messages_extract = self.scenario_file.read(message_sequence_len)
186-
187-
for rel_index, rel_message_offset in enumerate(rel_message_offsets):
188-
rel_begin = rel_message_offset
189-
rel_end = (
190-
rel_message_offsets[rel_index + 1] - SEPARATOR_LENGTH
191-
if rel_index + 1 < len(rel_message_offsets)
192-
else message_sequence_len
193-
)
194-
message = MESSAGES_TYPE[self.type_name]()
195-
serialized_message = serialized_messages_extract[rel_begin:rel_end]
196-
message.ParseFromString(serialized_message)
197-
yield message
198-
199-
elif self.format_type is None:
200-
message_sequence_len = abs_last_offset - abs_first_offset
201-
serialized_messages_extract = self.scenario_file.read(message_sequence_len)
202-
203-
for rel_index, rel_message_offset in enumerate(rel_message_offsets):
204-
rel_begin = rel_message_offset + self._int_length
205-
rel_end = (
206-
rel_message_offsets[rel_index + 1]
207-
if rel_index + 1 < len(rel_message_offsets)
208-
else message_sequence_len
209-
)
210-
211-
message = MESSAGES_TYPE[self.type_name]()
212-
serialized_message = serialized_messages_extract[rel_begin:rel_end]
213-
message.ParseFromString(serialized_message)
214-
yield message
120+
message_sequence_len = abs_last_offset - abs_first_offset
121+
serialized_messages_extract = self.scenario_file.read(message_sequence_len)
215122

216-
else:
217-
self.scenario_file.close()
218-
raise Exception(f"The defined format {self.format_type} does not exist.")
123+
for rel_index, rel_message_offset in enumerate(rel_message_offsets):
124+
rel_begin = rel_message_offset + self._int_length
125+
rel_end = (
126+
rel_message_offsets[rel_index + 1]
127+
if rel_index + 1 < len(rel_message_offsets)
128+
else message_sequence_len
129+
)
130+
131+
message = MESSAGES_TYPE[self.type_name]()
132+
serialized_message = serialized_messages_extract[rel_begin:rel_end]
133+
message.ParseFromString(serialized_message)
134+
yield message
219135

220136
def make_readable(self, name, interval=None, index=None):
221137
self.scenario_file.seek(0)

format/osi2read.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,6 @@ def command_line_arguments():
4141
type=str,
4242
required=False,
4343
)
44-
parser.add_argument(
45-
"--format",
46-
"-f",
47-
help="Set the format type of the trace.",
48-
choices=["separated", None],
49-
default=None,
50-
type=str,
51-
required=False,
52-
)
5344

5445
return parser.parse_args()
5546

0 commit comments

Comments
 (0)