paul@33 | 1 | #!/usr/bin/env python |
paul@33 | 2 | |
paul@600 | 3 | """ |
paul@600 | 4 | Test qualifiers for recurring events. |
paul@600 | 5 | |
paul@1241 | 6 | Copyright (C) 2014, 2015, 2017 Paul Boddie <paul@boddie.org.uk> |
paul@600 | 7 | |
paul@600 | 8 | This program is free software; you can redistribute it and/or modify it under |
paul@600 | 9 | the terms of the GNU General Public License as published by the Free Software |
paul@600 | 10 | Foundation; either version 3 of the License, or (at your option) any later |
paul@600 | 11 | version. |
paul@600 | 12 | |
paul@600 | 13 | This program is distributed in the hope that it will be useful, but WITHOUT |
paul@600 | 14 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS |
paul@600 | 15 | FOR A PARTICULAR PURPOSE. See the GNU General Public License for more |
paul@600 | 16 | details. |
paul@600 | 17 | |
paul@600 | 18 | You should have received a copy of the GNU General Public License along with |
paul@600 | 19 | this program. If not, see <http://www.gnu.org/licenses/>. |
paul@600 | 20 | """ |
paul@600 | 21 | |
paul@33 | 22 | from vRecurrence import * |
paul@33 | 23 | |
paul@33 | 24 | def show(l): |
paul@33 | 25 | for x in l: |
paul@33 | 26 | print x |
paul@33 | 27 | print |
paul@33 | 28 | |
paul@33 | 29 | qualifiers = [ |
paul@33 | 30 | ("YEARLY", {"interval" : 1}) |
paul@33 | 31 | ] |
paul@33 | 32 | |
paul@1404 | 33 | sel = make_selectors(qualifiers) |
paul@1404 | 34 | show(sel) |
paul@33 | 35 | dt = (1997, 11, 2) |
paul@33 | 36 | l = get_datetime_structure(dt) |
paul@33 | 37 | show(l) |
paul@1406 | 38 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 39 | show(csel) |
paul@33 | 40 | |
paul@1404 | 41 | s = get_selector(dt, sel) |
paul@1407 | 42 | csel = get_selectors_from_selector(s) |
paul@1407 | 43 | show(csel) |
paul@1404 | 44 | |
paul@35 | 45 | l = s.materialise(dt, (2003, 12, 24)) |
paul@39 | 46 | print len(l) == 7, 7, len(l) |
paul@39 | 47 | print l[0] == (1997, 11, 2), (1997, 11, 2), l[0] |
paul@39 | 48 | print l[-1] == (2003, 11, 2), (2003, 11, 2), l[-1] |
paul@33 | 49 | print |
paul@33 | 50 | |
paul@33 | 51 | qualifiers = [ |
paul@33 | 52 | ("YEARLY", {"interval" : 2}), |
paul@33 | 53 | ("BYMONTH", {"values" : [1]}), |
paul@1404 | 54 | ("BYDAY", {"values" : [(7, None)]}), |
paul@33 | 55 | ("BYHOUR", {"values" : [8, 9]}), |
paul@33 | 56 | ("BYMINUTE", {"values" : [30]}) |
paul@33 | 57 | ] |
paul@33 | 58 | |
paul@1404 | 59 | sel = make_selectors(qualifiers) |
paul@1404 | 60 | show(sel) |
paul@33 | 61 | dt = (1997, 1, 5, 8, 30, 0) |
paul@33 | 62 | l = get_datetime_structure(dt) |
paul@33 | 63 | show(l) |
paul@1406 | 64 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 65 | show(csel) |
paul@1404 | 66 | |
paul@1404 | 67 | s = get_selector(dt, sel) |
paul@1407 | 68 | csel = get_selectors_from_selector(s) |
paul@1407 | 69 | show(csel) |
paul@33 | 70 | |
paul@35 | 71 | l = s.materialise(dt, (2003, 12, 24, 0, 0, 0)) |
paul@1404 | 72 | print len(l) == 34, 34, len(l) |
paul@1404 | 73 | print l[0] == (1997, 1, 5, 8, 30, 0), (1997, 1, 5, 8, 30, 0), l[0] |
paul@1404 | 74 | print l[-1] == (2003, 1, 26, 9, 30, 0), (2003, 1, 26, 9, 30, 0), l[-1] |
paul@33 | 75 | print |
paul@33 | 76 | |
paul@33 | 77 | qualifiers = [ |
paul@1361 | 78 | ("DAILY", {"interval" : 1}), |
paul@1361 | 79 | ("COUNT", {"values" : [10]}) |
paul@33 | 80 | ] |
paul@33 | 81 | |
paul@1404 | 82 | sel = make_selectors(qualifiers) |
paul@1404 | 83 | show(sel) |
paul@33 | 84 | dt = (1997, 9, 2, 9, 0, 0) |
paul@33 | 85 | l = get_datetime_structure(dt) |
paul@33 | 86 | show(l) |
paul@1406 | 87 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 88 | show(csel) |
paul@33 | 89 | |
paul@1404 | 90 | s = get_selector(dt, sel) |
paul@1407 | 91 | csel = get_selectors_from_selector(s) |
paul@1407 | 92 | show(csel) |
paul@1404 | 93 | |
paul@1361 | 94 | l = s.materialise(dt, (1997, 12, 24)) |
paul@39 | 95 | print len(l) == 10, 10, len(l) |
paul@39 | 96 | print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0] |
paul@39 | 97 | print l[-1] == (1997, 9, 11, 9, 0, 0), (1997, 9, 11, 9, 0, 0), l[-1] |
paul@33 | 98 | print |
paul@33 | 99 | |
paul@33 | 100 | qualifiers = [ |
paul@33 | 101 | ("DAILY", {"interval" : 1}) |
paul@33 | 102 | ] |
paul@33 | 103 | |
paul@1404 | 104 | sel = make_selectors(qualifiers) |
paul@1404 | 105 | show(sel) |
paul@33 | 106 | dt = (1997, 9, 2, 9, 0, 0) |
paul@33 | 107 | l = get_datetime_structure(dt) |
paul@33 | 108 | show(l) |
paul@1406 | 109 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 110 | show(csel) |
paul@33 | 111 | |
paul@1404 | 112 | s = get_selector(dt, sel) |
paul@1407 | 113 | csel = get_selectors_from_selector(s) |
paul@1407 | 114 | show(csel) |
paul@1404 | 115 | |
paul@35 | 116 | l = s.materialise(dt, (1997, 12, 24, 0, 0, 0)) |
paul@39 | 117 | print len(l) == 113, 113, len(l) |
paul@39 | 118 | print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0] |
paul@39 | 119 | print l[-1] == (1997, 12, 23, 9, 0, 0), (1997, 12, 23, 9, 0, 0), l[-1] |
paul@33 | 120 | print |
paul@33 | 121 | |
paul@33 | 122 | qualifiers = [ |
paul@33 | 123 | ("DAILY", {"interval" : 2}) |
paul@33 | 124 | ] |
paul@33 | 125 | |
paul@1404 | 126 | sel = make_selectors(qualifiers) |
paul@1404 | 127 | show(sel) |
paul@33 | 128 | dt = (1997, 9, 2, 9, 0, 0) |
paul@33 | 129 | l = get_datetime_structure(dt) |
paul@33 | 130 | show(l) |
paul@1406 | 131 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 132 | show(csel) |
paul@33 | 133 | |
paul@1404 | 134 | s = get_selector(dt, sel) |
paul@1407 | 135 | csel = get_selectors_from_selector(s) |
paul@1407 | 136 | show(csel) |
paul@1404 | 137 | |
paul@35 | 138 | l = s.materialise(dt, (1997, 12, 24, 0, 0, 0)) |
paul@39 | 139 | print len(l) == 57, 57, len(l) |
paul@39 | 140 | print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0] |
paul@39 | 141 | print l[-1] == (1997, 12, 23, 9, 0, 0), (1997, 12, 23, 9, 0, 0), l[-1] |
paul@33 | 142 | print |
paul@33 | 143 | |
paul@33 | 144 | qualifiers = [ |
paul@33 | 145 | ("WEEKLY", {"interval" : 1}) |
paul@33 | 146 | ] |
paul@33 | 147 | |
paul@1404 | 148 | sel = make_selectors(qualifiers) |
paul@1404 | 149 | show(sel) |
paul@33 | 150 | dt = (1997, 9, 2, 9, 0, 0) |
paul@33 | 151 | l = get_datetime_structure(dt) |
paul@33 | 152 | show(l) |
paul@1406 | 153 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 154 | show(csel) |
paul@33 | 155 | |
paul@1404 | 156 | s = get_selector(dt, sel) |
paul@1407 | 157 | csel = get_selectors_from_selector(s) |
paul@1407 | 158 | show(csel) |
paul@1404 | 159 | |
paul@35 | 160 | l = s.materialise(dt, (1997, 12, 24, 0, 0, 0)) |
paul@39 | 161 | print len(l) == 17, 17, len(l) |
paul@39 | 162 | print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0] |
paul@39 | 163 | print l[-1] == (1997, 12, 23, 9, 0, 0), (1997, 12, 23, 9, 0, 0), l[-1] |
paul@33 | 164 | print |
paul@33 | 165 | |
paul@33 | 166 | qualifiers = [ |
paul@1361 | 167 | ("DAILY", {"interval" : 10}), |
paul@1361 | 168 | ("COUNT", {"values" : [5]}) |
paul@33 | 169 | ] |
paul@33 | 170 | |
paul@1404 | 171 | sel = make_selectors(qualifiers) |
paul@1404 | 172 | show(sel) |
paul@33 | 173 | dt = (1997, 9, 2, 9, 0, 0) |
paul@33 | 174 | l = get_datetime_structure(dt) |
paul@33 | 175 | show(l) |
paul@1406 | 176 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 177 | show(csel) |
paul@33 | 178 | |
paul@1404 | 179 | s = get_selector(dt, sel) |
paul@1407 | 180 | csel = get_selectors_from_selector(s) |
paul@1407 | 181 | show(csel) |
paul@1404 | 182 | |
paul@1361 | 183 | l = s.materialise(dt, (1997, 12, 24, 0, 0, 0)) |
paul@39 | 184 | print len(l) == 5, 5, len(l) |
paul@39 | 185 | print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0] |
paul@39 | 186 | print l[-1] == (1997, 10, 12, 9, 0, 0), (1997, 10, 12, 9, 0, 0), l[-1] |
paul@33 | 187 | print |
paul@33 | 188 | |
paul@33 | 189 | qualifiers = [ |
paul@33 | 190 | ("YEARLY", {"interval" : 1}), |
paul@33 | 191 | ("BYMONTH", {"values" : [1]}), |
paul@34 | 192 | ("BYDAY", {"values" : [(1, None), (2, None), (3, None), (4, None), (5, None), (6, None), (7, None)]}) |
paul@33 | 193 | ] |
paul@33 | 194 | |
paul@1404 | 195 | sel = make_selectors(qualifiers) |
paul@1404 | 196 | show(sel) |
paul@33 | 197 | dt = (1998, 1, 1, 9, 0, 0) |
paul@33 | 198 | l = get_datetime_structure(dt) |
paul@33 | 199 | show(l) |
paul@1406 | 200 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 201 | show(csel) |
paul@33 | 202 | |
paul@1404 | 203 | s = get_selector(dt, sel) |
paul@1407 | 204 | csel = get_selectors_from_selector(s) |
paul@1407 | 205 | show(csel) |
paul@1404 | 206 | |
paul@35 | 207 | l = s.materialise(dt, (2000, 1, 31, 14, 0, 0)) |
paul@39 | 208 | print len(l) == 93, 93, len(l) |
paul@39 | 209 | print l[0] == (1998, 1, 1, 9, 0, 0), (1998, 1, 1, 9, 0, 0), l[0] |
paul@39 | 210 | print l[-1] == (2000, 1, 31, 9, 0, 0), (2000, 1, 31, 9, 0, 0), l[-1] |
paul@33 | 211 | print |
paul@33 | 212 | |
paul@33 | 213 | qualifiers = [ |
paul@33 | 214 | ("DAILY", {"interval" : 1}), |
paul@33 | 215 | ("BYMONTH", {"values" : [1]}) |
paul@33 | 216 | ] |
paul@33 | 217 | |
paul@1404 | 218 | sel = make_selectors(qualifiers) |
paul@1404 | 219 | show(sel) |
paul@33 | 220 | dt = (1998, 1, 1, 9, 0, 0) |
paul@33 | 221 | l = get_datetime_structure(dt) |
paul@33 | 222 | show(l) |
paul@1406 | 223 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 224 | show(csel) |
paul@33 | 225 | |
paul@1404 | 226 | s = get_selector(dt, sel) |
paul@1407 | 227 | csel = get_selectors_from_selector(s) |
paul@1407 | 228 | show(csel) |
paul@1404 | 229 | |
paul@35 | 230 | l = s.materialise(dt, (2000, 1, 31, 14, 0, 0)) |
paul@39 | 231 | print len(l) == 93, 93, len(l) |
paul@39 | 232 | print l[0] == (1998, 1, 1, 9, 0, 0), (1998, 1, 1, 9, 0, 0), l[0] |
paul@39 | 233 | print l[-1] == (2000, 1, 31, 9, 0, 0), (2000, 1, 31, 9, 0, 0), l[-1] |
paul@33 | 234 | print |
paul@33 | 235 | |
paul@33 | 236 | qualifiers = [ |
paul@1361 | 237 | ("WEEKLY", {"interval" : 1}), |
paul@1361 | 238 | ("COUNT", {"values" : [10]}) |
paul@33 | 239 | ] |
paul@33 | 240 | |
paul@1404 | 241 | sel = make_selectors(qualifiers) |
paul@1404 | 242 | show(sel) |
paul@33 | 243 | dt = (1997, 9, 2, 9, 0, 0) |
paul@33 | 244 | l = get_datetime_structure(dt) |
paul@33 | 245 | show(l) |
paul@1406 | 246 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 247 | show(csel) |
paul@33 | 248 | |
paul@1404 | 249 | s = get_selector(dt, sel) |
paul@1407 | 250 | csel = get_selectors_from_selector(s) |
paul@1407 | 251 | show(csel) |
paul@1404 | 252 | |
paul@1361 | 253 | l = s.materialise(dt, (1997, 12, 24, 0, 0, 0)) |
paul@39 | 254 | print len(l) == 10, 10, len(l) |
paul@39 | 255 | print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0] |
paul@39 | 256 | print l[-1] == (1997, 11, 4, 9, 0, 0), (1997, 11, 4, 9, 0, 0), l[-1] |
paul@33 | 257 | print |
paul@33 | 258 | |
paul@33 | 259 | qualifiers = [ |
paul@33 | 260 | ("WEEKLY", {"interval" : 1}) |
paul@33 | 261 | ] |
paul@33 | 262 | |
paul@1404 | 263 | sel = make_selectors(qualifiers) |
paul@1404 | 264 | show(sel) |
paul@33 | 265 | dt = (1997, 9, 2, 9, 0, 0) |
paul@33 | 266 | l = get_datetime_structure(dt) |
paul@33 | 267 | show(l) |
paul@1406 | 268 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 269 | show(csel) |
paul@33 | 270 | |
paul@1404 | 271 | s = get_selector(dt, sel) |
paul@1407 | 272 | csel = get_selectors_from_selector(s) |
paul@1407 | 273 | show(csel) |
paul@1404 | 274 | |
paul@35 | 275 | l = s.materialise(dt, (1997, 12, 24, 0, 0, 0)) |
paul@39 | 276 | print len(l) == 17, 17, len(l) |
paul@39 | 277 | print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0] |
paul@39 | 278 | print l[-1] == (1997, 12, 23, 9, 0, 0), (1997, 12, 23, 9, 0, 0), l[-1] |
paul@33 | 279 | print |
paul@33 | 280 | |
paul@33 | 281 | qualifiers = [ |
paul@1361 | 282 | ("WEEKLY", {"interval" : 1}) |
paul@1361 | 283 | ] |
paul@1361 | 284 | |
paul@1404 | 285 | sel = make_selectors(qualifiers) |
paul@1404 | 286 | show(sel) |
paul@1361 | 287 | dt = (1997, 9, 2) |
paul@1361 | 288 | l = get_datetime_structure(dt) |
paul@1361 | 289 | show(l) |
paul@1406 | 290 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 291 | show(csel) |
paul@1361 | 292 | |
paul@1404 | 293 | s = get_selector(dt, sel) |
paul@1407 | 294 | csel = get_selectors_from_selector(s) |
paul@1407 | 295 | show(csel) |
paul@1404 | 296 | |
paul@1361 | 297 | l = s.materialise(dt, (1997, 12, 24, 0, 0, 0)) |
paul@1361 | 298 | print len(l) == 17, 17, len(l) |
paul@1361 | 299 | print l[0] == (1997, 9, 2), (1997, 9, 2), l[0] |
paul@1361 | 300 | print l[-1] == (1997, 12, 23), (1997, 12, 23), l[-1] |
paul@1361 | 301 | print |
paul@1361 | 302 | |
paul@1361 | 303 | qualifiers = [ |
paul@33 | 304 | ("WEEKLY", {"interval" : 2}) |
paul@33 | 305 | ] |
paul@33 | 306 | |
paul@1404 | 307 | sel = make_selectors(qualifiers) |
paul@1404 | 308 | show(sel) |
paul@33 | 309 | dt = (1997, 9, 2, 9, 0, 0) |
paul@33 | 310 | l = get_datetime_structure(dt) |
paul@33 | 311 | show(l) |
paul@1406 | 312 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 313 | show(csel) |
paul@33 | 314 | |
paul@1404 | 315 | s = get_selector(dt, sel) |
paul@1407 | 316 | csel = get_selectors_from_selector(s) |
paul@1407 | 317 | show(csel) |
paul@1404 | 318 | |
paul@35 | 319 | l = s.materialise(dt, (1998, 2, 20, 0, 0, 0)) |
paul@39 | 320 | print len(l) == 13, 13, len(l) |
paul@39 | 321 | print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0] |
paul@39 | 322 | print l[-1] == (1998, 2, 17, 9, 0, 0), (1998, 2, 17, 9, 0, 0), l[-1] |
paul@33 | 323 | print |
paul@33 | 324 | |
paul@33 | 325 | qualifiers = [ |
paul@33 | 326 | ("WEEKLY", {"interval" : 1}), |
paul@34 | 327 | ("BYDAY", {"values" : [(2, None), (4, None)]}) |
paul@33 | 328 | ] |
paul@33 | 329 | |
paul@1404 | 330 | sel = make_selectors(qualifiers) |
paul@1404 | 331 | show(sel) |
paul@33 | 332 | dt = (1997, 9, 2, 9, 0, 0) |
paul@33 | 333 | l = get_datetime_structure(dt) |
paul@33 | 334 | show(l) |
paul@1406 | 335 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 336 | show(csel) |
paul@33 | 337 | |
paul@1404 | 338 | s = get_selector(dt, sel) |
paul@1407 | 339 | csel = get_selectors_from_selector(s) |
paul@1407 | 340 | show(csel) |
paul@1404 | 341 | |
paul@35 | 342 | l = s.materialise(dt, (1997, 10, 7, 9, 0, 0)) |
paul@39 | 343 | print len(l) == 10, 10, len(l) |
paul@39 | 344 | print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0] |
paul@39 | 345 | print l[-1] == (1997, 10, 2, 9, 0, 0), (1997, 10, 2, 9, 0, 0), l[-1] |
paul@33 | 346 | print |
paul@33 | 347 | |
paul@33 | 348 | qualifiers = [ |
paul@33 | 349 | ("WEEKLY", {"interval" : 1}), |
paul@1361 | 350 | ("BYDAY", {"values" : [(2, None), (4, None)]}), |
paul@1361 | 351 | ("COUNT", {"values" : [10]}) |
paul@33 | 352 | ] |
paul@33 | 353 | |
paul@1404 | 354 | sel = make_selectors(qualifiers) |
paul@1404 | 355 | show(sel) |
paul@33 | 356 | dt = (1997, 9, 2, 9, 0, 0) |
paul@33 | 357 | l = get_datetime_structure(dt) |
paul@33 | 358 | show(l) |
paul@1406 | 359 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 360 | show(csel) |
paul@33 | 361 | |
paul@1404 | 362 | s = get_selector(dt, sel) |
paul@1407 | 363 | csel = get_selectors_from_selector(s) |
paul@1407 | 364 | show(csel) |
paul@1404 | 365 | |
paul@1361 | 366 | l = s.materialise(dt, (1997, 12, 24, 0, 0, 0)) |
paul@39 | 367 | print len(l) == 10, 10, len(l) |
paul@39 | 368 | print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0] |
paul@39 | 369 | print l[-1] == (1997, 10, 2, 9, 0, 0), (1997, 10, 2, 9, 0, 0), l[-1] |
paul@33 | 370 | print |
paul@33 | 371 | |
paul@33 | 372 | qualifiers = [ |
paul@33 | 373 | ("WEEKLY", {"interval" : 2}), |
paul@34 | 374 | ("BYDAY", {"values" : [(1, None), (3, None), (5, None)]}) |
paul@33 | 375 | ] |
paul@33 | 376 | |
paul@1404 | 377 | sel = make_selectors(qualifiers) |
paul@1404 | 378 | show(sel) |
paul@33 | 379 | dt = (1997, 9, 1, 9, 0, 0) |
paul@33 | 380 | l = get_datetime_structure(dt) |
paul@33 | 381 | show(l) |
paul@1406 | 382 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 383 | show(csel) |
paul@33 | 384 | |
paul@1404 | 385 | s = get_selector(dt, sel) |
paul@1407 | 386 | csel = get_selectors_from_selector(s) |
paul@1407 | 387 | show(csel) |
paul@1404 | 388 | |
paul@35 | 389 | l = s.materialise(dt, (1997, 12, 24, 0, 0, 0)) |
paul@39 | 390 | print len(l) == 25, 25, len(l) |
paul@39 | 391 | print l[0] == (1997, 9, 1, 9, 0, 0), (1997, 9, 1, 9, 0, 0), l[0] |
paul@39 | 392 | print l[-1] == (1997, 12, 22, 9, 0, 0), (1997, 12, 22, 9, 0, 0), l[-1] |
paul@33 | 393 | print |
paul@33 | 394 | |
paul@34 | 395 | qualifiers = [ |
paul@34 | 396 | ("WEEKLY", {"interval" : 2}), |
paul@1361 | 397 | ("BYDAY", {"values" : [(2, None), (4, None)]}), |
paul@1361 | 398 | ("COUNT", {"values" : [8]}) |
paul@34 | 399 | ] |
paul@34 | 400 | |
paul@1404 | 401 | sel = make_selectors(qualifiers) |
paul@1404 | 402 | show(sel) |
paul@34 | 403 | dt = (1997, 9, 2, 9, 0, 0) |
paul@34 | 404 | l = get_datetime_structure(dt) |
paul@34 | 405 | show(l) |
paul@1406 | 406 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 407 | show(csel) |
paul@34 | 408 | |
paul@1404 | 409 | s = get_selector(dt, sel) |
paul@1407 | 410 | csel = get_selectors_from_selector(s) |
paul@1407 | 411 | show(csel) |
paul@1404 | 412 | |
paul@1361 | 413 | l = s.materialise(dt, (1997, 12, 24, 0, 0, 0)) |
paul@39 | 414 | print len(l) == 8, 8, len(l) |
paul@39 | 415 | print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0] |
paul@39 | 416 | print l[-1] == (1997, 10, 16, 9, 0, 0), (1997, 10, 16, 9, 0, 0), l[-1] |
paul@34 | 417 | print |
paul@34 | 418 | |
paul@34 | 419 | qualifiers = [ |
paul@34 | 420 | ("MONTHLY", {"interval" : 1}), |
paul@1361 | 421 | ("BYDAY", {"values" : [(5, 1)]}), |
paul@1361 | 422 | ("COUNT", {"values" : [10]}) |
paul@34 | 423 | ] |
paul@34 | 424 | |
paul@1404 | 425 | sel = make_selectors(qualifiers) |
paul@1404 | 426 | show(sel) |
paul@34 | 427 | dt = (1997, 9, 5, 9, 0, 0) |
paul@34 | 428 | l = get_datetime_structure(dt) |
paul@34 | 429 | show(l) |
paul@1406 | 430 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 431 | show(csel) |
paul@34 | 432 | |
paul@1404 | 433 | s = get_selector(dt, sel) |
paul@1407 | 434 | csel = get_selectors_from_selector(s) |
paul@1407 | 435 | show(csel) |
paul@1404 | 436 | |
paul@1361 | 437 | l = s.materialise(dt, (1998, 12, 24, 0, 0, 0)) |
paul@39 | 438 | print len(l) == 10, 10, len(l) |
paul@39 | 439 | print l[0] == (1997, 9, 5, 9, 0, 0), (1997, 9, 5, 9, 0, 0), l[0] |
paul@39 | 440 | print l[-1] == (1998, 6, 5, 9, 0, 0), (1998, 6, 5, 9, 0, 0), l[-1] |
paul@34 | 441 | print |
paul@34 | 442 | |
paul@34 | 443 | qualifiers = [ |
paul@34 | 444 | ("MONTHLY", {"interval" : 1}), |
paul@39 | 445 | ("BYDAY", {"values" : [(5, 1)]}) |
paul@34 | 446 | ] |
paul@34 | 447 | |
paul@1404 | 448 | sel = make_selectors(qualifiers) |
paul@1404 | 449 | show(sel) |
paul@34 | 450 | dt = (1997, 9, 5, 9, 0, 0) |
paul@34 | 451 | l = get_datetime_structure(dt) |
paul@34 | 452 | show(l) |
paul@1406 | 453 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 454 | show(csel) |
paul@34 | 455 | |
paul@1404 | 456 | s = get_selector(dt, sel) |
paul@1407 | 457 | csel = get_selectors_from_selector(s) |
paul@1407 | 458 | show(csel) |
paul@1404 | 459 | |
paul@35 | 460 | l = s.materialise(dt, (1997, 12, 24, 0, 0, 0)) |
paul@39 | 461 | print len(l) == 4, 4, len(l) |
paul@39 | 462 | print l[0] == (1997, 9, 5, 9, 0, 0), (1997, 9, 5, 9, 0, 0), l[0] |
paul@39 | 463 | print l[-1] == (1997, 12, 5, 9, 0, 0), (1997, 12, 5, 9, 0, 0), l[-1] |
paul@34 | 464 | print |
paul@34 | 465 | |
paul@34 | 466 | qualifiers = [ |
paul@34 | 467 | ("MONTHLY", {"interval" : 2}), |
paul@1361 | 468 | ("BYDAY", {"values" : [(7, 1), (7, -1)]}), |
paul@1361 | 469 | ("COUNT", {"values" : [10]}) |
paul@34 | 470 | ] |
paul@34 | 471 | |
paul@1404 | 472 | sel = make_selectors(qualifiers) |
paul@1404 | 473 | show(sel) |
paul@34 | 474 | dt = (1997, 9, 7, 9, 0, 0) |
paul@34 | 475 | l = get_datetime_structure(dt) |
paul@34 | 476 | show(l) |
paul@1406 | 477 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 478 | show(csel) |
paul@34 | 479 | |
paul@1404 | 480 | s = get_selector(dt, sel) |
paul@1407 | 481 | csel = get_selectors_from_selector(s) |
paul@1407 | 482 | show(csel) |
paul@1404 | 483 | |
paul@1361 | 484 | l = s.materialise(dt, (1998, 12, 24, 0, 0, 0)) |
paul@39 | 485 | print len(l) == 10, 10, len(l) |
paul@39 | 486 | print l[0] == (1997, 9, 7, 9, 0, 0), (1997, 9, 7, 9, 0, 0), l[0] |
paul@39 | 487 | print l[-1] == (1998, 5, 31, 9, 0, 0), (1998, 5, 31, 9, 0, 0), l[-1] |
paul@34 | 488 | print |
paul@34 | 489 | |
paul@34 | 490 | qualifiers = [ |
paul@34 | 491 | ("MONTHLY", {"interval" : 1}), |
paul@1361 | 492 | ("BYDAY", {"values" : [(1, -2)]}), |
paul@1361 | 493 | ("COUNT", {"values" : [6]}) |
paul@34 | 494 | ] |
paul@34 | 495 | |
paul@1404 | 496 | sel = make_selectors(qualifiers) |
paul@1404 | 497 | show(sel) |
paul@34 | 498 | dt = (1997, 9, 22, 9, 0, 0) |
paul@34 | 499 | l = get_datetime_structure(dt) |
paul@34 | 500 | show(l) |
paul@1406 | 501 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 502 | show(csel) |
paul@34 | 503 | |
paul@1404 | 504 | s = get_selector(dt, sel) |
paul@1407 | 505 | csel = get_selectors_from_selector(s) |
paul@1407 | 506 | show(csel) |
paul@1404 | 507 | |
paul@1361 | 508 | l = s.materialise(dt, (1998, 12, 24, 0, 0, 0)) |
paul@39 | 509 | print len(l) == 6, 6, len(l) |
paul@39 | 510 | print l[0] == (1997, 9, 22, 9, 0, 0), (1997, 9, 22, 9, 0, 0), l[0] |
paul@39 | 511 | print l[-1] == (1998, 2, 16, 9, 0, 0), (1998, 2, 16, 9, 0, 0), l[-1] |
paul@34 | 512 | print |
paul@34 | 513 | |
paul@35 | 514 | qualifiers = [ |
paul@35 | 515 | ("MONTHLY", {"interval" : 1}), |
paul@1361 | 516 | ("BYMONTHDAY", {"values" : [-3]}), |
paul@1361 | 517 | ("COUNT", {"values" : [6]}) |
paul@35 | 518 | ] |
paul@35 | 519 | |
paul@1404 | 520 | sel = make_selectors(qualifiers) |
paul@1404 | 521 | show(sel) |
paul@35 | 522 | dt = (1997, 9, 28, 9, 0, 0) |
paul@35 | 523 | l = get_datetime_structure(dt) |
paul@35 | 524 | show(l) |
paul@1406 | 525 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 526 | show(csel) |
paul@35 | 527 | |
paul@1404 | 528 | s = get_selector(dt, sel) |
paul@1407 | 529 | csel = get_selectors_from_selector(s) |
paul@1407 | 530 | show(csel) |
paul@1404 | 531 | |
paul@1361 | 532 | l = s.materialise(dt, (1998, 12, 24, 0, 0, 0)) |
paul@39 | 533 | print len(l) == 6, 6, len(l) |
paul@39 | 534 | print l[0] == (1997, 9, 28, 9, 0, 0), (1997, 9, 28, 9, 0, 0), l[0] |
paul@39 | 535 | print l[-1] == (1998, 2, 26, 9, 0, 0), (1998, 2, 26, 9, 0, 0), l[-1] |
paul@35 | 536 | print |
paul@35 | 537 | |
paul@35 | 538 | qualifiers = [ |
paul@35 | 539 | ("MONTHLY", {"interval" : 1}), |
paul@1361 | 540 | ("BYMONTHDAY", {"values" : [15, 2]}), # test ordering |
paul@1361 | 541 | ("COUNT", {"values" : [10]}) |
paul@35 | 542 | ] |
paul@35 | 543 | |
paul@1404 | 544 | sel = make_selectors(qualifiers) |
paul@1404 | 545 | show(sel) |
paul@35 | 546 | dt = (1997, 9, 2, 9, 0, 0) |
paul@35 | 547 | l = get_datetime_structure(dt) |
paul@35 | 548 | show(l) |
paul@1406 | 549 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 550 | show(csel) |
paul@35 | 551 | |
paul@1404 | 552 | s = get_selector(dt, sel) |
paul@1407 | 553 | csel = get_selectors_from_selector(s) |
paul@1407 | 554 | show(csel) |
paul@1404 | 555 | |
paul@1361 | 556 | l = s.materialise(dt, (1998, 12, 24, 0, 0, 0)) |
paul@39 | 557 | print len(l) == 10, 10, len(l) |
paul@39 | 558 | print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0] |
paul@39 | 559 | print l[-1] == (1998, 1, 15, 9, 0, 0), (1998, 1, 15, 9, 0, 0), l[-1] |
paul@35 | 560 | print |
paul@35 | 561 | |
paul@35 | 562 | qualifiers = [ |
paul@35 | 563 | ("MONTHLY", {"interval" : 1}), |
paul@1361 | 564 | ("BYMONTHDAY", {"values" : [1, -1]}), |
paul@1361 | 565 | ("COUNT", {"values" : [10]}) |
paul@35 | 566 | ] |
paul@35 | 567 | |
paul@1404 | 568 | sel = make_selectors(qualifiers) |
paul@1404 | 569 | show(sel) |
paul@35 | 570 | dt = (1997, 9, 30, 9, 0, 0) |
paul@35 | 571 | l = get_datetime_structure(dt) |
paul@35 | 572 | show(l) |
paul@1406 | 573 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 574 | show(csel) |
paul@35 | 575 | |
paul@1404 | 576 | s = get_selector(dt, sel) |
paul@1407 | 577 | csel = get_selectors_from_selector(s) |
paul@1407 | 578 | show(csel) |
paul@1404 | 579 | |
paul@1361 | 580 | l = s.materialise(dt, (1998, 12, 24, 0, 0, 0)) |
paul@39 | 581 | print len(l) == 10, 10, len(l) |
paul@39 | 582 | print l[0] == (1997, 9, 30, 9, 0, 0), (1997, 9, 30, 9, 0, 0), l[0] |
paul@39 | 583 | print l[-1] == (1998, 2, 1, 9, 0, 0), (1998, 2, 1, 9, 0, 0), l[-1] |
paul@35 | 584 | print |
paul@35 | 585 | |
paul@36 | 586 | qualifiers = [ |
paul@36 | 587 | ("MONTHLY", {"interval" : 18}), |
paul@1361 | 588 | ("BYMONTHDAY", {"values" : [10, 11, 12, 13, 14, 15]}), |
paul@1361 | 589 | ("COUNT", {"values" : [10]}) |
paul@36 | 590 | ] |
paul@36 | 591 | |
paul@1404 | 592 | sel = make_selectors(qualifiers) |
paul@1404 | 593 | show(sel) |
paul@36 | 594 | dt = (1997, 9, 10, 9, 0, 0) |
paul@36 | 595 | l = get_datetime_structure(dt) |
paul@36 | 596 | show(l) |
paul@1406 | 597 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 598 | show(csel) |
paul@36 | 599 | |
paul@1404 | 600 | s = get_selector(dt, sel) |
paul@1407 | 601 | csel = get_selectors_from_selector(s) |
paul@1407 | 602 | show(csel) |
paul@1404 | 603 | |
paul@1361 | 604 | l = s.materialise(dt, (1999, 12, 24, 0, 0, 0)) |
paul@39 | 605 | print len(l) == 10, 10, len(l) |
paul@39 | 606 | print l[0] == (1997, 9, 10, 9, 0, 0), (1997, 9, 10, 9, 0, 0), l[0] |
paul@39 | 607 | print l[-1] == (1999, 3, 13, 9, 0, 0), (1999, 3, 13, 9, 0, 0), l[-1] |
paul@36 | 608 | print |
paul@36 | 609 | |
paul@36 | 610 | qualifiers = [ |
paul@36 | 611 | ("MONTHLY", {"interval" : 2}), |
paul@36 | 612 | ("BYDAY", {"values" : [(2, None)]}) |
paul@36 | 613 | ] |
paul@36 | 614 | |
paul@1404 | 615 | sel = make_selectors(qualifiers) |
paul@1404 | 616 | show(sel) |
paul@36 | 617 | dt = (1997, 9, 2, 9, 0, 0) |
paul@36 | 618 | l = get_datetime_structure(dt) |
paul@36 | 619 | show(l) |
paul@1406 | 620 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 621 | show(csel) |
paul@36 | 622 | |
paul@1404 | 623 | s = get_selector(dt, sel) |
paul@1407 | 624 | csel = get_selectors_from_selector(s) |
paul@1407 | 625 | show(csel) |
paul@1404 | 626 | |
paul@36 | 627 | l = s.materialise(dt, (1998, 4, 1, 0, 0, 0)) |
paul@39 | 628 | print len(l) == 18, 18, len(l) |
paul@39 | 629 | print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0] |
paul@39 | 630 | print l[-1] == (1998, 3, 31, 9, 0, 0), (1998, 3, 31, 9, 0, 0), l[-1] |
paul@36 | 631 | print |
paul@36 | 632 | |
paul@36 | 633 | qualifiers = [ |
paul@36 | 634 | ("YEARLY", {"interval" : 1}), |
paul@1361 | 635 | ("BYMONTH", {"values" : [6, 7]}), |
paul@1361 | 636 | ("COUNT", {"values" : [10]}) |
paul@36 | 637 | ] |
paul@36 | 638 | |
paul@1404 | 639 | sel = make_selectors(qualifiers) |
paul@1404 | 640 | show(sel) |
paul@36 | 641 | dt = (1997, 6, 10, 9, 0, 0) |
paul@36 | 642 | l = get_datetime_structure(dt) |
paul@36 | 643 | show(l) |
paul@1406 | 644 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 645 | show(csel) |
paul@36 | 646 | |
paul@1404 | 647 | s = get_selector(dt, sel) |
paul@1407 | 648 | csel = get_selectors_from_selector(s) |
paul@1407 | 649 | show(csel) |
paul@1404 | 650 | |
paul@1361 | 651 | l = s.materialise(dt, (2001, 12, 24, 0, 0, 0)) |
paul@39 | 652 | print len(l) == 10, 10, len(l) |
paul@39 | 653 | print l[0] == (1997, 6, 10, 9, 0, 0), (1997, 6, 10, 9, 0, 0), l[0] |
paul@39 | 654 | print l[-1] == (2001, 7, 10, 9, 0, 0), (2001, 7, 10, 9, 0, 0), l[-1] |
paul@36 | 655 | print |
paul@36 | 656 | |
paul@36 | 657 | qualifiers = [ |
paul@36 | 658 | ("YEARLY", {"interval" : 2}), |
paul@1361 | 659 | ("BYMONTH", {"values" : [1, 2, 3]}), |
paul@1361 | 660 | ("COUNT", {"values" : [10]}) |
paul@36 | 661 | ] |
paul@36 | 662 | |
paul@1404 | 663 | sel = make_selectors(qualifiers) |
paul@1404 | 664 | show(sel) |
paul@36 | 665 | dt = (1997, 3, 10, 9, 0, 0) |
paul@36 | 666 | l = get_datetime_structure(dt) |
paul@36 | 667 | show(l) |
paul@1406 | 668 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 669 | show(csel) |
paul@36 | 670 | |
paul@1404 | 671 | s = get_selector(dt, sel) |
paul@1407 | 672 | csel = get_selectors_from_selector(s) |
paul@1407 | 673 | show(csel) |
paul@1404 | 674 | |
paul@1361 | 675 | l = s.materialise(dt, (2003, 12, 24, 0, 0, 0)) |
paul@39 | 676 | print len(l) == 10, 10, len(l) |
paul@39 | 677 | print l[0] == (1997, 3, 10, 9, 0, 0), (1997, 3, 10, 9, 0, 0), l[0] |
paul@39 | 678 | print l[-1] == (2003, 3, 10, 9, 0, 0), (2003, 3, 10, 9, 0, 0), l[-1] |
paul@36 | 679 | print |
paul@36 | 680 | |
paul@37 | 681 | qualifiers = [ |
paul@37 | 682 | ("YEARLY", {"interval" : 3}), |
paul@1361 | 683 | ("BYYEARDAY", {"values" : [1, 100, 200]}), |
paul@1361 | 684 | ("COUNT", {"values" : [10]}) |
paul@37 | 685 | ] |
paul@37 | 686 | |
paul@1404 | 687 | sel = make_selectors(qualifiers) |
paul@1404 | 688 | show(sel) |
paul@37 | 689 | dt = (1997, 1, 1, 9, 0, 0) |
paul@37 | 690 | l = get_datetime_structure(dt) |
paul@37 | 691 | show(l) |
paul@1406 | 692 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 693 | show(csel) |
paul@37 | 694 | |
paul@1404 | 695 | s = get_selector(dt, sel) |
paul@1407 | 696 | csel = get_selectors_from_selector(s) |
paul@1407 | 697 | show(csel) |
paul@1404 | 698 | |
paul@1361 | 699 | l = s.materialise(dt, (2006, 2, 1, 0, 0, 0)) |
paul@39 | 700 | print len(l) == 10, 10, len(l) |
paul@39 | 701 | print l[0] == (1997, 1, 1, 9, 0, 0), (1997, 1, 1, 9, 0, 0), l[0] |
paul@39 | 702 | print l[-1] == (2006, 1, 1, 9, 0, 0), (2006, 1, 1, 9, 0, 0), l[-1] |
paul@39 | 703 | print |
paul@39 | 704 | |
paul@39 | 705 | qualifiers = [ |
paul@39 | 706 | ("YEARLY", {"interval" : 1}), |
paul@39 | 707 | ("BYDAY", {"values" : [(1, 20)]}) |
paul@39 | 708 | ] |
paul@39 | 709 | |
paul@1404 | 710 | sel = make_selectors(qualifiers) |
paul@1404 | 711 | show(sel) |
paul@39 | 712 | dt = (1997, 5, 19, 9, 0, 0) |
paul@39 | 713 | l = get_datetime_structure(dt) |
paul@39 | 714 | show(l) |
paul@1406 | 715 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 716 | show(csel) |
paul@39 | 717 | |
paul@1404 | 718 | s = get_selector(dt, sel) |
paul@1407 | 719 | csel = get_selectors_from_selector(s) |
paul@1407 | 720 | show(csel) |
paul@1404 | 721 | |
paul@39 | 722 | l = s.materialise(dt, (1999, 12, 24, 0, 0, 0)) |
paul@39 | 723 | print len(l) == 3, 3, len(l) |
paul@39 | 724 | print l[0] == (1997, 5, 19, 9, 0, 0), (1997, 5, 19, 9, 0, 0), l[0] |
paul@39 | 725 | print l[-1] == (1999, 5, 17, 9, 0, 0), (1999, 5, 17, 9, 0, 0), l[-1] |
paul@37 | 726 | print |
paul@37 | 727 | |
paul@40 | 728 | """ |
paul@40 | 729 | qualifiers = [ |
paul@40 | 730 | ("YEARLY", {"interval" : 1}), |
paul@40 | 731 | ("BYWEEKNO", {"values" : [20]}), |
paul@40 | 732 | ("BYDAY", {"values" : [(1, None)]}) |
paul@40 | 733 | ] |
paul@40 | 734 | |
paul@1404 | 735 | sel = make_selectors(qualifiers) |
paul@1404 | 736 | show(sel) |
paul@40 | 737 | dt = (1997, 5, 12, 9, 0, 0) |
paul@40 | 738 | l = get_datetime_structure(dt) |
paul@40 | 739 | show(l) |
paul@1406 | 740 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 741 | show(csel) |
paul@40 | 742 | |
paul@1404 | 743 | s = get_selector(dt, sel) |
paul@1407 | 744 | csel = get_selectors_from_selector(s) |
paul@1407 | 745 | show(csel) |
paul@1404 | 746 | |
paul@40 | 747 | l = s.materialise(dt, (1999, 12, 24, 0, 0, 0)) |
paul@40 | 748 | print len(l) == 3, 3, len(l) |
paul@40 | 749 | print l[0] == (1997, 5, 12, 9, 0, 0), (1997, 5, 12, 9, 0, 0), l[0] |
paul@40 | 750 | print l[-1] == (1999, 5, 17, 9, 0, 0), (1999, 5, 17, 9, 0, 0), l[-1] |
paul@40 | 751 | print |
paul@40 | 752 | """ |
paul@40 | 753 | |
paul@40 | 754 | qualifiers = [ |
paul@40 | 755 | ("YEARLY", {"interval" : 1}), |
paul@40 | 756 | ("BYMONTH", {"values" : [3]}), |
paul@40 | 757 | ("BYDAY", {"values" : [(4, None)]}) |
paul@40 | 758 | ] |
paul@40 | 759 | |
paul@1404 | 760 | sel = make_selectors(qualifiers) |
paul@1404 | 761 | show(sel) |
paul@40 | 762 | dt = (1997, 3, 13, 9, 0, 0) |
paul@40 | 763 | l = get_datetime_structure(dt) |
paul@40 | 764 | show(l) |
paul@1406 | 765 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 766 | show(csel) |
paul@40 | 767 | |
paul@1404 | 768 | s = get_selector(dt, sel) |
paul@1407 | 769 | csel = get_selectors_from_selector(s) |
paul@1407 | 770 | show(csel) |
paul@1404 | 771 | |
paul@40 | 772 | l = s.materialise(dt, (1999, 12, 24, 0, 0, 0)) |
paul@40 | 773 | print len(l) == 11, 11, len(l) |
paul@40 | 774 | print l[0] == (1997, 3, 13, 9, 0, 0), (1997, 3, 13, 9, 0, 0), l[0] |
paul@40 | 775 | print l[-1] == (1999, 3, 25, 9, 0, 0), (1999, 3, 25, 9, 0, 0), l[-1] |
paul@40 | 776 | print |
paul@40 | 777 | |
paul@40 | 778 | qualifiers = [ |
paul@40 | 779 | ("YEARLY", {"interval" : 1}), |
paul@40 | 780 | ("BYMONTH", {"values" : [6, 7, 8]}), |
paul@40 | 781 | ("BYDAY", {"values" : [(4, None)]}) |
paul@40 | 782 | ] |
paul@40 | 783 | |
paul@1404 | 784 | sel = make_selectors(qualifiers) |
paul@1404 | 785 | show(sel) |
paul@40 | 786 | dt = (1997, 6, 5, 9, 0, 0) |
paul@40 | 787 | l = get_datetime_structure(dt) |
paul@40 | 788 | show(l) |
paul@1406 | 789 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 790 | show(csel) |
paul@40 | 791 | |
paul@1404 | 792 | s = get_selector(dt, sel) |
paul@1407 | 793 | csel = get_selectors_from_selector(s) |
paul@1407 | 794 | show(csel) |
paul@1404 | 795 | |
paul@40 | 796 | l = s.materialise(dt, (1999, 12, 24, 0, 0, 0)) |
paul@40 | 797 | print len(l) == 39, 39, len(l) |
paul@40 | 798 | print l[0] == (1997, 6, 5, 9, 0, 0), (1997, 6, 5, 9, 0, 0), l[0] |
paul@40 | 799 | print l[-1] == (1999, 8, 26, 9, 0, 0), (1999, 8, 26, 9, 0, 0), l[-1] |
paul@40 | 800 | print |
paul@40 | 801 | |
paul@40 | 802 | qualifiers = [ |
paul@40 | 803 | ("MONTHLY", {"interval" : 1}), |
paul@40 | 804 | ("BYMONTHDAY", {"values" : [13]}), |
paul@40 | 805 | ("BYDAY", {"values" : [(5, None)]}) |
paul@40 | 806 | ] |
paul@40 | 807 | |
paul@1404 | 808 | sel = make_selectors(qualifiers) |
paul@1404 | 809 | show(sel) |
paul@40 | 810 | dt = (1997, 9, 2, 9, 0, 0) |
paul@40 | 811 | l = get_datetime_structure(dt) |
paul@40 | 812 | show(l) |
paul@1406 | 813 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 814 | show(csel) |
paul@40 | 815 | |
paul@1404 | 816 | s = get_selector(dt, sel) |
paul@1407 | 817 | csel = get_selectors_from_selector(s) |
paul@1407 | 818 | show(csel) |
paul@1404 | 819 | |
paul@40 | 820 | l = s.materialise(dt, (2000, 12, 24, 0, 0, 0)) |
paul@1404 | 821 | print len(l) == 6, 6, len(l) |
paul@1404 | 822 | print l[1] == (1998, 2, 13, 9, 0, 0), (1998, 2, 13, 9, 0, 0), l[1] |
paul@40 | 823 | print l[-1] == (2000, 10, 13, 9, 0, 0), (2000, 10, 13, 9, 0, 0), l[-1] |
paul@40 | 824 | print |
paul@40 | 825 | |
paul@40 | 826 | qualifiers = [ |
paul@40 | 827 | ("MONTHLY", {"interval" : 1}), |
paul@40 | 828 | ("BYMONTHDAY", {"values" : [7, 8, 9, 10, 11, 12, 13]}), |
paul@40 | 829 | ("BYDAY", {"values" : [(6, None)]}) |
paul@40 | 830 | ] |
paul@40 | 831 | |
paul@1404 | 832 | sel = make_selectors(qualifiers) |
paul@1404 | 833 | show(sel) |
paul@40 | 834 | dt = (1997, 9, 13, 9, 0, 0) |
paul@40 | 835 | l = get_datetime_structure(dt) |
paul@40 | 836 | show(l) |
paul@1406 | 837 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 838 | show(csel) |
paul@40 | 839 | |
paul@1404 | 840 | s = get_selector(dt, sel) |
paul@1407 | 841 | csel = get_selectors_from_selector(s) |
paul@1407 | 842 | show(csel) |
paul@1404 | 843 | |
paul@40 | 844 | l = s.materialise(dt, (1998, 6, 30, 0, 0, 0)) |
paul@40 | 845 | print len(l) == 10, 10, len(l) |
paul@40 | 846 | print l[0] == (1997, 9, 13, 9, 0, 0), (1997, 9, 13, 9, 0, 0), l[0] |
paul@40 | 847 | print l[-1] == (1998, 6, 13, 9, 0, 0), (1998, 6, 13, 9, 0, 0), l[-1] |
paul@40 | 848 | print |
paul@40 | 849 | |
paul@40 | 850 | qualifiers = [ |
paul@40 | 851 | ("YEARLY", {"interval" : 4}), |
paul@40 | 852 | ("BYMONTH", {"values" : [11]}), |
paul@40 | 853 | ("BYMONTHDAY", {"values" : [2, 3, 4, 5, 6, 7, 8]}), |
paul@40 | 854 | ("BYDAY", {"values" : [(2, None)]}) |
paul@40 | 855 | ] |
paul@40 | 856 | |
paul@1404 | 857 | sel = make_selectors(qualifiers) |
paul@1404 | 858 | show(sel) |
paul@40 | 859 | dt = (1996, 11, 5, 9, 0, 0) |
paul@40 | 860 | l = get_datetime_structure(dt) |
paul@40 | 861 | show(l) |
paul@1406 | 862 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 863 | show(csel) |
paul@40 | 864 | |
paul@1404 | 865 | s = get_selector(dt, sel) |
paul@1407 | 866 | csel = get_selectors_from_selector(s) |
paul@1407 | 867 | show(csel) |
paul@1404 | 868 | |
paul@40 | 869 | l = s.materialise(dt, (2004, 12, 24, 0, 0, 0)) |
paul@40 | 870 | print len(l) == 3, 3, len(l) |
paul@40 | 871 | print l[0] == (1996, 11, 5, 9, 0, 0), (1996, 11, 5, 9, 0, 0), l[0] |
paul@40 | 872 | print l[-1] == (2004, 11, 2, 9, 0, 0), (2004, 11, 2, 9, 0, 0), l[-1] |
paul@40 | 873 | print |
paul@40 | 874 | |
paul@45 | 875 | qualifiers = [ |
paul@45 | 876 | ("MONTHLY", {"interval" : 1}), |
paul@1361 | 877 | ("BYDAY", {"values" : [(2, None), (3, None), (4, None)]}), |
paul@1361 | 878 | ("BYSETPOS", {"values" : [3]}), |
paul@1361 | 879 | ("COUNT", {"values" : [3]}) |
paul@45 | 880 | ] |
paul@45 | 881 | |
paul@1404 | 882 | sel = make_selectors(qualifiers) |
paul@1404 | 883 | show(sel) |
paul@45 | 884 | dt = (1997, 9, 4, 9, 0, 0) |
paul@45 | 885 | l = get_datetime_structure(dt) |
paul@45 | 886 | show(l) |
paul@1406 | 887 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 888 | show(csel) |
paul@45 | 889 | |
paul@1404 | 890 | s = get_selector(dt, sel) |
paul@1407 | 891 | csel = get_selectors_from_selector(s) |
paul@1407 | 892 | show(csel) |
paul@1404 | 893 | |
paul@1361 | 894 | l = s.materialise(dt, (1997, 12, 24, 0, 0, 0)) |
paul@45 | 895 | print len(l) == 3, 3, len(l) |
paul@45 | 896 | print l[0] == (1997, 9, 4, 9, 0, 0), (1997, 9, 4, 9, 0, 0), l[0] |
paul@45 | 897 | print l[-1] == (1997, 11, 6, 9, 0, 0), (1997, 11, 6, 9, 0, 0), l[-1] |
paul@45 | 898 | print |
paul@45 | 899 | |
paul@45 | 900 | l2 = l |
paul@45 | 901 | |
paul@45 | 902 | qualifiers = [ |
paul@45 | 903 | ("MONTHLY", {"interval" : 1}), |
paul@1361 | 904 | ("BYDAY", {"values" : [(1, None), (2, None), (3, None), (4, None), (5, None)]}), |
paul@1361 | 905 | ("BYSETPOS", {"values" : [-2]}) |
paul@45 | 906 | ] |
paul@45 | 907 | |
paul@1404 | 908 | sel = make_selectors(qualifiers) |
paul@1404 | 909 | show(sel) |
paul@45 | 910 | dt = (1997, 9, 29, 9, 0, 0) |
paul@45 | 911 | l = get_datetime_structure(dt) |
paul@45 | 912 | show(l) |
paul@1406 | 913 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 914 | show(csel) |
paul@45 | 915 | |
paul@1404 | 916 | s = get_selector(dt, sel) |
paul@1407 | 917 | csel = get_selectors_from_selector(s) |
paul@1407 | 918 | show(csel) |
paul@1404 | 919 | |
paul@1361 | 920 | l = s.materialise(dt, (1998, 4, 1, 0, 0, 0)) |
paul@45 | 921 | print len(l) == 7, 7, len(l) |
paul@45 | 922 | print l[0] == (1997, 9, 29, 9, 0, 0), (1997, 9, 29, 9, 0, 0), l[0] |
paul@45 | 923 | print l[-1] == (1998, 3, 30, 9, 0, 0), (1998, 3, 30, 9, 0, 0), l[-1] |
paul@45 | 924 | print |
paul@45 | 925 | |
paul@1404 | 926 | qualifiers = get_qualifiers(["BYMONTHDAY=5", "FREQ=HOURLY", "INTERVAL=12"]) |
paul@1241 | 927 | |
paul@1404 | 928 | sel = make_selectors(qualifiers) |
paul@1404 | 929 | show(sel) |
paul@1241 | 930 | dt = (2017, 6, 13) |
paul@1241 | 931 | l = get_datetime_structure(dt) |
paul@1241 | 932 | show(l) |
paul@1406 | 933 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 934 | show(csel) |
paul@1241 | 935 | |
paul@1404 | 936 | s = get_selector(dt, sel) |
paul@1407 | 937 | csel = get_selectors_from_selector(s) |
paul@1407 | 938 | show(csel) |
paul@1404 | 939 | |
paul@1241 | 940 | l = s.materialise(dt, (2019, 1, 1)) |
paul@1404 | 941 | print len(l) == 37, 37, len(l) |
paul@1404 | 942 | print l[1] == (2017, 7, 5, 0), (2017, 7, 5, 0), l[1] |
paul@1241 | 943 | print l[-1] == (2018, 12, 5, 12), (2018, 12, 5, 12), l[-1] |
paul@1241 | 944 | |
paul@1241 | 945 | qualifiers = get_qualifiers(["FREQ=DAILY", "BYMONTH=1"]) |
paul@1241 | 946 | |
paul@1404 | 947 | sel = make_selectors(qualifiers) |
paul@1404 | 948 | show(sel) |
paul@1241 | 949 | dt = (2017, 6, 13) |
paul@1241 | 950 | l = get_datetime_structure(dt) |
paul@1241 | 951 | show(l) |
paul@1406 | 952 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 953 | show(csel) |
paul@1241 | 954 | |
paul@1404 | 955 | s = get_selector(dt, sel) |
paul@1407 | 956 | csel = get_selectors_from_selector(s) |
paul@1407 | 957 | show(csel) |
paul@1404 | 958 | |
paul@1241 | 959 | l = s.materialise(dt, (2019, 1, 1)) |
paul@1404 | 960 | print len(l) == 32, 32, len(l) |
paul@1404 | 961 | print l[1] == (2018, 1, 1), (2018, 1, 1), l[1] |
paul@1241 | 962 | print l[-1] == (2018, 1, 31), (2018, 1, 31), l[-1] |
paul@1241 | 963 | |
paul@1359 | 964 | qualifiers = get_qualifiers(["FREQ=MONTHLY", "BYDAY=WE,1FR,2MO,2FR"]) |
paul@1359 | 965 | |
paul@1404 | 966 | sel = make_selectors(qualifiers) |
paul@1404 | 967 | show(sel) |
paul@1359 | 968 | dt = (2017, 10, 15) |
paul@1359 | 969 | l = get_datetime_structure(dt) |
paul@1359 | 970 | show(l) |
paul@1406 | 971 | csel = combine_datetime_with_selectors(dt, sel) |
paul@1406 | 972 | show(csel) |
paul@1359 | 973 | |
paul@1404 | 974 | s = get_selector(dt, sel) |
paul@1407 | 975 | csel = get_selectors_from_selector(s) |
paul@1407 | 976 | show(csel) |
paul@1404 | 977 | |
paul@1359 | 978 | l = s.materialise(dt, (2018, 1, 1)) |
paul@1404 | 979 | print len(l) == 18, 18, len(l) |
paul@1404 | 980 | print l[1] == (2017, 10, 18), (2017, 10, 18), l[1] |
paul@1359 | 981 | print l[-1] == (2017, 12, 27), (2017, 12, 27), l[-1] |
paul@1359 | 982 | |
paul@33 | 983 | # vim: tabstop=4 expandtab shiftwidth=4 |