| 91 | return py_keys, cpp_keys |
| 92 | |
| 93 | def values(self, Name): |
| 94 | # Check if Name registry level is registered and if it is a value |
| 95 | if self.HasItem(Name): |
| 96 | if not self.HasItems(Name): |
| 97 | err_mgs = f"Asking for the values of '{Name}'. '{Name}' item has no subitems." |
| 98 | raise Exception(err_mgs) |
| 99 | else: |
| 100 | err_msg = f"Asking for the values of '{Name}' non-registered item." |
| 101 | raise Exception(err_msg) |
| 102 | |
| 103 | # Get the c++ registry item values |
| 104 | cpp_values = None |
| 105 | if self.HasItems(Name, RegistryContext.CPP): |
| 106 | cpp_values = self.__GetCppItem(Name).values() |
| 107 | # Get the Python registry item values |
| 108 | # Note that this is a view object of the Python dictionary values |
| 109 | py_values = None |
| 110 | if self.HasItems(Name, RegistryContext.PYTHON): |
| 111 | py_values = self.__GetPythonItem(Name).values() |
| 112 | |
| 113 | # Return the c++ and Python registry values in a tuple |
| 114 | # Note that we return None if the item was not present in one of the registries |
| 115 | return py_values, cpp_values |
| 116 | |
| 117 | def items(self, Name): |
| 118 | # Check if Name registry level is registered and if it is a value |