In the Python Provisioning API, organization units that contain spaces in their name are not handled properly. For example, suppose I have an OU called 'my test ou1', which has a subOU called 'my test ou2'.
If I make the call
client.RetrieveAllOrgUnits(customer_id)
then the dictionary representing the subOU looks like this:
{'blockInheritance': 'false', 'parentOrgUnitPath': 'my+test+ou1', 'description': None, 'orgUnitPath': 'my+test+ou1/my+test+ou2', 'name': 'my test ou2'}
But if I make the call
client.RetrieveSubOrgUnits(customer_id, 'my+test+ou1')
then the dictionary representing the subOU looks like this:
{'blockInheritance': 'false', 'parentOrgUnitPath': 'my test ou1', 'description': None, 'orgUnitPath': 'my test ou1/my+test+ou2', 'name': 'my test ou2'}
Compare the inconsistent use of '+'s for 'parentOrgUnitPath' ('my+test+ou1' vs. 'my test ou1') and 'orgUnitPath' ('my+test+ou1/my+test+ou2' vs. 'my test ou1/my+test+ou2').