@@ -929,25 +929,31 @@ def is_subperiod(source, target):
929929 if _is_quarterly (source ):
930930 return _quarter_months_conform (_get_rule_month (source ),
931931 _get_rule_month (target ))
932- return source in ['D' , 'C' , 'B' , 'M' , 'H' , 'T' , 'S' ]
932+ return source in ['D' , 'C' , 'B' , 'M' , 'H' , 'T' , 'S' , 'L' , 'U' , 'N' ]
933933 elif _is_quarterly (target ):
934- return source in ['D' , 'C' , 'B' , 'M' , 'H' , 'T' , 'S' ]
934+ return source in ['D' , 'C' , 'B' , 'M' , 'H' , 'T' , 'S' , 'L' , 'U' , 'N' ]
935935 elif target == 'M' :
936- return source in ['D' , 'C' , 'B' , 'H' , 'T' , 'S' ]
936+ return source in ['D' , 'C' , 'B' , 'H' , 'T' , 'S' , 'L' , 'U' , 'N' ]
937937 elif _is_weekly (target ):
938- return source in [target , 'D' , 'C' , 'B' , 'H' , 'T' , 'S' ]
938+ return source in [target , 'D' , 'C' , 'B' , 'H' , 'T' , 'S' , 'L' , 'U' , 'N' ]
939939 elif target == 'B' :
940- return source in ['B' , 'H' , 'T' , 'S' ]
940+ return source in ['B' , 'H' , 'T' , 'S' , 'L' , 'U' , 'N' ]
941941 elif target == 'C' :
942- return source in ['C' , 'H' , 'T' , 'S' ]
942+ return source in ['C' , 'H' , 'T' , 'S' , 'L' , 'U' , 'N' ]
943943 elif target == 'D' :
944- return source in ['D' , 'H' , 'T' , 'S' ]
944+ return source in ['D' , 'H' , 'T' , 'S' , 'L' , 'U' , 'N' ]
945945 elif target == 'H' :
946- return source in ['H' , 'T' , 'S' ]
946+ return source in ['H' , 'T' , 'S' , 'L' , 'U' , 'N' ]
947947 elif target == 'T' :
948- return source in ['T' , 'S' ]
948+ return source in ['T' , 'S' , 'L' , 'U' , 'N' ]
949949 elif target == 'S' :
950- return source in ['S' ]
950+ return source in ['S' , 'L' , 'U' , 'N' ]
951+ elif target == 'L' :
952+ return source in ['L' , 'U' , 'N' ]
953+ elif target == 'U' :
954+ return source in ['U' , 'N' ]
955+ elif target == 'N' :
956+ return source in ['N' ]
951957
952958
953959def is_superperiod (source , target ):
@@ -982,25 +988,31 @@ def is_superperiod(source, target):
982988 smonth = _get_rule_month (source )
983989 tmonth = _get_rule_month (target )
984990 return _quarter_months_conform (smonth , tmonth )
985- return target in ['D' , 'C' , 'B' , 'M' , 'H' , 'T' , 'S' ]
991+ return target in ['D' , 'C' , 'B' , 'M' , 'H' , 'T' , 'S' , 'L' , 'U' , 'N' ]
986992 elif _is_quarterly (source ):
987- return target in ['D' , 'C' , 'B' , 'M' , 'H' , 'T' , 'S' ]
993+ return target in ['D' , 'C' , 'B' , 'M' , 'H' , 'T' , 'S' , 'L' , 'U' , 'N' ]
988994 elif source == 'M' :
989- return target in ['D' , 'C' , 'B' , 'H' , 'T' , 'S' ]
995+ return target in ['D' , 'C' , 'B' , 'H' , 'T' , 'S' , 'L' , 'U' , 'N' ]
990996 elif _is_weekly (source ):
991- return target in [source , 'D' , 'C' , 'B' , 'H' , 'T' , 'S' ]
997+ return target in [source , 'D' , 'C' , 'B' , 'H' , 'T' , 'S' , 'L' , 'U' , 'N' ]
992998 elif source == 'B' :
993- return target in ['D' , 'C' , 'B' , 'H' , 'T' , 'S' ]
999+ return target in ['D' , 'C' , 'B' , 'H' , 'T' , 'S' , 'L' , 'U' , 'N' ]
9941000 elif source == 'C' :
995- return target in ['D' , 'C' , 'B' , 'H' , 'T' , 'S' ]
1001+ return target in ['D' , 'C' , 'B' , 'H' , 'T' , 'S' , 'L' , 'U' , 'N' ]
9961002 elif source == 'D' :
997- return target in ['D' , 'C' , 'B' , 'H' , 'T' , 'S' ]
1003+ return target in ['D' , 'C' , 'B' , 'H' , 'T' , 'S' , 'L' , 'U' , 'N' ]
9981004 elif source == 'H' :
999- return target in ['H' , 'T' , 'S' ]
1005+ return target in ['H' , 'T' , 'S' , 'L' , 'U' , 'N' ]
10001006 elif source == 'T' :
1001- return target in ['T' , 'S' ]
1007+ return target in ['T' , 'S' , 'L' , 'U' , 'N' ]
10021008 elif source == 'S' :
1003- return target in ['S' ]
1009+ return target in ['S' , 'L' , 'U' , 'N' ]
1010+ elif source == 'L' :
1011+ return target in ['L' , 'U' , 'N' ]
1012+ elif source == 'U' :
1013+ return target in ['U' , 'N' ]
1014+ elif source == 'N' :
1015+ return target in ['N' ]
10041016
10051017
10061018def _get_rule_month (source , default = 'DEC' ):
0 commit comments