def testCreation (self): base_date = xsd.dateTime('2000-01-10T00:00:00') delta_date = xsd.dateTime('2000-01-06T19:52:37.5') v = xsd.duration(base_date - delta_date) self.assertEqual(3, v.days) self.assertEqual(14842, v.seconds) self.assertEqual('P3DT4H7M22.5S', v.xsdLiteral()) self.assertEqual(datetime.timedelta(), xsd.duration()) self.assertRaises(pyxb.SimpleTypeValueError, xsd.duration, _from_xml=True) self.assertEqual(datetime.timedelta(4), xsd.duration(4)) self.assertRaises(pyxb.SimpleTypeValueError, xsd.duration, 4, _from_xml=True)
def testNegative(self): v = xsd.duration('-P3DT4H7M23.5S') # Time is 19H52M36.5S into day -4 base_date = xsd.dateTime('2000-01-10T00:00:00') delta_date = xsd.dateTime(base_date + v) self.assertEqual(-4, v.days) self.assertEqual(36 + 60 * (52 + 60 * 19), v.seconds) self.assertEqual(500000, v.microseconds) self.assertEqual('2000-01-06T19:52:36.5', delta_date.xsdLiteral()) td = datetime.timedelta(days=-1) v = xsd.duration(td) self.assertEqual(v, td) delta_date = xsd.dateTime(base_date + v) self.assertEqual('2000-01-09T00:00:00', delta_date.xsdLiteral())
def testNegative (self): v = xsd.duration('-P3DT4H7M23.5S') # Time is 19H52M36.5S into day -4 base_date = xsd.dateTime('2000-01-10T00:00:00') delta_date = xsd.dateTime(base_date + v) self.assertEqual(-4, v.days) self.assertEqual(36 + 60 * (52 + 60 * 19), v.seconds) self.assertEqual(500000, v.microseconds) self.assertEqual('2000-01-06T19:52:36.5', delta_date.xsdLiteral()) td = datetime.timedelta(days=-1) v = xsd.duration(td) self.assertEqual(v, td) delta_date = xsd.dateTime(base_date + v) self.assertEqual('2000-01-09T00:00:00', delta_date.xsdLiteral())
def testCreation(self): base_date = xsd.dateTime('2000-01-10T00:00:00') delta_date = xsd.dateTime('2000-01-06T19:52:37.5') v = xsd.duration(base_date - delta_date) self.assertEqual(3, v.days) self.assertEqual(14842, v.seconds) self.assertEqual('P3DT4H7M22.5S', v.xsdLiteral()) self.assertEqual(datetime.timedelta(), xsd.duration()) self.assertRaises(pyxb.SimpleTypeValueError, xsd.duration, _from_xml=True) self.assertEqual(datetime.timedelta(4), xsd.duration(4)) self.assertRaises(pyxb.SimpleTypeValueError, xsd.duration, 4, _from_xml=True)
def testAddition(self): date = xsd.dateTime(2002, 10, 27, 12, 14, 32) duration = xsd.duration('P3DT5H3M') self.assertEqual('2002-10-30T17:17:32', xsd.dateTime(date + duration).xsdLiteral()) self.assertEqual('2002-10-24T07:11:32', xsd.dateTime(date - duration).xsdLiteral())
def testCreation(self): base_date = xsd.dateTime('2000-01-10T00:00:00') delta_date = xsd.dateTime('2000-01-06T19:52:37.5') v = xsd.duration(base_date - delta_date) self.assertEqual(3, v.days) self.assertEqual(14842, v.seconds) self.assertEqual('P3DT4H7M22.5S', v.xsdLiteral())
def testDuration(self): dur = xsd.duration("P10675199DT2H48M5.4775807S") self.assertEqual(dur.days, 10675199) self.assertEqual(dur.seconds, 10085) self.assertEqual(dur.microseconds, 477580) serialized = pickle.dumps(dur) xdur = pickle.loads(serialized) self.assertEqual(dur, xdur)
def testDuration (self): dur = xsd.duration("P10675199DT2H48M5.4775807S") self.assertEqual(dur.days, 10675199) self.assertEqual(dur.seconds, 10085) self.assertEqual(dur.microseconds, 477580) serialized = pickle.dumps(dur) xdur = pickle.loads(serialized) self.assertEqual(dur, xdur)
def XtestBogus(self): dt = xsd.dateTime.today() print dt.xsdLiteral() print str(dt) print dt.aslocal() # NB: duration does not support months in Python version delta = xsd.duration('P%dD' % (365 / 2)) dt = xsd.dateTime(dt + delta) print dt.xsdLiteral() print str(dt) print dt.aslocal()
def XtestBogus (self): dt = xsd.dateTime.today() print(dt.xsdLiteral()) print(str(dt)) print(dt.aslocal()) # NB: duration does not support months in Python version delta = xsd.duration('P%dD' % (365 / 2)) dt = xsd.dateTime(dt + delta) print(dt.xsdLiteral()) print(str(dt)) print(dt.aslocal())
def testBasic(self): v = xsd.duration('P1347Y') self.assertEqual(0, v.days) self.assertEqual(0, v.seconds) self.assertEqual(0, v.microseconds) self.assertEqual(1347, v.durationData()['years']) self.assertEqual('P1347Y', v.xsdLiteral()) v = xsd.duration('P1347M') self.assertEqual(0, v.days) self.assertEqual(0, v.seconds) self.assertEqual(0, v.microseconds) self.assertEqual(1347, v.durationData()['months']) self.assertEqual('P1347M', v.xsdLiteral()) v = xsd.duration('P1Y2MT2H') self.assertEqual(0, v.days) self.assertEqual(2 * 60 * 60, v.seconds) self.assertEqual(0, v.microseconds) self.assertEqual(1, v.durationData()['years']) self.assertEqual(2, v.durationData()['months']) self.assertEqual('P1Y2MT2H', v.xsdLiteral()) v = xsd.duration('P0Y1347M') self.assertEqual(0, v.days) self.assertEqual(0, v.seconds) self.assertEqual(0, v.microseconds) self.assertEqual(1347, v.durationData()['months']) self.assertEqual('P1347M', v.xsdLiteral()) v = xsd.duration('P0Y1347M0D') self.assertEqual(0, v.days) self.assertEqual(0, v.seconds) self.assertEqual(0, v.microseconds) self.assertEqual(1347, v.durationData()['months']) self.assertFalse(v.negativeDuration()) self.assertEqual('P1347M', v.xsdLiteral()) self.assertRaises(pyxb.SimpleTypeValueError, xsd.duration, 'P-1347M') v = xsd.duration('-P1347M') self.assertEqual(0, v.days) self.assertEqual(0, v.seconds) self.assertEqual(0, v.microseconds) self.assertEqual(1347, v.durationData()['months']) self.assertTrue(v.negativeDuration()) self.assertEqual('-P1347M', v.xsdLiteral()) self.assertRaises(pyxb.SimpleTypeValueError, xsd.duration, 'P1Y2MT') v = xsd.duration('P3DT4H7M')
def testBasic (self): v = xsd.duration('P1347Y') self.assertEqual(0, v.days) self.assertEqual(0, v.seconds) self.assertEqual(0, v.microseconds) self.assertEqual(1347, v.durationData()['years']) self.assertEqual('P1347Y', v.xsdLiteral()) v = xsd.duration('P1347M') self.assertEqual(0, v.days) self.assertEqual(0, v.seconds) self.assertEqual(0, v.microseconds) self.assertEqual(1347, v.durationData()['months']) self.assertEqual('P1347M', v.xsdLiteral()) v = xsd.duration('P1Y2MT2H') self.assertEqual(0, v.days) self.assertEqual(2 * 60 * 60, v.seconds) self.assertEqual(0, v.microseconds) self.assertEqual(1, v.durationData()['years']) self.assertEqual(2, v.durationData()['months']) self.assertEqual('P1Y2MT2H', v.xsdLiteral()) v = xsd.duration('P0Y1347M') self.assertEqual(0, v.days) self.assertEqual(0, v.seconds) self.assertEqual(0, v.microseconds) self.assertEqual(1347, v.durationData()['months']) self.assertEqual('P1347M', v.xsdLiteral()) v = xsd.duration('P0Y1347M0D') self.assertEqual(0, v.days) self.assertEqual(0, v.seconds) self.assertEqual(0, v.microseconds) self.assertEqual(1347, v.durationData()['months']) self.assertFalse(v.negativeDuration()) self.assertEqual('P1347M', v.xsdLiteral()) self.assertRaises(pyxb.SimpleTypeValueError, xsd.duration, 'P-1347M') v = xsd.duration('-P1347M') self.assertEqual(0, v.days) self.assertEqual(0, v.seconds) self.assertEqual(0, v.microseconds) self.assertEqual(1347, v.durationData()['months']) self.assertTrue(v.negativeDuration()) self.assertEqual('-P1347M', v.xsdLiteral()) self.assertRaises(pyxb.SimpleTypeValueError, xsd.duration, 'P1Y2MT') v = xsd.duration('P3DT4H7M')
def testFromTimeDelta (self): v = xsd.duration(datetime.timedelta(seconds=3)) self.assertEqual('PT3S', v.xsdLiteral()) v = xsd.duration(datetime.timedelta(minutes=3)) self.assertEqual('PT3M', v.xsdLiteral()) v = xsd.duration(datetime.timedelta(hours=3)) self.assertEqual('PT3H', v.xsdLiteral()) v = xsd.duration(datetime.timedelta(hours=3, seconds=61)) self.assertEqual('PT3H1M1S', v.xsdLiteral()) v = xsd.duration(datetime.timedelta(hours=27, seconds=61)) self.assertEqual('P1DT3H1M1S', v.xsdLiteral()) v = xsd.duration(datetime.timedelta(seconds=61+27*60*60)) self.assertEqual('P1DT3H1M1S', v.xsdLiteral())
def testFromTimeDelta(self): v = xsd.duration(datetime.timedelta(seconds=3)) self.assertEqual('PT3S', v.xsdLiteral()) v = xsd.duration(datetime.timedelta(minutes=3)) self.assertEqual('PT3M', v.xsdLiteral()) v = xsd.duration(datetime.timedelta(hours=3)) self.assertEqual('PT3H', v.xsdLiteral()) v = xsd.duration(datetime.timedelta(hours=3, seconds=61)) self.assertEqual('PT3H1M1S', v.xsdLiteral()) v = xsd.duration(datetime.timedelta(hours=27, seconds=61)) self.assertEqual('P1DT3H1M1S', v.xsdLiteral()) v = xsd.duration(datetime.timedelta(seconds=61 + 27 * 60 * 60)) self.assertEqual('P1DT3H1M1S', v.xsdLiteral())
# Coordinates for which weather is requested. See examples/geocoder # for a utility that obtains the lat/lon for a US street address. lat_lon = [ '38.898748', '-77.037684' ] if 3 <= len(sys.argv): lat_lon = sys.argv[1:3] parameters = [ 'mint', 'maxt', 'temp', 'pop12', 'wspd', 'wdir' ] url_base = 'http://www.weather.gov/forecasts/xml/OGC_services/ndfdOWSserver.php' kw = { 'service' : 'WFS', 'version' : '1.1.0', 'typename' : 'Forecast_GmlObs', 'Request' : 'GetFeature', 'latLonList' : ','.join(lat_lon), 'time' : xsd.dateTime(xsd.dateTime.today() + xsd.duration('PT12H')).xsdLiteral(), 'params' : ','.join(parameters) } url = url_base + '?' + '&'.join('%s=%s' % _v for _v in kw.items()) print '# Retrieving %s' % (url,) xmls = urllib2.urlopen(url).read() file('forecast.xml', 'w').write(xmls) #xmls = file('forecast.xml').read() print '# Parsing response' res = ndfd.dwGML.CreateFromDocument(xmls) if res._element() == pyxb.bundles.opengis.ows.ExceptionReport: for ex in res.Exception:
def testAddition (self): date = xsd.dateTime(2002, 10, 27, 12, 14, 32) duration = xsd.duration('P3DT5H3M') self.assertEqual('2002-10-30T17:17:32', xsd.dateTime(date + duration).xsdLiteral()) self.assertEqual('2002-10-24T07:11:32', xsd.dateTime(date - duration).xsdLiteral())
def testZero (self): xmlt = 'P0D'; v = xsd.duration(xmlt) self.assertEqual(0, v.total_seconds()) self.assertEqual(xmlt, v.xsdLiteral())
def testZero(self): xmlt = 'P0D' v = xsd.duration(xmlt) self.assertEqual(0, v.total_seconds()) self.assertEqual(xmlt, v.xsdLiteral())
import opengis.gml import opengis.ows import pyxb.binding.datatypes as xsd import sys parameters = ['mint', 'maxt', 'temp', 'pop12', 'wspd', 'wdir'] url_base = 'http://www.weather.gov/forecasts/xml/OGC_services/ndfdOWSserver.php' kw = { 'service': 'WFS', 'version': '1.1.0', 'typename': 'Forecast_GmlObs', 'Request': 'GetFeature', #'latLonList' : '44.9893,-93.1515', 'latLonList': '32.2281,-110.899', 'time': xsd.dateTime(xsd.dateTime.today() + xsd.duration('PT12H')).xsdLiteral(), 'params': ','.join(parameters) } url = url_base + '?' + '&'.join('%s=%s' % _v for _v in kw.items()) xmls = urllib2.urlopen(url).read() file('xforecast.xml', 'w').write(xmls) #xmls = file('xforecast.xml').read() res = ndfd.dwGML.CreateFromDocument(xmls) if res._element() == opengis.ows.ExceptionReport: for ex in res.Exception(): print '%s (%s): %s' % (ex.exceptionCode(), ex.locator(), ''.join( [_txt for _txt in ex.ExceptionText()]))
def testDuration (self): self.assertEqual(datetime.timedelta(), xs.duration()); self.assertEqual(datetime.timedelta(), CreateFromDocument(six.u('<duration>P0D</duration>'))); self.assertRaises(SimpleTypeValueError, CreateFromDocument, six.u('<duration/>'));
def testDuration(self): self.assertEqual(datetime.timedelta(), xs.duration()) self.assertEqual(datetime.timedelta(), CreateFromDocument(six.u('<duration>P0D</duration>'))) self.assertRaises(SimpleTypeValueError, CreateFromDocument, six.u('<duration/>'))