|  | @@ -433,51 +433,55 @@ class PersistentScheduler(Scheduler):
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |          for _ in (1, 2):
 |  |          for _ in (1, 2):
 | 
											
												
													
														|  |              try:
 |  |              try:
 | 
											
												
													
														|  | -                self._store['entries']
 |  | 
 | 
											
												
													
														|  | 
 |  | +                self._store[b'entries']
 | 
											
												
													
														|  |              except KeyError:
 |  |              except KeyError:
 | 
											
												
													
														|  |                  # new schedule db
 |  |                  # new schedule db
 | 
											
												
													
														|  |                  try:
 |  |                  try:
 | 
											
												
													
														|  | -                    self._store['entries'] = {}
 |  | 
 | 
											
												
													
														|  | 
 |  | +                    self._store[b'entries'] = {}
 | 
											
												
													
														|  |                  except KeyError as exc:
 |  |                  except KeyError as exc:
 | 
											
												
													
														|  |                      self._store = self._destroy_open_corrupted_schedule(exc)
 |  |                      self._store = self._destroy_open_corrupted_schedule(exc)
 | 
											
												
													
														|  |                      continue
 |  |                      continue
 | 
											
												
													
														|  |              else:
 |  |              else:
 | 
											
												
													
														|  | -                if '__version__' not in self._store:
 |  | 
 | 
											
												
													
														|  | 
 |  | +                if b'__version__' not in self._store:
 | 
											
												
													
														|  |                      warning('DB Reset: Account for new __version__ field')
 |  |                      warning('DB Reset: Account for new __version__ field')
 | 
											
												
													
														|  |                      self._store.clear()   # remove schedule at 2.2.2 upgrade.
 |  |                      self._store.clear()   # remove schedule at 2.2.2 upgrade.
 | 
											
												
													
														|  | -                elif 'tz' not in self._store:
 |  | 
 | 
											
												
													
														|  | 
 |  | +                elif b'tz' not in self._store:
 | 
											
												
													
														|  |                      warning('DB Reset: Account for new tz field')
 |  |                      warning('DB Reset: Account for new tz field')
 | 
											
												
													
														|  |                      self._store.clear()   # remove schedule at 3.0.8 upgrade
 |  |                      self._store.clear()   # remove schedule at 3.0.8 upgrade
 | 
											
												
													
														|  | -                elif 'utc_enabled' not in self._store:
 |  | 
 | 
											
												
													
														|  | 
 |  | +                elif b'utc_enabled' not in self._store:
 | 
											
												
													
														|  |                      warning('DB Reset: Account for new utc_enabled field')
 |  |                      warning('DB Reset: Account for new utc_enabled field')
 | 
											
												
													
														|  |                      self._store.clear()   # remove schedule at 3.0.9 upgrade
 |  |                      self._store.clear()   # remove schedule at 3.0.9 upgrade
 | 
											
												
													
														|  |              break
 |  |              break
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |          tz = self.app.conf.timezone
 |  |          tz = self.app.conf.timezone
 | 
											
												
													
														|  | -        stored_tz = self._store.get('tz')
 |  | 
 | 
											
												
													
														|  | 
 |  | +        stored_tz = self._store.get(b'tz')
 | 
											
												
													
														|  |          if stored_tz is not None and stored_tz != tz:
 |  |          if stored_tz is not None and stored_tz != tz:
 | 
											
												
													
														|  |              warning('Reset: Timezone changed from %r to %r', stored_tz, tz)
 |  |              warning('Reset: Timezone changed from %r to %r', stored_tz, tz)
 | 
											
												
													
														|  |              self._store.clear()   # Timezone changed, reset db!
 |  |              self._store.clear()   # Timezone changed, reset db!
 | 
											
												
													
														|  |          utc = self.app.conf.enable_utc
 |  |          utc = self.app.conf.enable_utc
 | 
											
												
													
														|  | -        stored_utc = self._store.get('utc_enabled')
 |  | 
 | 
											
												
													
														|  | 
 |  | +        stored_utc = self._store.get(b'utc_enabled')
 | 
											
												
													
														|  |          if stored_utc is not None and stored_utc != utc:
 |  |          if stored_utc is not None and stored_utc != utc:
 | 
											
												
													
														|  |              choices = {True: 'enabled', False: 'disabled'}
 |  |              choices = {True: 'enabled', False: 'disabled'}
 | 
											
												
													
														|  |              warning('Reset: UTC changed from %s to %s',
 |  |              warning('Reset: UTC changed from %s to %s',
 | 
											
												
													
														|  |                      choices[stored_utc], choices[utc])
 |  |                      choices[stored_utc], choices[utc])
 | 
											
												
													
														|  |              self._store.clear()   # UTC setting changed, reset db!
 |  |              self._store.clear()   # UTC setting changed, reset db!
 | 
											
												
													
														|  | -        entries = self._store.setdefault('entries', {})
 |  | 
 | 
											
												
													
														|  | 
 |  | +        entries = self._store.setdefault(b'entries', {})
 | 
											
												
													
														|  |          self.merge_inplace(self.app.conf.beat_schedule)
 |  |          self.merge_inplace(self.app.conf.beat_schedule)
 | 
											
												
													
														|  |          self.install_default_entries(self.schedule)
 |  |          self.install_default_entries(self.schedule)
 | 
											
												
													
														|  | -        self._store.update(__version__=__version__, tz=tz, utc_enabled=utc)
 |  | 
 | 
											
												
													
														|  | 
 |  | +        self._store.update({
 | 
											
												
													
														|  | 
 |  | +            b'__version__': __version__,
 | 
											
												
													
														|  | 
 |  | +            b'tz': tz,
 | 
											
												
													
														|  | 
 |  | +            b'utc_enabled': utc,
 | 
											
												
													
														|  | 
 |  | +        })
 | 
											
												
													
														|  |          self.sync()
 |  |          self.sync()
 | 
											
												
													
														|  |          debug('Current schedule:\n' + '\n'.join(
 |  |          debug('Current schedule:\n' + '\n'.join(
 | 
											
												
													
														|  |              repr(entry) for entry in values(entries)))
 |  |              repr(entry) for entry in values(entries)))
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      def get_schedule(self):
 |  |      def get_schedule(self):
 | 
											
												
													
														|  | -        return self._store['entries']
 |  | 
 | 
											
												
													
														|  | 
 |  | +        return self._store[b'entries']
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      def set_schedule(self, schedule):
 |  |      def set_schedule(self, schedule):
 | 
											
												
													
														|  | -        self._store['entries'] = schedule
 |  | 
 | 
											
												
													
														|  | 
 |  | +        self._store[b'entries'] = schedule
 | 
											
												
													
														|  |      schedule = property(get_schedule, set_schedule)
 |  |      schedule = property(get_schedule, set_schedule)
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      def sync(self):
 |  |      def sync(self):
 |