dom0/qubesutils: move parse_size() from qvm-grow-private to qubesutils (#421)
This commit is contained in:
		
							parent
							
								
									f7d84c9a27
								
							
						
					
					
						commit
						6b59f5c7c8
					
				@ -70,6 +70,23 @@ def size_to_human (size):
 | 
				
			|||||||
    else:
 | 
					    else:
 | 
				
			||||||
        return str(round(size/(1024.0*1024*1024),1)) + ' GiB'
 | 
					        return str(round(size/(1024.0*1024*1024),1)) + ' GiB'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def parse_size(size):
 | 
				
			||||||
 | 
					    units = [ ('K', 1024), ('KB', 1024),
 | 
				
			||||||
 | 
					        ('M', 1024*1024), ('MB', 1024*1024),
 | 
				
			||||||
 | 
					        ('G', 1024*1024*1024), ('GB', 1024*1024*1024),
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    size = size.strip().upper()
 | 
				
			||||||
 | 
					    if size.isdigit():
 | 
				
			||||||
 | 
					        return size
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    for unit, multiplier in units:
 | 
				
			||||||
 | 
					        if size.endswith(unit):
 | 
				
			||||||
 | 
					            size = size[:-len(unit)].strip()
 | 
				
			||||||
 | 
					            return int(size)*multiplier
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    raise QubesException("Invalid size: {0}.".format(size))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def print_stdout(text):
 | 
					def print_stdout(text):
 | 
				
			||||||
    print (text)
 | 
					    print (text)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -22,6 +22,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
from qubes.qubes import QubesVmCollection
 | 
					from qubes.qubes import QubesVmCollection
 | 
				
			||||||
from qubes.qubes import QubesException
 | 
					from qubes.qubes import QubesException
 | 
				
			||||||
 | 
					from qubesutils import parse_size
 | 
				
			||||||
from optparse import OptionParser
 | 
					from optparse import OptionParser
 | 
				
			||||||
import subprocess
 | 
					import subprocess
 | 
				
			||||||
import os
 | 
					import os
 | 
				
			||||||
@ -30,24 +31,6 @@ import sys
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
qvm_run_path = "/usr/bin/qvm-run"
 | 
					qvm_run_path = "/usr/bin/qvm-run"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def parse_size(size):
 | 
					 | 
				
			||||||
    units = [ ('K', 1024), ('KB', 1024),
 | 
					 | 
				
			||||||
        ('M', 1024*1024), ('MB', 1024*1024),
 | 
					 | 
				
			||||||
        ('G', 1024*1024*1024), ('GB', 1024*1024*1024),
 | 
					 | 
				
			||||||
    ]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    size = size.strip().upper()
 | 
					 | 
				
			||||||
    if size.isdigit():
 | 
					 | 
				
			||||||
        return size
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    for unit, multiplier in units:
 | 
					 | 
				
			||||||
        if size.endswith(unit):
 | 
					 | 
				
			||||||
            size = size[:-len(unit)].strip()
 | 
					 | 
				
			||||||
            return int(size)*multiplier
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    print >> sys.stderr, "Invalid size: {0}.".format(size)
 | 
					 | 
				
			||||||
    exit(1)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def main():
 | 
					def main():
 | 
				
			||||||
    usage = "usage: %prog <vm-name> <size>"
 | 
					    usage = "usage: %prog <vm-name> <size>"
 | 
				
			||||||
    parser = OptionParser (usage)
 | 
					    parser = OptionParser (usage)
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user