77from edtf .appsettings import DEBUG_PYPARSING
88from edtf .util import remapparams
99
10- pyparsing .ParserElement .enablePackrat ()
11-
10+ pyparsing .ParserElement .enable_packrat ()
1211from pyparsing import (
1312 Combine ,
1413 NotAny ,
2019 Word ,
2120 ZeroOrMore ,
2221 nums ,
23- oneOf ,
22+ one_of ,
2423)
2524from pyparsing import Literal as L
2625
5049 Unspecified ,
5150)
5251
53- oneThru12 = oneOf ([f"{ i :02} " for i in range (1 , 13 )])
54- oneThru13 = oneOf ([f"{ i :02} " for i in range (1 , 14 )])
55- oneThru23 = oneOf ([f"{ i :02} " for i in range (1 , 24 )])
56- zeroThru23 = oneOf ([f"{ i :02} " for i in range (0 , 24 )])
57- oneThru29 = oneOf ([f"{ i :02} " for i in range (1 , 30 )])
58- oneThru30 = oneOf ([f"{ i :02} " for i in range (1 , 31 )])
59- oneThru31 = oneOf ([f"{ i :02} " for i in range (1 , 32 )])
60- oneThru59 = oneOf ([f"{ i :02} " for i in range (1 , 60 )])
61- zeroThru59 = oneOf ([f"{ i :02} " for i in range (0 , 60 )])
52+ oneThru12 = one_of ([f"{ i :02} " for i in range (1 , 13 )])
53+ oneThru13 = one_of ([f"{ i :02} " for i in range (1 , 14 )])
54+ oneThru23 = one_of ([f"{ i :02} " for i in range (1 , 24 )])
55+ zeroThru23 = one_of ([f"{ i :02} " for i in range (0 , 24 )])
56+ oneThru29 = one_of ([f"{ i :02} " for i in range (1 , 30 )])
57+ oneThru30 = one_of ([f"{ i :02} " for i in range (1 , 31 )])
58+ oneThru31 = one_of ([f"{ i :02} " for i in range (1 , 32 )])
59+ oneThru59 = one_of ([f"{ i :02} " for i in range (1 , 60 )])
60+ zeroThru59 = one_of ([f"{ i :02} " for i in range (0 , 60 )])
6261
6362digit = Word (nums , exact = 1 )
64- positiveDigit = Word (nums , exact = 1 , excludeChars = "0" )
63+ positiveDigit = Word (nums , exact = 1 , exclude_chars = "0" )
6564positiveInteger = Combine (positiveDigit + ZeroOrMore (digit ))
6665
6766second = zeroThru59
7170
7271month = oneThru12 ("month" )
7372monthDay = (
74- (oneOf ("01 03 05 07 08 10 12" )("month" ) + "-" + oneThru31 ("day" ))
75- ^ (oneOf ("04 06 09 11" )("month" ) + "-" + oneThru30 ("day" ))
73+ (one_of ("01 03 05 07 08 10 12" )("month" ) + "-" + oneThru31 ("day" ))
74+ ^ (one_of ("04 06 09 11" )("month" ) + "-" + oneThru30 ("day" ))
7675 ^ (L ("02" )("month" ) + "-" + oneThru29 ("day" ))
7776)
7877
9594date = Combine (year ^ yearMonth ^ yearMonthDay )("date" )
9695Date .set_parser (date )
9796
98- zoneOffsetHour = oneThru13
99- zoneOffset = L ("Z" ) ^ (
97+ zone_offsetHour = oneThru13
98+ zone_offset = L ("Z" ) ^ (
10099 Regex ("[+-]" )
101- + (zoneOffsetHour + Optional (":" + minute ) ^ L ("14:00" ) ^ ("00:" + oneThru59 ))
100+ + (zone_offsetHour + Optional (":" + minute ) ^ L ("14:00" ) ^ ("00:" + oneThru59 ))
102101)
103102
104103baseTime = Combine (hour + ":" + minute + ":" + second ^ "24:00:00" )
105104
106- time = Combine (baseTime + Optional (zoneOffset ))("time" )
105+ time = Combine (baseTime + Optional (zone_offset ))("time" )
107106
108107dateAndTime = date + "T" + time
109108DateAndTime .set_parser (dateAndTime )
117116# (* ************************** Level 1 *************************** *)
118117
119118# (* ** Auxiliary Assignments for Level 1 ** *)
120- UASymbol = Combine (oneOf ("? ~ %" ))
119+ UASymbol = Combine (one_of ("? ~ %" ))
121120UA .set_parser (UASymbol )
122121
123- seasonNumber = oneOf ("21 22 23 24" )
122+ seasonNumber = one_of ("21 22 23 24" )
124123
125124# (* *** Season (unqualified) *** *)
126125season = year + "-" + seasonNumber ("season" )
@@ -153,9 +152,9 @@ def f(toks):
153152
154153
155154l1Start = ".." ^ uaDateOrSeason
156- l1Start .addParseAction (f )
155+ l1Start .add_parse_action (f )
157156l1End = uaDateOrSeason ^ ".."
158- l1End .addParseAction (f )
157+ l1End .add_parse_action (f )
159158
160159level1Interval = Optional (l1Start )("lower" ) + "/" + l1End ("upper" ) ^ l1Start (
161160 "lower"
@@ -197,7 +196,7 @@ def f(toks):
197196dayWithX = Combine (("X" + digitOrX ) ^ (digitOrX + "X" ))("day" )
198197
199198# 2-digit month with at least one 'X' present
200- monthWithX = Combine (oneOf ("0X 1X" ) ^ ("X" + digitOrX ))("month" )
199+ monthWithX = Combine (one_of ("0X 1X" ) ^ ("X" + digitOrX ))("month" )
201200
202201# 4-digit year with at least one 'X' present
203202yearWithX = Combine (
@@ -301,8 +300,8 @@ def f(toks):
301300 ^ consecutives
302301)
303302
304- earlier = L (".." ).addParseAction (f )("lower" ) + date ("upper" ).addParseAction (f )
305- later = date ("lower" ).addParseAction (f ) + L (".." ).addParseAction (f )("upper" )
303+ earlier = L (".." ).add_parse_action (f )("lower" ) + date ("upper" ).add_parse_action (f )
304+ later = date ("lower" ).add_parse_action (f ) + L (".." ).add_parse_action (f )("upper" )
306305
307306EarlierConsecutives .set_parser (earlier )
308307LaterConsecutives .set_parser (later )
@@ -323,7 +322,9 @@ def f(toks):
323322
324323
325324# (* *** L2 Season *** *)
326- seasonL2Number = oneOf ("21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41" )
325+ seasonL2Number = one_of (
326+ "21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41"
327+ )
327328l2season = year + "-" + seasonL2Number ("season" )
328329Level2Season .set_parser (l2season )
329330
0 commit comments