Exemplo n.º 1
0
 def createUpdateRepositoryKwargs(repo_dict):
     extra = repo_dict.pop('extra', {})
     shopclosed = repo_dict.pop('shopclosed', [])
     repo_kwargs = {}
     for k, v in itertools.chain(repo_dict.items(),
                                 (('extra_' + k, v)
                                  for k, v in extra.items())):
         if v is None:
             continue
         if isinstance(v, bool):
             if not v:
                 continue
             v = '1'
         repo_kwargs[k] = v
     for nr, closinghours in enumerate(shopclosed, start=1):
         t = Timeslot(closinghours)
         for k, v in [
             (f'shopclosedWeek_{nr}', t.beginweek),
             (f'shopclosedWeekDay_{nr}', t.beginday),
             (f'shopclosedBegin_{nr}', t.beginhour),
             (f'shopclosedEnd_{nr}', t.endhour),
         ]:
             if v != '*':
                 repo_kwargs[k] = v
     if shopclosed:
         repo_kwargs['numberOfTimeslots'] = str(len(shopclosed))
     return repo_kwargs
Exemplo n.º 2
0
 def addClosingHours(self, identifier, domainId, week, day, startHour,
                     endHour):
     repository = self.getRepository(identifier, domainId)
     shopClosed = repository.get('shopclosed', [])
     shopClosed.append(
         str(
             Timeslot(
                 f'{week}:{day}:{startHour}:00-{week}:{day}:{endHour}:00')))
     repository['shopclosed'] = shopClosed
     self._store.addData(id_combine(domainId, identifier), 'repository',
                         repository)
Exemplo n.º 3
0
    def testExactlyWithinTimeslot(self):
        timeslot = Timeslot('36:1:09:55-45:5:10:33')
        self.assertFalse(timeslot.areWeWithinTimeslot((1983, 1, 23, 10, 45)))
        self.assertFalse(timeslot.areWeWithinTimeslot((2020, 12, 23, 10, 45)))

        self.assertTrue(timeslot.areWeWithinTimeslot((2006, 9, 4, 9, 55)))
        self.assertFalse(timeslot.areWeWithinTimeslot((2006, 9, 4, 9, 54)))
        self.assertFalse(timeslot.areWeWithinTimeslot((2006, 9, 4, 8, 55)))
        self.assertFalse(timeslot.areWeWithinTimeslot((2006, 9, 3, 9, 55)))
        self.assertFalse(timeslot.areWeWithinTimeslot((2006, 8, 4, 9, 55)))

        self.assertTrue(timeslot.areWeWithinTimeslot((2006, 11, 10, 10, 33)))
        self.assertFalse(timeslot.areWeWithinTimeslot((2006, 11, 10, 10, 34)))
        self.assertFalse(timeslot.areWeWithinTimeslot((2006, 11, 10, 11, 33)))
        self.assertFalse(timeslot.areWeWithinTimeslot((2006, 11, 11, 10, 33)))
        self.assertFalse(timeslot.areWeWithinTimeslot((2006, 12, 10, 10, 33)))

        self.assertFalse(timeslot.areWeWithinTimeslot((2006, 9, 4, 9, 54)))
        self.assertTrue(timeslot.areWeWithinTimeslot((2006, 9, 4, 9, 55)))
        self.assertTrue(timeslot.areWeWithinTimeslot((2006, 9, 4, 10, 54)))
        self.assertTrue(timeslot.areWeWithinTimeslot((2006, 9, 5, 9, 54)))
        self.assertTrue(timeslot.areWeWithinTimeslot((2006, 10, 4, 9, 54)))
Exemplo n.º 4
0
 def testValidTimeslot(self):
     self.assertFalse(Timeslot('*:*:20:00-*:*:10:00').valid())
     self.assertFalse(Timeslot('*:*:10:00-*:*:10:00').valid())
     self.assertTrue(Timeslot('*:*:10:00-*:*:20:00').valid())
Exemplo n.º 5
0
 def testNotWithinTimeslot(self):
     timeslot = Timeslot('36:1:09:55-45:5:10:33')
     self.assertFalse(timeslot.areWeWithinTimeslot((1983, 1, 23, 10, 45)))
Exemplo n.º 6
0
 def testStringFormat(self):
     timeslot = Timeslot('33:1:09:55-45:5:10:33')
     self.assertEqual('33:1:9:55-45:5:10:33', str(timeslot))
     self.assertEqual('33', timeslot.beginweek)
Exemplo n.º 7
0
 def testInTimeslot(self):
     timeslot = Timeslot('33:1:09:55-45:5:10:33')
     self.assertTrue(timeslot.areWeWithinTimeslot((2006, 10, 8, 12, 0)))
