def test_bad_format(self): """ Test exception for invalid sid format. """ sids = ("13967",) # missing type code with self.assertRaises(ValueError) as context: decode_sids(sids) message = "invalid SID: 13967" self.assertEqual(message, str(context.exception)) return
def test(self): """ Test normal operation. """ encoded = ("13967 1", "346661 2", "346664 2", "A123 9999") decoded = { "WBAN": ["13967"], "COOP": ["346661", "346664"], 9999: ["A123"]} self.assertDictEqual(decoded, decode_sids(encoded)) return
""" *** Utility Functions *** The decode_sids function can be used to interpret the "sids" metadata field. This example will find all CoCoRaHS sites in Cleveland County, OK. """ print "EXAMPLE 11\n" request = acis.StnMetaRequest() request.location(county="40027") request.metadata("sids", "name") result = acis.StnMetaResult(request.submit()) for site in result.meta.values(): try: sid = acis.decode_sids(site["sids"])["CoCoRaHS"][0] # use first ID except KeyError: # no CoCoRaHS id(s) continue print "{0:s}: {1:s}".format(sid, site["name"]) print "-"*40 """ The result_array function converts a StnDataResult or MultiStnDataResult to a numpy record array (numpy library required). This result will retrieve the max temperature for multiple sites and multiple dates and sort the output by date. """ print "EXAMPLE 12\n" request = acis.MultiStnDataRequest()