Details
-
Type:
Improvement
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: obs_base
-
Labels:None
-
Story Points:3
-
Epic Link:
-
Team:SQuaRE
Description
Per discussion on this PR related to DM-2636:
https://github.com/lsst/daf_butlerUtils/pull/1#issuecomment-104785055
The CameraMapper.getEupsProductName() should be renamed to getPackageName() and converted to an abstract method. This will eliminates a runtime, and thus "test time", dependency on EUPS. As part of the rename/conversion, all subclasses that are not already overriding getEupsProductName() will concurrently need to have getPackageName() implemented.
I'm a bit confused. Tim: are you saying that something goes wrong if we use class variable packageName to get the package name, and otherwise use it exactly as it used now (including testing it in the base class's constructor) and get rid of the class method getPackageName()? Does it make pylint unhappy for some reason?
I agree that using @property would be a bit safer but it doesn't work. K-T said yesterday he was not worried about buggy code accidentally changing the value of the class variable and I agree that it's unlikely to be a problem.