Repository URL to install this package:
Version:
3.4.36 ▾
|
ó ²EYc @ s d Z d d l m Z m Z m Z d d l m Z d d l Z d d l Z d d d g Z e j d k rq e Z n e Z e j d e j Z d e f d YZ e d Z d e f d YZ e Z d e f d YZ e d e d Z e d Z e d Z d S( s¿ ISO 8601 date time string parsing Basic usage: >>> import iso8601 >>> iso8601.parse_date("2007-01-25T12:00:00Z") datetime.datetime(2007, 1, 25, 12, 0, tzinfo=<iso8601.iso8601.Utc ...>) >>> iÿÿÿÿ( t datetimet timedeltat tzinfo( t DecimalNt parse_datet ParseErrort UTCi i sB (?P<year>[0-9]{4}) ( ( (-(?P<monthdash>[0-9]{1,2})) | (?P<month>[0-9]{2}) (?!$) # Don't allow YYYYMM ) ( ( (-(?P<daydash>[0-9]{1,2})) | (?P<day>[0-9]{2}) ) ( ( (?P<separator>[ T]) (?P<hour>[0-9]{2}) (:{0,1}(?P<minute>[0-9]{2})){0,1} ( :{0,1}(?P<second>[0-9]{1,2}) ([.,](?P<second_fraction>[0-9]+)){0,1} ){0,1} (?P<timezone> Z | ( (?P<tz_sign>[-+]) (?P<tz_hour>[0-9]{2}) :{0,1} (?P<tz_minute>[0-9]{2}){0,1} ) ){0,1} ){0,1} ) ){0,1} # YYYY-MM ){0,1} # YYYY only $ c B s e Z d Z RS( s4 Raised when there is a problem parsing a date string( t __name__t __module__t __doc__( ( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/iso8601/iso8601.pyR I s t Utcc B s2 e Z d Z d Z d Z d Z d Z RS( s UTC Timezone c C s t S( N( t ZERO( t selft dt( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/iso8601/iso8601.pyt utcoffsetR s c C s d S( NR ( ( R R ( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/iso8601/iso8601.pyt tznameU s c C s t S( N( R ( R R ( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/iso8601/iso8601.pyt dstX s c C s d S( Ns <iso8601.Utc>( ( R ( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/iso8601/iso8601.pyt __repr__[ s ( R R R R R R R ( ( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/iso8601/iso8601.pyR N s t FixedOffsetc B sM e Z d Z d Z d Z d Z d Z d Z d Z d Z RS( s0 Fixed offset in hours and minutes from UTC c C s7 | | _ | | _ t d | d | | _ | | _ d S( Nt hourst minutes( t _FixedOffset__offset_hourst _FixedOffset__offset_minutesR t _FixedOffset__offsett _FixedOffset__name( R t offset_hourst offset_minutest name( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/iso8601/iso8601.pyt __init__d s c C sN t | t r1 | j | j k o0 | j | j k St | t rJ | | k St S( N( t isinstanceR R R R t False( R t other( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/iso8601/iso8601.pyt __eq__j s c C s | j | j | j f S( N( R R R ( R ( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/iso8601/iso8601.pyt __getinitargs__u s c C s | j S( N( R ( R R ( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/iso8601/iso8601.pyR x s c C s | j S( N( R ( R R ( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/iso8601/iso8601.pyR { s c C s t S( N( R ( R R ( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/iso8601/iso8601.pyR ~ s c C s d | j | j f S( Ns <FixedOffset %r %r>( R R ( R ( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/iso8601/iso8601.pyR s ( R R R R R R! R R R R ( ( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/iso8601/iso8601.pyR ` s c C sg | j | p | } | d k r+ | r+ d S| d k rY | rc t d | | f qc n t | Sd S( sÉ Pull a value from the dict and convert to int :param default_to_zero: If the value is None or empty, treat it as zero :param default: If the value is missing in the dict use this default t i s Unable to read %s from %sN( R" N( t gett NoneR t int( t dt keyt default_to_zerot defaultt requiredt value( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/iso8601/iso8601.pyt to_int s c C s | d d k r t S| d d k r( | S| d } t | d } t | d d t } d | | | f } | d k r | } | } n t | | | S( s9 Parses ISO 8601 time zone specs into tzinfo offsets t timezonet Zt tz_signt tz_hourt tz_minuteR( s %s%02d:%02dt -N( R R$ R, t TrueR ( t matchest default_timezonet signR R t description( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/iso8601/iso8601.pyt parse_timezone s c C sy t | t s" t d | n t j | } | sJ t d | n | j } t | d | } t t d | d p~ d t d | d <y½ t d t | d d t | d d t | d d t d d d t | d d t | d d t d d d t | d d t d t | d d t d t | d d t d | d d | SWn t k rt} t | n Xd S( så Parses ISO 8601 dates into datetime objects The timezone is parsed from the date string. However it is quite common to have dates without a timezone (not strictly correct). In this case the default timezone specified in default_timezone is used. This is UTC by default. :param datestring: The date to parse as a string :param default_timezone: A datetime tzinfo instance to use when no timezone is specified in the datestring. If this is set to None then a naive datetime object is returned. :returns: A datetime.datetime instance :raises: ParseError when there is a problem parsing the date or constructing the datetime instance. s Expecting a string %rs Unable to parse date string %rR5 s 0.%st second_fractioni s 1000000.0t yeart monthR) t monthdashR* i t dayt daydasht hourR( t minutet secondt microsecondR N( R t _basestringR t ISO8601_REGEXt matcht groupdictR8 R% R R R, R R3 t Exception( t datestringR5 t mt groupst tzt e( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/iso8601/iso8601.pyR © s( .** ( i i i ( R R R R t decimalR t syst ret __all__t version_infot strRC t basestringt compilet VERBOSERD RG R R R R R R R$ R3 R, R8 R ( ( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/iso8601/iso8601.pyt <module> s&