1.1 --- a/vRecurrence.py Mon Oct 06 16:11:56 2014 +0200
1.2 +++ b/vRecurrence.py Mon Oct 06 16:19:16 2014 +0200
1.3 @@ -61,6 +61,8 @@
1.4 "YEARLY",
1.5 "MONTHLY",
1.6 "WEEKLY",
1.7 + None,
1.8 + None,
1.9 "DAILY",
1.10 "HOURLY",
1.11 "MINUTELY",
1.12 @@ -71,17 +73,19 @@
1.13
1.14 enum_levels = (
1.15 None,
1.16 - ("BYMONTH",),
1.17 - ("BYWEEKNO",),
1.18 - ("BYDAY", "BYMONTHDAY", "BYYEARDAY"),
1.19 - ("BYHOUR",),
1.20 - ("BYMINUTE",),
1.21 - ("BYSECOND",)
1.22 + "BYMONTH",
1.23 + "BYWEEKNO",
1.24 + "BYYEARDAY",
1.25 + "BYMONTHDAY",
1.26 + "BYDAY",
1.27 + "BYHOUR",
1.28 + "BYMINUTE",
1.29 + "BYSECOND"
1.30 )
1.31
1.32 # Map from levels to lengths of datetime tuples.
1.33
1.34 -lengths = [1, 2, 3, 3, 4, 5, 6]
1.35 +lengths = [1, 2, 3, 3, 3, 3, 4, 5, 6]
1.36 positions = [l-1 for l in lengths]
1.37
1.38 # Map from qualifiers to interval units. Here, weeks are defined as 7 days.
1.39 @@ -90,8 +94,8 @@
1.40
1.41 # Make dictionaries mapping qualifiers to levels.
1.42
1.43 -freq = dict([(level, i) for (i, level) in enumerate(freq_levels)])
1.44 -enum = dict([(level, i) for (i, levels) in enumerate(enum_levels) if levels for level in levels])
1.45 +freq = dict([(level, i) for (i, level) in enumerate(freq_levels) if level])
1.46 +enum = dict([(level, i) for (i, level) in enumerate(enum_levels) if level])
1.47
1.48 # Functions for structuring the recurrences.
1.49
1.50 @@ -132,7 +136,7 @@
1.51 offset = 0
1.52 for level, value in enumerate(datetime):
1.53 if level == 2:
1.54 - offset = 1
1.55 + offset = 3
1.56 l.append(Enum(level + offset, {"values" : [value]}, "DT"))
1.57 return l
1.58