forked from ungleich-public/cdist
		
	cleanup / emulator
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
This commit is contained in:
		
					parent
					
						
							
								0c990e1756
							
						
					
				
			
			
				commit
				
					
						ab565dc3d9
					
				
			
		
					 2 changed files with 8 additions and 21 deletions
				
			
		|  | @ -1,12 +1,8 @@ | |||
| - cleanup object_id handling | ||||
|     - problems | ||||
|         - __file/foo/bar//bar | ||||
|             - fails later | ||||
|         - right strip __foo/bar/ last slash | ||||
|     - only emulator creates objects | ||||
|         - strip slashes in object creation? | ||||
|      | ||||
| 
 | ||||
|     - have a look at singletons | ||||
|     - double check verification | ||||
|     - cleanup emulator to create object | ||||
|     - adjust tests | ||||
| 
 | ||||
| -------------------------------------------------------------------------------- | ||||
| 
 | ||||
|  |  | |||
|  | @ -115,18 +115,13 @@ class Emulator(object): | |||
| 
 | ||||
| 
 | ||||
|     def setup_object(self): | ||||
|         # FIXME: verify object id | ||||
| 
 | ||||
|         # Setup object_id | ||||
|         # Setup object_id - FIXME: unset / do not setup anymore! | ||||
|         if self.cdist_type.is_singleton: | ||||
|             self.object_id = "singleton" | ||||
|         else: | ||||
|             self.object_id = self.args.object_id[0] | ||||
|             del self.args.object_id | ||||
| 
 | ||||
|             # strip leading slash from object_id | ||||
|             self.object_id = self.object_id.lstrip('/') | ||||
| 
 | ||||
|         # Instantiate the cdist object we are defining | ||||
|         self.cdist_object = core.CdistObject(self.cdist_type, self.object_base_path, self.object_id) | ||||
| 
 | ||||
|  | @ -160,13 +155,9 @@ class Emulator(object): | |||
|                 # Instantiate type which fails if type does not exist | ||||
|                 requirement_type = core.CdistType(self.type_base_path, requirement_type_name) | ||||
| 
 | ||||
|                 if requirement_object_id: | ||||
|                     # Validate object_id if any | ||||
|                     core.CdistObject.validate_object_id(requirement_object_id) | ||||
|                 elif not requirement_type.is_singleton: | ||||
|                     # Only singeltons have no object_id | ||||
|                     raise IllegalRequirementError(requirement, "Missing object_id and type is not a singleton.") | ||||
| 
 | ||||
|                 # FIXME: need try/catch here or pass exception from core.CdistObject? | ||||
|                 # Instantiate object, which fails if object id is broken | ||||
|                 requirement_object = core.CdistObject(requirement_type, self.object_base_path, requirement_object_id) | ||||
|                 self.log.debug("Recording requirement: " + requirement) | ||||
|                 self.cdist_object.requirements.append(requirement) | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue