forked from ungleich-public/cdist
		
	implement list of objects
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
		
					parent
					
						
							
								0f36ddd649
							
						
					
				
			
			
				commit
				
					
						03e2db83cd
					
				
			
		
					 1 changed files with 38 additions and 0 deletions
				
			
		
							
								
								
									
										38
									
								
								bin/cdist
									
										
									
									
									
								
							
							
						
						
									
										38
									
								
								bin/cdist
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -160,6 +160,44 @@ class Cdist:
 | 
			
		|||
      """Return list of available explorers"""
 | 
			
		||||
      return os.listdir(GLOBAL_EXPLORER_DIR)
 | 
			
		||||
 | 
			
		||||
   def list_object_paths(self, starting_point = False):
 | 
			
		||||
      """Return list of paths of existing objects"""
 | 
			
		||||
      object_paths = []
 | 
			
		||||
 | 
			
		||||
      if not starting_point:
 | 
			
		||||
         starting_point = self.object_dir
 | 
			
		||||
 | 
			
		||||
      for content in os.listdir(starting_point):
 | 
			
		||||
         full_path = os.path.join(starting_point, content)
 | 
			
		||||
         print(full_path)
 | 
			
		||||
         if os.path.isdir(full_path):
 | 
			
		||||
            log.debug("Recursing for %s", full_path)
 | 
			
		||||
            object_paths.extend(self.list_object_paths(starting_point = full_path))
 | 
			
		||||
 | 
			
		||||
         # Directory contains .cdist -> is an object
 | 
			
		||||
         if content == ".cdist":
 | 
			
		||||
            log.debug("Adding Object Path %s", starting_point)
 | 
			
		||||
            object_paths.append(starting_point)
 | 
			
		||||
 | 
			
		||||
      return object_paths
 | 
			
		||||
 | 
			
		||||
   def list_objects(self, starting_point = False):
 | 
			
		||||
      """Return list of existing objects"""
 | 
			
		||||
 | 
			
		||||
      if not starting_point:
 | 
			
		||||
         starting_point = self.object_dir
 | 
			
		||||
 | 
			
		||||
      object_paths = self.list_object_paths(starting_point)
 | 
			
		||||
      objects = []
 | 
			
		||||
      log.debug("Paths recieved: %s", object_paths)
 | 
			
		||||
      log.debug("And te starting point: %s", starting_point)
 | 
			
		||||
 | 
			
		||||
      for path in object_paths:
 | 
			
		||||
         objects.append(os.path.relpath(path, starting_point))
 | 
			
		||||
 | 
			
		||||
      return objects
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
   def transfer_global_explorers(self):
 | 
			
		||||
      self.transfer_dir(GLOBAL_EXPLORER_DIR, REMOTE_GLOBAL_EXPLORER_DIR)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue