Example #1
0
 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))
Example #2
0
 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))
Example #3
0
    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.")
Example #4
0
    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.")
Example #5
0
 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.")
Example #6
0
 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.")
Example #7
0
 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))