I have the misfortune of sometimes being served incomplete status files, which openvpn-status will of course fail to parse. It usually throws ParsingError, but I ran into a case where it does not:
File "/home/user/.pyenv/versions/3.6.6/envs/a/a/b/models.py", line 217, in load
ovpn_status, tz = self._ovpn_status
File "/home/user/.pyenv/versions/3.6.6/envs/a/a/b/models.py", line 188, in _ovpn_status
status = parse_status(remote_status_file.read())
File "/home/user/.pyenv/versions/3.6.6/envs/a/lib/python3.6/site-packages/openvpn_status/shortcuts.py", line 18, in parse_status
return parser.parse()
File "/home/user/.pyenv/versions/3.6.6/envs/a/lib/python3.6/site-packages/openvpn_status/parser.py", line 92, in parse
for r in self._parse_fields(Routing, Status.global_stats.label)})
File "/home/user/.pyenv/versions/3.6.6/envs/a/lib/python3.6/site-packages/openvpn_status/parser.py", line 90, in <dictcomp>
status.routing_table.update({
File "/home/user/.pyenv/versions/3.6.6/envs/a/lib/python3.6/site-packages/openvpn_status/parser.py", line 123, in _parse_fields
setattr(instance, name, value)
File "/home/user/.pyenv/versions/3.6.6/envs/a/lib/python3.6/site-packages/openvpn_status/descriptors.py", line 30, in __set__
value = self.input_type(value)
File "/home/user/.pyenv/versions/3.6.6/envs/a/lib/python3.6/site-packages/openvpn_status/utils.py", line 23, in parse_time
return datetime.datetime.strptime(time, DATETIME_FORMAT_OPENVPN)
File "/home/user/.pyenv/versions/3.6.6/lib/python3.6/_strptime.py", line 565, in _strptime_datetime
tt, fraction = _strptime(data_string, format)
File "/home/user/.pyenv/versions/3.6.6/lib/python3.6/_strptime.py", line 362, in _strptime
(data_string, format))
ValueError: time data 'Wed Feb 20 21:' does not match format '%a %b %d %H:%M:%S %Y'
Hello!
I have the misfortune of sometimes being served incomplete status files, which openvpn-status will of course fail to parse. It usually throws
ParsingError
, but I ran into a case where it does not: