def test_scan(self): ncml = pyncml.etree.parse(os.path.join(os.path.dirname(__file__), 'resources', "test.ncml")).getroot() aggregation = pyncml.scan(ncml) self.assertEquals(aggregation.name, "U.S. Navy Fleet Numerical Meteorology and Oceanography Center Forecast/Uninitialized Analysis/Image Product") self.assertEquals(len(aggregation.members), 14) self.assertEquals(aggregation.starting, datetime(2014, 6, 20, 0, 0, tzinfo=pytz.utc)) self.assertEquals(aggregation.ending, datetime(2014, 7, 19, 23, 0, tzinfo=pytz.utc))
def test_scan(self): ncml = pyncml.etree.parse( os.path.join(os.path.dirname(__file__), 'resources', "test.ncml")).getroot() aggregation = pyncml.scan(ncml) self.assertEquals( aggregation.name, "U.S. Navy Fleet Numerical Meteorology and Oceanography Center Forecast/Uninitialized Analysis/Image Product" ) self.assertEquals(len(aggregation.members), 14) self.assertEquals(aggregation.starting, datetime(2014, 6, 20, 0, 0, tzinfo=pytz.utc)) self.assertEquals(aggregation.ending, datetime(2014, 7, 19, 23, 0, tzinfo=pytz.utc))
def from_directory(cls, directory, suffix=".nc", subdirs=True, dimName='time', apply_to_members=None): if not os.path.isdir(directory): logger.error("Directory {0} does not exists or I do not have the correct permissions to access".format(directory)) # Create NcML pointing to the directory ncml = """<?xml version="1.0" encoding="UTF-8"?> <netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2"> <aggregation dimName="{0}" type="joinExisting"> <scan location="{1}" suffix="{2}" subdirs="{3}" /> </aggregation> </netcdf> """.format(dimName, directory, suffix, subdirs) try: return cls(pyncml.scan(ncml, apply_to_members=apply_to_members)) except BaseException: logger.exception("Could not load Collection from Directory.")
def from_ncml_file(cls, ncml_path, apply_to_members=None): try: with open(ncml_path) as f: return cls(pyncml.scan(f.read(), apply_to_members=apply_to_members)) except BaseException: logger.exception("Could not load Collection from NcML. Please check the NcML.")
def test_scan(self): ncml = etree.parse(os.path.join(os.path.dirname(__file__), 'resources', "test.ncml")).getroot() aggregation = pyncml.scan(ncml) self.assertEquals(len(aggregation.members), 14) self.assertEquals(aggregation.starting, datetime(2014, 6, 20, 0, 0, tzinfo=pytz.utc)) self.assertEquals(aggregation.ending, datetime(2014, 7, 19, 23, 0, tzinfo=pytz.utc))