I get an error from the Synchronizer class method syncComponent:
AttributeError: 'Synchronizer' object has no attribute 'target_configs'
Expected behavior: The data element handed to syncComponent is copied over to my target property
# minimum viable example for replication
import launchpy as lp
lp.importConfigFile("config.json")
admin = lp.Admin()
properties = admin.getProperties(admin.getCompanyId())
base, target = lp.Property(properties[0]), lp.Property(properties[1])
synchronizor = lp.Synchronizer(base.name, [target.name])
myDataElementNameExample = "[Origin] Constant" #Arbitrary name of a data element or rule to copy
synchronizor.syncComponent(myDataElementNameExample) # -> AttributeError: 'Synchronizer' object has no attribute 'target_configs'
The README doesn't mention the need to have a target_configs set up via setDynamicFiltering. I also don't understand how the filter is supposed to work based on the README.
The issue can be remedied using setDynamicFiltering but neither the error thrown nor the function signatures suggest this is even necessary:
...
myRules = [
{
"name": "myName",
"targetProperties": target.name,
"exclComponents": [],
"inclComponents": [],
}
]
synchronizor.dynamicFiltering(myRules)
...
synchronizor.syncComponent(myDataElementNameExample) # now it works
I get an error from the Synchronizer class method syncComponent:
AttributeError: 'Synchronizer' object has no attribute 'target_configs'
Expected behavior: The data element handed to
syncComponentis copied over to my target propertyThe README doesn't mention the need to have a target_configs set up via
setDynamicFiltering. I also don't understand how the filter is supposed to work based on the README.The issue can be remedied using
setDynamicFilteringbut neither the error thrown nor the function signatures suggest this is even necessary: