Exemple #1
0
 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)
Exemple #2
0
 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())
Exemple #3
0
 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())
Exemple #4
0
 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)
Exemple #5
0
 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())
Exemple #6
0
 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())
Exemple #7
0
 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)
Exemple #8
0
 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)
Exemple #9
0
 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()
Exemple #10
0
 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())
Exemple #11
0
    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')
Exemple #12
0
    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')
Exemple #13
0
 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())
Exemple #14
0
 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())
Exemple #15
0
# 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:
Exemple #16
0
 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())
Exemple #17
0
 def testZero (self):
     xmlt = 'P0D';
     v = xsd.duration(xmlt)
     self.assertEqual(0, v.total_seconds())
     self.assertEqual(xmlt, v.xsdLiteral())
Exemple #18
0
 def testZero(self):
     xmlt = 'P0D'
     v = xsd.duration(xmlt)
     self.assertEqual(0, v.total_seconds())
     self.assertEqual(xmlt, v.xsdLiteral())
Exemple #19
0
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()]))
Exemple #20
0
 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/>'));
Exemple #21
0
 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/>'))