def parse_args(args): """ Parse, format, and validate args from docopt """ parsed = {} # Validate input arguments parsed['config_file'] = args['<config_file>'] if not os.path.isfile(parsed['config_file']): print('Error - <config_file> specified is not a file') sys.exit(1) try: parsed['job_number'] = int(args['<job_number>']) except: print('Error - <job_number> must be an integer greater than 0') sys.exit(1) if parsed['job_number'] <= 0: print('Error - <job_number> cannot be less than or equal to 0') sys.exit(1) parsed['job_number'] -= 1 try: parsed['total_jobs'] = int(args['<total_jobs>']) except: print('Error - <total_jobs> must be an integer') sys.exit(1) parsed['update_pattern'] = args['--update'] if args['--verbose']: logger.setLevel(logging.DEBUG) if args['--quiet']: logger.setLevel(logging.WARNING) parsed['interlace'] = args['--interlace'] return parsed
#!/usr/bin/env python """ Tests for `yatsm.cache` """ import logging import os import unittest import numpy as np from utils_testing import create_dir, remove_dir, TestStackDataset from yatsm import cache, reader from yatsm.log_yatsm import logger logger.setLevel(logging.DEBUG) class TestCache(TestStackDataset): @classmethod def setUpClass(cls): """ Setup test data """ super(TestCache, cls).setUpClass() # Setup a config dict with relevant info cls.config = {} cls.config['cache_line_dir'] = os.path.join( os.path.dirname(os.path.abspath(__file__)), 'data', 'cache') # Setup attributes for example cache dataset cls.n_images = 447 cls.n_bands = 8 cls.n_row = 0