Skip to content

AssertionError in software_api() with custom PandA SW string in 0.10.4 (works in 0.10.3) #120

@zhulincqu

Description

@zhulincqu

Description

After upgrading pandablocks from 0.10.3 to 0.10.4, we started seeing an AssertionError during connect().

This issue does not occur in 0.10.3.

It appears that the new Identification dataclass introduced in 0.10.4 enforces a stricter version format in software_api(), which fails for MAX IV PandA firmware strings.

Error Traceback:

Traceback (most recent call last):
 File "/opt/conda/envs/sardana/lib/python3.11/site-packages/sardana_maxpeem/ctrl/MAXPEEMPandaBoxTGCtrl.py", line 49, in wrapper
 return func(self, *args, **kwargs)
 File "/opt/conda/envs/sardana/lib/python3.11/site-packages/sardana_maxpeem/ctrl/MAXPEEMPandaBoxTGCtrl.py", line 137, in __init__
 self.pandabox.connect()
 File "/opt/conda/envs/sardana/lib/python3.11/site-packages/pandablocks/blocking.py", line 58, in connect
 self._ctrl_connection.set_api(identification.software_api())
 File "/opt/conda/envs/sardana/lib/python3.11/site-packages/pandablocks/responses.py", line 374, in software_api
 assert match, (
AssertionError: PandA SW: maxiv20210331-151-ge4812f1 does not match expected pattern re.compile('^(\\d+).(\\d+)')

Environment

  • pandablocks==0.10.4 (failing)
  • pandablocks==0.10.3 (working)
  • python==3.11

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions