Changeset 275
- Timestamp:
- 08/11/06 13:28:01
- Files:
-
- trunk/recur.py (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/recur.py
r274 r275 621 621 """ 622 622 623 patterns = {byunits: [r"([0-9]+) sec (?:ond)?s?",624 r"([0-9]+) min (?:ute)?s?",625 r"([0-9]+) hour s?",626 r"([0-9]+) day s?",627 r"([0-9]+) week s?",628 r"([0-9]+) month s?",629 r"([0-9]+) year s?",623 patterns = {byunits: [r"([0-9]+) sec", 624 r"([0-9]+) min", 625 r"([0-9]+) hour", 626 r"([0-9]+) day", 627 r"([0-9]+) week", 628 r"([0-9]+) month", 629 r"([0-9]+) year", 630 630 ], 631 631 # \S is any non-whitespace character. 632 632 eachday: r"([\S]+) (?:every|each) day", 633 # $ in first regex below so as not tomatch "month"634 eachweekday: [r"([\S]+) (?:every|each) mon(?:day)?$",635 r"([\S]+) (?:every|each) tue (?:s?)?(?:day$)?$",636 r"([\S]+) (?:every|each) wed (?:nesday)?",637 r"([\S]+) (?:every|each) thu (?:rs?)?(?:day)?$",638 r"([\S]+) (?:every|each) fri (?:day)?",639 r"([\S]+) (?:every|each) sat (?:urday)?",640 r"([\S]+) (?:every|each) sun (?:day)?",633 eachweekday: [# don't match "month" 634 r"([\S]+) (?:every|each) mon(?!th)", 635 r"([\S]+) (?:every|each) tue", 636 r"([\S]+) (?:every|each) wed", 637 r"([\S]+) (?:every|each) thu", 638 r"([\S]+) (?:every|each) fri", 639 r"([\S]+) (?:every|each) sat", 640 r"([\S]+) (?:every|each) sun", 641 641 ], 642 eachweek: [r"mon(?:days?)?", r"tue(?:s?)s?(?:days)?$", 643 r"wed(?:nesdays?)?", r"thu(?:rs?)?(?:days)?$", 644 r"fri(?:days?)?", r"sat(?:urdays?)?", 645 r"sun(?:days?)?", 646 ], 642 eachweek: [r"mon", r"tue", r"wed", r"thu", r"fri", r"sat", r"sun"], 647 643 eachmonth: r"(-?\d+) (?:every|each) month", 648 644 # Lookbehind for a digit and separator so we don't … … 855 851 def __init__(self, workers=None): 856 852 if workers is None: 857 workers = []853 workers = {} 858 854 self.workers = workers 859 855 self.curthread = None … … 867 863 """ 868 864 # Set nextrun for all workers 869 for worker in self.workers :865 for worker in self.workers.values(): 870 866 worker.advance() 871 867 self.terminated = False … … 878 874 879 875 ivs = [] 880 for w in self.workers :876 for w in self.workers.values(): 881 877 next = w.nextrun 882 878 if next is not None: … … 900 896 self.terminated = True 901 897 self.curthread.cancel() 902 for w in self.workers :898 for w in self.workers.values(): 903 899 w.stop() 904 900
