Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PyDMChannel is broken for filter syntax and some symbols (like #) in CA #1118

Open
flowln opened this issue Oct 16, 2024 · 1 comment
Open
Assignees

Comments

@flowln
Copy link
Contributor

flowln commented Oct 16, 2024

Describe the bug
Previous to version 1.19 of PyDM, you could use the CA filter syntax in PyDM channels in order to do some cool stuff, like get a specific value from a waveform record using the (pv).[index] syntax. With the change to use urlparse in 2a55563, this was broken, and now an Exception is raised here when trying to use it.

Steps to Reproduce
Try to connect to a waveform record specifying the index via the filter syntax.

Possible Solution
Revert to not using urlparse, since a CA address may not always be a valid URL.

@flowln
Copy link
Contributor Author

flowln commented Nov 7, 2024

On an unrelated incident, I found out that the code change talked about here also makes PyDMChannelunable to handle some symbols in CA addresses, notably the # symbol. In this case, I have a PV called <...>:DBG#HOMING, that doesn't connect, and on the connection inspector, shows up only as <...>:DBG.

This one could more easily be solved by setting allow_fragments to False in the urlparse call.

@flowln flowln changed the title PyDMChannel is broken for filter syntax in CA PyDMChannel is broken for filter syntax and some symbols (like #) in CA Nov 7, 2024
@nstelter-slac nstelter-slac self-assigned this Nov 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants