def main(): # Reading arguments parser = argparse.ArgumentParser( description='lazylab command which save reqested lab') parser.add_argument('lab_name', type=str, help='lab name') parser.add_argument('new_lab_name', type=str, help='new lab name') parser.add_argument('--verbose', '-v', action='count', default=0) args = parser.parse_args() # Getting lab_name lab_name = args.lab_name new_lab_name = args.new_lab_name # Create a custom logger logger = logging.getLogger("lazylab") #Set level logger.setLevel(LOGGING_LEVEL[args.verbose]) # Create logger handler logger_handler = logging.StreamHandler() # set format output_format = logging.Formatter('%(name)s - %(levelname)s - %(message)s') logger_handler.setFormatter(output_format) # set logger handler logger.addHandler(logger_handler) # Creating tasker object and reqesting deploy task = Tasker() logger.debug('Saving lab') task.save_lab(lab_name, new_lab_name)
def main(): """ We need to completely rewrite this UI""" logger.info('starting main function') # Checking if argument is define and saving name of zip archive from one of arguments if len(sys.argv) == 1: print( 'No argument :(\nPlease use one of this:\n 1.deploy\n 2.delete\n 3.save' ) sys.exit(1) elif len(sys.argv) == 2: config_archive_location = PATH_TO_MODULE + '/labs/' + 'default' + '.lazy' lab_name = 'default' elif len(sys.argv) == 3: config_archive_location = PATH_TO_MODULE + '/labs/' + sys.argv[ 2] + '.lazy' lab_name = sys.argv[2] # else: # print('Too many arguments, please use:\n 1.deploy\n 2.delete\n as first argument and directory of configs as second') # exit(1) #Parsing arguments and working with manage objects if sys.argv[1] == 'deploy': logger.debug('Deploying lab') task = Tasker() task.deploy_lab(lab_name) elif sys.argv[1] == 'delete': logger.debug('Deleting lab') task = Tasker() task.delete_lab(lab_name) elif (sys.argv[1] == 'save') and (sys.argv[3] == 'as'): # Save configs logger.debug('saving lab') old_lab_name = sys.argv[2] new_lab_name = sys.argv[4] task = Tasker() task.save_lab(old_lab_name, new_lab_name) else: print( 'Bad argument :(\nPlease use one of this:\n 1.deploy\n 2.delete') exit(1) exit(0)
def test_save(self): old_lab_name = self.lab_name new_lab_name = self.lab_name SAVED_LAB_PATH = PATH_TO_MODULE + '/../test/' task = Tasker() task.save_lab(old_lab_name, new_lab_name, SAVED_LAB_PATH) path1 = LAB_CONFIG_PATH + old_lab_name + '.lazy' path2 = SAVED_LAB_PATH + new_lab_name + '.lazy' with zipfile.ZipFile(path1, 'r') as archive1, zipfile.ZipFile(path2, 'r') as archive2: filelist1 = archive1.namelist() filelist2 = archive2.namelist() flag = (filelist1 == filelist2) for filename in filelist1: with archive1.open(filename) as file1, archive2.open(filename) as file2: filestring1 = file1.read() filestring2 = file2.read() flag = flag and (filestring1 == filestring2) self.assertTrue(flag) os.remove(path2) return 0