Add qubes.tools.PoolsAction
This commit is contained in:
		
							parent
							
								
									0319df25e5
								
							
						
					
					
						commit
						357e8125eb
					
				@ -199,6 +199,27 @@ class VmNameAction(QubesAction):
 | 
				
			|||||||
                    parser.error('no such domain: {!r}'.format(vm_name))
 | 
					                    parser.error('no such domain: {!r}'.format(vm_name))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class PoolsAction(QubesAction):
 | 
				
			||||||
 | 
					    ''' Action for argument parser to gather multiple pools '''
 | 
				
			||||||
 | 
					    # pylint: disable=too-few-public-methods
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def __call__(self, parser, namespace, values, option_string=None):
 | 
				
			||||||
 | 
					        ''' Set ``namespace.vmname`` to ``values`` '''
 | 
				
			||||||
 | 
					        setattr(namespace, self.dest, values)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def parse_qubes_app(self, parser, namespace):
 | 
				
			||||||
 | 
					        app = namespace.app
 | 
				
			||||||
 | 
					        name = getattr(namespace, self.dest)
 | 
				
			||||||
 | 
					        if not name:
 | 
				
			||||||
 | 
					            return
 | 
				
			||||||
 | 
					        try:
 | 
				
			||||||
 | 
					            setattr(namespace, self.dest, app.get_pool(name))
 | 
				
			||||||
 | 
					        except qubes.exc.QubesException as e:
 | 
				
			||||||
 | 
					            parser.error(e.message)
 | 
				
			||||||
 | 
					            sys.exit(2)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class QubesArgumentParser(argparse.ArgumentParser):
 | 
					class QubesArgumentParser(argparse.ArgumentParser):
 | 
				
			||||||
    '''Parser preconfigured for use in most of the Qubes command-line tools.
 | 
					    '''Parser preconfigured for use in most of the Qubes command-line tools.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user