Exemplo n.º 8
0
 def testParseError(self):
     try:
         Timeslot('*:*:***:00-*:*:11:00')
         self.fail()
     except ParseException as e:
         self.assertEqual('Illegal timeslot def', str(e)[:20])
Exemplo n.º 9
0
 def testCreateTimeslot(self):
     timeslot = Timeslot('52:7:23:59-45:5:10:33')
     self.assertEqual((52, 7, 23, 59), timeslot._begin)
     self.assertEqual((45, 5, 10, 33), timeslot._end)
Exemplo n.º 10
0
 def testTimeslotinOneDay(self):
     timeslot = Timeslot('40:1:09:55-40:1:10:00')
     self.assertTrue(timeslot.areWeWithinTimeslot((2006, 10, 2, 9, 59)))
     self.assertFalse(timeslot.areWeWithinTimeslot((2006, 10, 2, 9, 54)))
     self.assertFalse(timeslot.areWeWithinTimeslot((2006, 10, 2, 10, 0o1)))
Exemplo n.º 11
0
 def testWildCards(self):
     timeslot = Timeslot('*:*:10:00-*:*:11:00')
     self.assertFalse(timeslot.areWeWithinTimeslot((2099, 12, 31, 9, 59)))
     self.assertTrue(timeslot.areWeWithinTimeslot((2006, 1, 1, 10, 0o4)))
     self.assertTrue(timeslot.areWeWithinTimeslot((2001, 10, 2, 10, 0o1)))
Exemplo n.º 12
0
	def testExactlyWithinTimeslot(self):
		timeslot = Timeslot('36:1:09:55-45:5:10:33')
		self.assertFalse(timeslot.areWeWithinTimeslot((1983,  1, 23, 10, 45)))
		self.assertFalse(timeslot.areWeWithinTimeslot((2020, 12, 23, 10, 45)))

		self.assertTrue(timeslot.areWeWithinTimeslot( (2006,  9,  4,  9, 55)))
		self.assertFalse(timeslot.areWeWithinTimeslot((2006,  9,  4,  9, 54)))
		self.assertFalse(timeslot.areWeWithinTimeslot((2006,  9,  4,  8, 55)))
		self.assertFalse(timeslot.areWeWithinTimeslot((2006,  9,  3,  9, 55)))
		self.assertFalse(timeslot.areWeWithinTimeslot((2006,  8,  4,  9, 55)))

		self.assertTrue(timeslot.areWeWithinTimeslot( (2006, 11, 10, 10, 33)))
		self.assertFalse(timeslot.areWeWithinTimeslot((2006, 11, 10, 10, 34)))
		self.assertFalse(timeslot.areWeWithinTimeslot((2006, 11, 10, 11, 33)))
		self.assertFalse(timeslot.areWeWithinTimeslot((2006, 11, 11, 10, 33)))
		self.assertFalse(timeslot.areWeWithinTimeslot((2006, 12, 10, 10, 33)))

		self.assertFalse(timeslot.areWeWithinTimeslot((2006,  9,  4,  9, 54)))
		self.assertTrue(timeslot.areWeWithinTimeslot( (2006,  9,  4,  9, 55)))
		self.assertTrue(timeslot.areWeWithinTimeslot( (2006,  9,  4, 10, 54)))
		self.assertTrue(timeslot.areWeWithinTimeslot( (2006,  9,  5,  9, 54)))
		self.assertTrue(timeslot.areWeWithinTimeslot( (2006, 10,  4,  9, 54)))
Exemplo n.º 13
0
	def testNotWithinTimeslot(self):
		timeslot = Timeslot('36:1:09:55-45:5:10:33')
		self.assertFalse(timeslot.areWeWithinTimeslot((1983,  1, 23, 10, 45)))
Exemplo n.º 14
0
	def testInTimeslot(self):
		timeslot = Timeslot('33:1:09:55-45:5:10:33')
		self.assertTrue(timeslot.areWeWithinTimeslot((2006, 10, 8, 12, 0)))
Exemplo n.º 15
0
	def testWildCards(self):
		timeslot = Timeslot('*:*:10:00-*:*:11:00')
		self.assertFalse(timeslot.areWeWithinTimeslot( (2099, 12, 31,  9, 59)))
		self.assertTrue(timeslot.areWeWithinTimeslot((2006,  1,  1, 10, 04)))
		self.assertTrue(timeslot.areWeWithinTimeslot((2001, 10,  2, 10, 01)))
Exemplo n.º 16
0
	def testTimeslotinOneDay(self):
		timeslot = Timeslot('40:1:09:55-40:1:10:00')
		self.assertTrue(timeslot.areWeWithinTimeslot( (2006, 10, 2,  9, 59)))
		self.assertFalse(timeslot.areWeWithinTimeslot((2006, 10, 2,  9, 54)))
		self.assertFalse(timeslot.areWeWithinTimeslot((2006, 10, 2, 10, 01)))