Пример #1
0
 def generate(self, app, seed=None):
     self.random = PortableRandom(seed)
     event_titles = self._readLines('event_titles.txt')
     person_ids = [person for person in app['persons'].keys()
                   if person.startswith('student') or
                      person.startswith('teacher')]
     dates = []
     for term in ITermContainer(app).values():
         dates.append(term.first)
         dates.append(term.last)
     first = min(dates)
     last = max(dates)
     days = DateRange(first, last)
     for person_id in person_ids:
         person = app['persons'][person_id]
         calendar = ISchoolToolCalendar(person)
         for day in days:
             if self.random.randrange(0, 100) < self.probability:
                 event_title = self.random.choice(event_titles)
                 time_hour = self.random.randint(6, 23)
                 time_min = self.random.choice((0, 30))
                 event_time = datetime.datetime(day.year,
                                                day.month,
                                                day.day,
                                                time_hour,
                                                time_min,
                                                tzinfo=utc)
                 event_duration = datetime.timedelta(
                                    minutes=self.random.randint(1, 12)*30)
                 event = CalendarEvent(event_time,
                                       event_duration,
                                       event_title)
                 calendar.addEvent(event)
Пример #2
0
 def __init__(self, seed, choices):
     self.random = PortableRandom(seed)
     self.choices = choices
Пример #3
0
 def __init__(self, seed):
     self.random = PortableRandom(seed)
     self.first_names = self._readLines('first_names.txt')
     self.last_names = self._readLines('last_names.txt')