The way this was originally written, it the properties argument was overriding the catalog, so when catalog and properties were both passed into a tap written using this template, it would prefer the properties argument, causing potential errors, depending on how the code changed post-cookiecutter.
This change removes that option, and also the option of checking for field and stream selection within the schema itself. The best practice for that is to use metadata to select fields and streams.
A side-effect of this change is that the Catalog class will now be used, since that is what utils.parse_args() gives back for this argument. As such, I changed all of the references to this object and its children to use class property accessors instead of dict accessors.
The way this was originally written, it the properties argument was overriding the catalog, so when catalog and properties were both passed into a tap written using this template, it would prefer the properties argument, causing potential errors, depending on how the code changed post-cookiecutter.
This change removes that option, and also the option of checking for field and stream selection within the schema itself. The best practice for that is to use metadata to select fields and streams.
A side-effect of this change is that the
Catalog
class will now be used, since that is whatutils.parse_args()
gives back for this argument. As such, I changed all of the references to this object and its children to use class property accessors instead ofdict
accessors.