implement remote_code_remote :-(
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
This commit is contained in:
		
					parent
					
						
							
								4db02516e7
							
						
					
				
			
			
				commit
				
					
						f39418a7b5
					
				
			
		
					 1 changed files with 30 additions and 12 deletions
				
			
		|  | @ -31,7 +31,8 @@ log = logging.getLogger(__name__) | ||||||
| 
 | 
 | ||||||
| DOT_CDIST = '.cdist' | DOT_CDIST = '.cdist' | ||||||
| 
 | 
 | ||||||
| 
 | # FIXME: i should not have to care about prefix directory, local, remote and such. | ||||||
|  | #  I know what my internals look like, the outside is none of my business. | ||||||
| class Object(object): | class Object(object): | ||||||
|     """Represents a cdist object. |     """Represents a cdist object. | ||||||
| 
 | 
 | ||||||
|  | @ -63,6 +64,21 @@ class Object(object): | ||||||
|         return base_dir |         return base_dir | ||||||
| 
 | 
 | ||||||
|     @classmethod |     @classmethod | ||||||
|  |     def remote_base_dir(): | ||||||
|  |         """Return the absolute path to the top level directory where objects | ||||||
|  |         are kept on the remote/target host. | ||||||
|  | 
 | ||||||
|  |         Requires the environment variable '__cdist_remote_out_dir' to be set. | ||||||
|  | 
 | ||||||
|  |         """ | ||||||
|  |         try: | ||||||
|  |             return os.path.join( | ||||||
|  |                 os.environ['__cdist_remote_out_dir'], | ||||||
|  |                 'object', | ||||||
|  |             ) | ||||||
|  |         except KeyError as e: | ||||||
|  |             raise cdist.MissingEnvironmentVariableError(e.args[0]) | ||||||
|  | 
 | ||||||
|     def list_objects(cls): |     def list_objects(cls): | ||||||
|         """Return a list of object instances""" |         """Return a list of object instances""" | ||||||
|         for object_name in cls.list_object_names(): |         for object_name in cls.list_object_names(): | ||||||
|  | @ -123,6 +139,19 @@ class Object(object): | ||||||
|             os.mkdir(path) |             os.mkdir(path) | ||||||
|         return path |         return path | ||||||
| 
 | 
 | ||||||
|  |     # FIXME: prefix directory should not leak into me | ||||||
|  |     @property | ||||||
|  |     def remote_path(self): | ||||||
|  |         return os.path.join( | ||||||
|  |             self.remote_base_dir(), | ||||||
|  |             self.name, | ||||||
|  |             DOT_CDIST | ||||||
|  |         ) | ||||||
|  |     @property | ||||||
|  |     def remote_code_remote(self): | ||||||
|  |         return os.path.join(self.remote_path, "code-remote") | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|     ### requirements |     ### requirements | ||||||
|     @property |     @property | ||||||
|     def requirements(self): |     def requirements(self): | ||||||
|  | @ -175,18 +204,7 @@ class Object(object): | ||||||
|                 pass |                 pass | ||||||
|     ### /changed |     ### /changed | ||||||
| 
 | 
 | ||||||
|     # FIXME: implement other properties/methods  |  | ||||||
| 
 | 
 | ||||||
|     # FIXME: check following methods: implement or revoke / delete |  | ||||||
|     # FIXME: Object |  | ||||||
|     def get_object_id_from_object(self, cdist_object): |  | ||||||
|         """Returns everything but the first part (i.e. object_id) of an object""" |  | ||||||
|         return os.sep.join(cdist_object.split(os.sep)[1:]) |  | ||||||
| 
 |  | ||||||
|     # FIXME: Object |  | ||||||
|     def object_dir(self, cdist_object): |  | ||||||
|         """Returns the full path to the object (including .cdist)""" |  | ||||||
|         return os.path.join(self.object_base_dir, cdist_object, DOT_CDIST) |  | ||||||
| 
 | 
 | ||||||
|     # FIXME: Object |     # FIXME: Object | ||||||
|     def remote_object_dir(self, cdist_object): |     def remote_object_dir(self, cdist_object): | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue