Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.88 KB | None | 0 0
  1. [alarm1]
  2. time = 8:00
  3. days = MO
  4.  
  5. [alarm2]
  6. time = 9:00
  7. days = TU, WE
  8.  
  9. [alarm3]
  10. time = 22:00
  11. days = MO, WE, FR
  12. etc..
  13.  
  14. from dateutil.rrule import *
  15. from dateutil.parser import *
  16. import datetime
  17. import configparser
  18.  
  19.  
  20. alarms = rruleset()
  21. time = parse(alarm_parser.get(alarm_section, 'time')).time()
  22. date = datetime.date.today()
  23. alarm_time= datetime.datetime.combine(date, time)
  24. days = '(' + alarm_parser.get(alarm_section, 'days') + ',)'
  25. alarm_days = eval(days)
  26.  
  27. alarms.rrule(rrule(WEEKLY, dtstart = alarm_datetime, byweekday = alarm_days, count = 1))
  28.  
  29. ValueError: malformed node or string: <_ast.Name object at 0xb68e2430>
  30.  
  31. from dateutil.rrule import MO, TU, WE, TH, FR, SA, SU
  32.  
  33. daymap = {'MO': MO, 'TU': TU, 'WE': WE, 'TH': TH, 'FR': FR, 'SA': SA, 'SU': SU}
  34. daystr = 'TU, TH'
  35.  
  36. days = [daymap[day.strip()] for day in daystr.split(',')]
  37.  
  38. from dateutil.rrule import rrulestr
  39. base_rrstr = ('DTSTART:{alarm_datetime:%Y%m%dT%H%M%S}n' +
  40. 'FREQ={freq_str};COUNT={count_str};BYDAY={day_str}')
  41.  
  42. alarm_datetime = datetime.datetime.today()
  43. freq_str = "WEEKLY"
  44. count_str = "1"
  45. day_str = "TU,TH"
  46.  
  47. crr = rrulestr(base_rrstr.format(alarm_datetime=alarm_datetime,
  48. freq_str=freq_str,
  49. count_str=count_str,
  50. day_str=day_str))
  51.  
  52. import re
  53. from dateutil.rrule import MO, TU, WE, TH, FR, SA, SU
  54.  
  55. _daymap = {"MO": MO, "TU": TU, "WE": WE, "TH": TH, "FR": FR, "SA": SA, "SU": SU}
  56. _dayre = re.compile(r"(MO|TU|WE|TH|FR|SA|SU)(?=(([-+]?[0-9]+)))?")
  57.  
  58.  
  59. def parsedays(daystr):
  60. for day in daystr.split(","):
  61. m = _dayre.match(day.strip())
  62. if m:
  63. weekday, offset = m.groups()
  64. result = _daymap[weekday]
  65. if offset:
  66. result = result(int(offset))
  67. yield result
  68.  
  69.  
  70. def dumpdays(days):
  71. return ",".join(str(d) for d in days)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement