本文整理汇总了Python中alignak.objects.timeperiod.Timeperiod.get_next_valid_time_from_t方法的典型用法代码示例。如果您正苦于以下问题:Python Timeperiod.get_next_valid_time_from_t方法的具体用法?Python Timeperiod.get_next_valid_time_from_t怎么用?Python Timeperiod.get_next_valid_time_from_t使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类alignak.objects.timeperiod.Timeperiod
的用法示例。
在下文中一共展示了Timeperiod.get_next_valid_time_from_t方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_dayweek_timeperiod_with_exclude
# 需要导入模块: from alignak.objects.timeperiod import Timeperiod [as 别名]
# 或者: from alignak.objects.timeperiod.Timeperiod import get_next_valid_time_from_t [as 别名]
def test_dayweek_timeperiod_with_exclude(self):
self.print_header()
now = time.time()
# Get the 12 of july 2010 at 15:00, monday
july_the_12 = time.mktime(time.strptime("12 Jul 2010 15:00:00", "%d %b %Y %H:%M:%S"))
# Then a simple same day
t = Timeperiod()
t.timeperiod_name = 'T1'
t.resolve_daterange(t.dateranges, 'tuesday 2 16:30-24:00')
t_next = t.get_next_valid_time_from_t(july_the_12)
t_next = time.asctime(time.localtime(t_next))
print "T next", t_next
self.assertEqual("Tue Jul 13 16:30:00 2010", t_next)
# Now we add this timeperiod an exception
t2 = Timeperiod()
t2.timeperiod_name = 'T2'
t2.resolve_daterange(t2.dateranges, 'tuesday 00:00-23:58')
t.exclude = [t2]
# We are a bad boy: first time period want a tuesday
# but exclude do not want it until 23:58. So next is 58 + 1second :)
t.cache = {}
t_next = t.get_next_valid_time_from_t(july_the_12)
t_exclude = t2.get_next_valid_time_from_t(july_the_12)
t_exclude_inv = t2.get_next_invalid_time_from_t(july_the_12)
print "T next raw", t_next
t_next = time.asctime(time.localtime(t_next))
print "TOTO T next", t_next
self.assertEqual('Tue Jul 13 23:58:01 2010', t_next)
示例2: test_mondayweek_timeperiod_with_exclude
# 需要导入模块: from alignak.objects.timeperiod import Timeperiod [as 别名]
# 或者: from alignak.objects.timeperiod.Timeperiod import get_next_valid_time_from_t [as 别名]
def test_mondayweek_timeperiod_with_exclude(self):
"""
Test monday week timeperiod with exclude
:return: None
"""
now = time.time()
# Get the 12 of july 2010 at 15:00, monday
july_the_12 = time.mktime(time.strptime("12 Jul 2010 15:00:00", "%d %b %Y %H:%M:%S"))
# Then a simple same day
timeperiod = Timeperiod()
timeperiod.timeperiod_name = 'T1'
timeperiod.resolve_daterange(timeperiod.dateranges, 'tuesday 3 16:30-24:00')
t_next = timeperiod.get_next_valid_time_from_t(july_the_12)
t_next = time.asctime(time.localtime(t_next))
self.assertEqual("Tue Jul 20 16:30:00 2010", t_next)
# Now we add this timeperiod an exception
# And a good one: from april (so before) to august (after), and full time.
# But the 17 is a tuesday, but the 3 of august, so the next 3 tuesday is
# ..... the Tue Sep 21 :) Yes, we should wait quite a lot :)
t2 = Timeperiod()
t2.timeperiod_name = 'T2'
t2.resolve_daterange(t2.dateranges, 'april 1 - august 23 00:00-24:00')
timeperiod.exclude = [t2]
timeperiod.cache = {}
t_next = timeperiod.get_next_valid_time_from_t(july_the_12)
t_next = time.asctime(time.localtime(t_next))
self.assertEqual('Tue Sep 21 16:30:00 2010', t_next)
t_exclude_inv = t2.get_next_invalid_time_from_t(july_the_12)
t_exclude_inv = time.asctime(time.localtime(t_exclude_inv))
self.assertEqual('Tue Aug 24 00:00:00 2010', t_exclude_inv)
示例3: test_monweekday_timeperiod_with_exclude
# 需要导入模块: from alignak.objects.timeperiod import Timeperiod [as 别名]
# 或者: from alignak.objects.timeperiod.Timeperiod import get_next_valid_time_from_t [as 别名]
def test_monweekday_timeperiod_with_exclude(self):
"""
Test mon week day timeperiod with exclude
:return: None
"""
now = time.time()
# Get the 12 of july 2010 at 15:00, monday
july_the_12 = time.mktime(time.strptime("12 Jul 2010 15:00:00", "%d %b %Y %H:%M:%S"))
# Then a funny daterange
print("Testing daterange", 'tuesday -1 july - monday 1 september 16:30-24:00')
timeperiod = Timeperiod()
timeperiod.timeperiod_name = 'T1'
timeperiod.resolve_daterange(timeperiod.dateranges,
'tuesday -1 july - monday 1 september 16:30-24:00')
t_next = timeperiod.get_next_valid_time_from_t(july_the_12)
t_next = time.asctime(time.localtime(t_next))
print("Next without exclude", t_next)
self.assertEqual("Tue Jul 27 16:30:00 2010", t_next)
# Now we add this timeperiod an exception
# and from april (before) to august monday 3 (monday 16 august),
t2 = Timeperiod()
t2.timeperiod_name = 'T2'
t2.resolve_daterange(t2.dateranges, 'thursday 1 april - monday 3 august 00:00-24:00')
timeperiod.exclude = [t2]
timeperiod.cache = {}
t_next = timeperiod.get_next_valid_time_from_t(july_the_12)
t_next = time.asctime(time.localtime(t_next))
self.assertEqual('Tue Aug 17 16:30:00 2010', t_next)
示例4: test_simple_with_multiple_time
# 需要导入模块: from alignak.objects.timeperiod import Timeperiod [as 别名]
# 或者: from alignak.objects.timeperiod.Timeperiod import get_next_valid_time_from_t [as 别名]
def test_simple_with_multiple_time(self):
"""
Test timeperiod with 2 ranges:
* tuesday 00:00-07:00
* tuesday 21:30-24:00
:return: None
"""
now = time.time()
# Get the 12 of july 2010 at 15:00, monday
july_the_12 = time.mktime(time.strptime("12 Jul 2010 15:00:00", "%d %b %Y %H:%M:%S"))
print(july_the_12)
# Then a simple same day
print("Cheking validity for", time.asctime(time.localtime(july_the_12)))
timeperiod = Timeperiod()
timeperiod.resolve_daterange(timeperiod.dateranges, 'tuesday 00:00-07:00,21:30-24:00')
t_next = timeperiod.get_next_valid_time_from_t(july_the_12)
t_next = time.asctime(time.localtime(t_next))
print("RES:", t_next)
self.assertEqual("Tue Jul 13 00:00:00 2010", t_next)
# Now ask about at 00:00 time?
july_the_12 = time.mktime(time.strptime("12 Jul 2010 00:00:00", "%d %b %Y %H:%M:%S"))
# Then a simple same day
t_next = timeperiod.get_next_valid_time_from_t(july_the_12)
t_next = time.asctime(time.localtime(t_next))
print("Next?", t_next)
self.assertEqual("Tue Jul 13 00:00:00 2010", t_next)
示例5: test_simple_with_multiple_time
# 需要导入模块: from alignak.objects.timeperiod import Timeperiod [as 别名]
# 或者: from alignak.objects.timeperiod.Timeperiod import get_next_valid_time_from_t [as 别名]
def test_simple_with_multiple_time(self):
self.print_header()
t = Timeperiod()
now = time.time()
# Get the 12 of july 2010 at 15:00, monday
july_the_12 = time.mktime(time.strptime("12 Jul 2010 15:00:00", "%d %b %Y %H:%M:%S"))
print july_the_12
# First a false test, no results
t = Timeperiod()
t.timeperiod_name = ''
t.resolve_daterange(t.dateranges, '1999-01-28 00:00-07:00,21:30-24:00')
t_next = t.get_next_valid_time_from_t(now)
self.assertIs(None, t_next)
# Then a simple same day
print "Cheking validity for", time.asctime(time.localtime(july_the_12))
t = Timeperiod()
t.timeperiod_name = ''
t.resolve_daterange(t.dateranges, 'tuesday 00:00-07:00,21:30-24:00')
t_next = t.get_next_valid_time_from_t(july_the_12)
t_next = time.asctime(time.localtime(t_next))
print "RES:", t_next
self.assertEqual("Tue Jul 13 00:00:00 2010", t_next)
# Now ask about at 00:00 time?
july_the_12 = time.mktime(time.strptime("12 Jul 2010 00:00:00", "%d %b %Y %H:%M:%S"))
# Then a simple same day
t = Timeperiod()
t.timeperiod_name = ''
t.resolve_daterange(t.dateranges, 'tuesday 00:00-07:00,21:30-24:00')
t_next = t.get_next_valid_time_from_t(july_the_12)
t_next = time.asctime(time.localtime(t_next))
print "Next?", t_next
self.assertEqual("Tue Jul 13 00:00:00 2010", t_next)
示例6: test_dayweek_exclusion_timeperiod
# 需要导入模块: from alignak.objects.timeperiod import Timeperiod [as 别名]
# 或者: from alignak.objects.timeperiod.Timeperiod import get_next_valid_time_from_t [as 别名]
def test_dayweek_exclusion_timeperiod(self):
"""
Test week day timeperiod with exclusion
:return: None
"""
now = time.time()
# Get the 13 of july 2010 at 15:00, tuesday
july_the_13 = time.mktime(time.strptime("13 Jul 2010 15:00:00", "%d %b %Y %H:%M:%S"))
print(july_the_13)
# Now we add this timeperiod an exception
timeperiod = Timeperiod()
timeperiod.resolve_daterange(timeperiod.dateranges, 'monday 00:00-24:00')
timeperiod.resolve_daterange(timeperiod.dateranges, 'tuesday 00:00-24:00')
timeperiod.resolve_daterange(timeperiod.dateranges, 'wednesday 00:00-24:00')
t2 = Timeperiod()
t2.timeperiod_name = ''
t2.resolve_daterange(t2.dateranges, 'tuesday 00:00-24:00')
timeperiod.exclude = [t2]
t_next = timeperiod.get_next_valid_time_from_t(july_the_13)
t_next = time.asctime(time.localtime(t_next))
print("T next", t_next)
self.assertEqual("Wed Jul 14 00:00:00 2010", t_next)
july_the_12 = time.mktime(time.strptime("12 Jul 2010 15:00:00", "%d %b %Y %H:%M:%S"))
t_inv = timeperiod.get_next_invalid_time_from_t(july_the_12)
t_inv = time.asctime(time.localtime(t_inv))
self.assertEqual('Tue Jul 13 00:00:00 2010', t_inv)
示例7: test_funky_mondayweek_timeperiod_with_exclude_and_multiple_daterange
# 需要导入模块: from alignak.objects.timeperiod import Timeperiod [as 别名]
# 或者: from alignak.objects.timeperiod.Timeperiod import get_next_valid_time_from_t [as 别名]
def test_funky_mondayweek_timeperiod_with_exclude_and_multiple_daterange(self):
self.print_header()
now = time.time()
# Get the 12 of july 2010 at 15:00, monday
july_the_12 = time.mktime(time.strptime("12 Jul 2010 15:00:00", "%d %b %Y %H:%M:%S"))
# Then a funny daterange
print "Testing daterange", 'tuesday -1 - monday 1 16:30-24:00'
t = Timeperiod()
t.timeperiod_name = 'T1'
t.resolve_daterange(t.dateranges, 'tuesday -1 - monday 1 16:30-24:00')
t_next = t.get_next_valid_time_from_t(july_the_12)
t_next = time.asctime(time.localtime(t_next))
print "Next without exclude", t_next
self.assertEqual("Tue Jul 27 16:30:00 2010", t_next)
# Now we add this timeperiod an exception
# And a good one: from april (so before so agust (after), and full time.
# But the 27 is nw not possible? So what next? Add a month!
# But maybe it's not enoutgth? :)
# The withoutthe 2nd exclude, it's the Tues Aug 31, btu it's inside
# saturday -1 - monday 1 because saturday -1 is the 28 august, so no.
# in september saturday -1 is the 25, and tuesday -1 is 28, so still no
# A month again! So now tuesday -1 is 26 and saturday -1 is 30. So ok
# for this one! that was quite long isn't it? And funky! :)
t2 = Timeperiod()
t2.timeperiod_name = 'T2'
t2.resolve_daterange(t2.dateranges, 'april 1 - august 16 00:00-24:00')
# Oups, I add a inner daterange ;)
t2.resolve_daterange(t2.dateranges, 'saturday -1 - monday 1 16:00-24:00')
t.exclude = [t2]
# We are a bad boy: first time period want a tuesday
# but exclude do not want it until 23:58. So next is 59 :)
t.cache = {}
t_next = t.get_next_valid_time_from_t(july_the_12)
#print "Check from", time.asctime(time.localtime(july_the_12))
#t_exclude = t2.get_next_valid_time_from_t(july_the_12)
t_exclude_inv = t2.get_next_invalid_time_from_t(july_the_12)
#print "T2 next valid", time.asctime(time.localtime(t_exclude))
print "Next invalid T2", time.asctime(time.localtime(t_exclude_inv))
print "T next raw", t_next
print "T next?", time.asctime(time.localtime(t_next))
t_next = time.asctime(time.localtime(t_next))
self.assertEqual('Tue Oct 26 16:30:00 2010', t_next)
print "Finish this Funky test :)"
示例8: test_simple_with_multiple_time_multiple_days
# 需要导入模块: from alignak.objects.timeperiod import Timeperiod [as 别名]
# 或者: from alignak.objects.timeperiod.Timeperiod import get_next_valid_time_from_t [as 别名]
def test_simple_with_multiple_time_multiple_days(self):
"""
Test timeperiod with multiple daterange on multiple days:
* monday 00:00-07:00
* monday 21:30-24:00
* tuesday 00:00-07:00
* tuesday 21:30-24:00
:return: None
"""
now = time.time()
# Get the 12 of july 2010 at 15:00, monday
july_the_12 = time.mktime(time.strptime("12 Jul 2010 15:00:00", "%d %b %Y %H:%M:%S"))
print(july_the_12)
# Then a simple same day
timeperiod = Timeperiod()
print("Cheking validity for", time.asctime(time.localtime(july_the_12)))
timeperiod.resolve_daterange(timeperiod.dateranges, 'monday 00:00-07:00,21:30-24:00')
timeperiod.resolve_daterange(timeperiod.dateranges, 'tuesday 00:00-07:00,21:30-24:00')
t_next = timeperiod.get_next_valid_time_from_t(july_the_12)
t_next = time.asctime(time.localtime(t_next))
print("RES:", t_next)
self.assertEqual("Mon Jul 12 21:30:00 2010", t_next)
# what about the next invalid?
t_next_inv = timeperiod.get_next_invalid_time_from_t(july_the_12)
t_next_inv = time.asctime(time.localtime(t_next_inv))
print("RES:", t_next_inv)
self.assertEqual("Mon Jul 12 15:00:00 2010", t_next_inv)
# what about a valid time and ask next invalid? Like at 22:00h?
july_the_12 = time.mktime(time.strptime("12 Jul 2010 22:00:00", "%d %b %Y %H:%M:%S"))
t_next_inv = timeperiod.get_next_invalid_time_from_t(july_the_12)
t_next_inv = time.asctime(time.localtime(t_next_inv))
print("RES:", t_next_inv) #, t.is_time_valid(july_the_12)
self.assertEqual("Tue Jul 13 07:00:01 2010", t_next_inv)
# Now ask about at 00:00 time?
july_the_12 = time.mktime(time.strptime("12 Jul 2010 00:00:00", "%d %b %Y %H:%M:%S"))
print("Cheking validity for", time.asctime(time.localtime(july_the_12)))
# Then a simple same day
t_next = timeperiod.get_next_valid_time_from_t(july_the_12)
t_next = time.asctime(time.localtime(t_next))
print("Next?", t_next)
self.assertEqual("Mon Jul 12 00:00:00 2010", t_next)
示例9: test_mondayweek_timeperiod_with_exclude_and_multiple_daterange
# 需要导入模块: from alignak.objects.timeperiod import Timeperiod [as 别名]
# 或者: from alignak.objects.timeperiod.Timeperiod import get_next_valid_time_from_t [as 别名]
def test_mondayweek_timeperiod_with_exclude_and_multiple_daterange(self):
"""
Test monday week timeperiod with exclude multiple dateranges
:return: None
"""
now = time.time()
# Get the 12 of july 2010 at 15:00, monday
july_the_12 = time.mktime(time.strptime("12 Jul 2010 15:00:00", "%d %b %Y %H:%M:%S"))
# Then a funny daterange
print("Testing daterange", 'tuesday -1 - monday 1 16:30-24:00')
timeperiod = Timeperiod()
timeperiod.timeperiod_name = 'T1'
timeperiod.resolve_daterange(timeperiod.dateranges, 'tuesday -1 - monday 1 16:30-24:00')
t_next = timeperiod.get_next_valid_time_from_t(july_the_12)
t_next = time.asctime(time.localtime(t_next))
print("Next without exclude", t_next)
self.assertEqual("Tue Jul 27 16:30:00 2010", t_next)
# Now we add this timeperiod an exception
# And a good one: from april (so before) to august (after), and full time.
# But the 27 is nw not possible? So what next? Add a month!
# But maybe it's not enough? :)
# The without the 2nd exclude, it's the Tues Aug 31, but it's inside
# saturday -1 - monday 1 because saturday -1 is the 28 august, so no.
# in september saturday -1 is the 25, and tuesday -1 is 28, so still no
# A month again! So now tuesday -1 is 26 and saturday -1 is 30. So ok
# for this one! that was quite long isn't it?
t2 = Timeperiod()
t2.timeperiod_name = 'T2'
t2.resolve_daterange(t2.dateranges, 'april 1 - august 16 00:00-24:00')
t2.resolve_daterange(t2.dateranges, 'saturday -1 - monday 1 16:00-24:00')
timeperiod.exclude = [t2]
timeperiod.cache = {}
t_next = timeperiod.get_next_valid_time_from_t(july_the_12)
t_next = time.asctime(time.localtime(t_next))
self.assertEqual('Tue Oct 26 16:30:00 2010', t_next)
t_exclude_inv = t2.get_next_invalid_time_from_t(july_the_12)
t_exclude_inv = time.asctime(time.localtime(t_exclude_inv))
self.assertEqual('Tue Aug 17 00:00:00 2010', t_exclude_inv)
示例10: test_timeperiod_no_daterange
# 需要导入模块: from alignak.objects.timeperiod import Timeperiod [as 别名]
# 或者: from alignak.objects.timeperiod.Timeperiod import get_next_valid_time_from_t [as 别名]
def test_timeperiod_no_daterange(self):
"""
Test with a timeperiod have no daterange
:return: None
"""
now = time.time()
timeperiod = Timeperiod()
timeperiod.resolve_daterange(timeperiod.dateranges, '1999-01-28 00:00-24:00')
t_next = timeperiod.get_next_valid_time_from_t(now)
self.assertIsNone(t_next)
示例11: test_mondayweek_timeperiod_with_exclude_bis
# 需要导入模块: from alignak.objects.timeperiod import Timeperiod [as 别名]
# 或者: from alignak.objects.timeperiod.Timeperiod import get_next_valid_time_from_t [as 别名]
def test_mondayweek_timeperiod_with_exclude_bis(self):
self.print_header()
now = time.time()
# Get the 12 of july 2010 at 15:00, monday
july_the_12 = time.mktime(time.strptime("12 Jul 2010 15:00:00", "%d %b %Y %H:%M:%S"))
# Then a funny daterange
print "Testing daterange", 'tuesday -1 - monday 1 16:30-24:00'
t = Timeperiod()
t.timeperiod_name = 'T1'
t.resolve_daterange(t.dateranges, 'tuesday -1 - monday 1 16:30-24:00')
t_next = t.get_next_valid_time_from_t(july_the_12)
t_next = time.asctime(time.localtime(t_next))
print "Next without exclude", t_next
self.assertEqual("Tue Jul 27 16:30:00 2010", t_next)
# Now we add this timeperiod an exception
# And a good one: from april (so before so agust (after), and full time.
# But the 27 is nw not possible? So what next? Add a month!
# last tuesday of august, the 31 :)
t2 = Timeperiod()
t2.timeperiod_name = 'T2'
t2.resolve_daterange(t2.dateranges, 'april 1 - august 16 00:00-24:00')
#print t2.__dict__
t.exclude = [t2]
# We are a bad boy: first time period want a tuesday
# but exclude do not want it until 23:58. So next is 59 :)
t.cache = {}
t_next = t.get_next_valid_time_from_t(july_the_12)
#print "Check from", time.asctime(time.localtime(july_the_12))
#t_exclude = t2.get_next_valid_time_from_t(july_the_12)
t_exclude_inv = t2.get_next_invalid_time_from_t(july_the_12)
#print "T2 next valid", time.asctime(time.localtime(t_exclude))
print "Next invalid T2", time.asctime(time.localtime(t_exclude_inv))
print "T next raw JEAN2", t_next
print "T next?", time.asctime(time.localtime(t_next))
t_next = time.asctime(time.localtime(t_next))
self.assertEqual('Tue Aug 31 16:30:00 2010', t_next)
示例12: test_mondayweek_timeperiod_with_exclude_bis
# 需要导入模块: from alignak.objects.timeperiod import Timeperiod [as 别名]
# 或者: from alignak.objects.timeperiod.Timeperiod import get_next_valid_time_from_t [as 别名]
def test_mondayweek_timeperiod_with_exclude_bis(self):
"""
Test monday weeb timeperiod with exclude, version 2 :D
:return: None
"""
now = time.time()
# Get the 12 of july 2010 at 15:00, monday
july_the_12 = time.mktime(time.strptime("12 Jul 2010 15:00:00", "%d %b %Y %H:%M:%S"))
# Then a funny daterange
print("Testing daterange", 'tuesday -1 - monday 1 16:30-24:00')
timerange = Timeperiod()
timerange.timeperiod_name = 'T1'
timerange.resolve_daterange(timerange.dateranges, 'tuesday -1 - monday 1 16:30-24:00')
t_next = timerange.get_next_valid_time_from_t(july_the_12)
t_next = time.asctime(time.localtime(t_next))
print("Next without exclude", t_next)
self.assertEqual("Tue Jul 27 16:30:00 2010", t_next)
# Now we add this timeperiod an exception
# And a good one: from april (so before) to august (after), and full time.
# But the 27 is now not possible? So what next? Add a month!
# last tuesday of august, the 31 :)
t2 = Timeperiod()
t2.timeperiod_name = 'T2'
t2.resolve_daterange(t2.dateranges, 'april 1 - august 16 00:00-24:00')
timerange.exclude = [t2]
timerange.cache = {}
t_next = timerange.get_next_valid_time_from_t(july_the_12)
t_next = time.asctime(time.localtime(t_next))
self.assertEqual('Tue Aug 31 16:30:00 2010', t_next)
t_exclude = t2.get_next_valid_time_from_t(july_the_12)
t_exclude = time.asctime(time.localtime(t_exclude))
self.assertEqual('Mon Jul 12 15:00:00 2010', t_exclude)
t_exclude_inv = t2.get_next_invalid_time_from_t(july_the_12)
t_exclude_inv = time.asctime(time.localtime(t_exclude_inv))
self.assertEqual('Tue Aug 17 00:00:00 2010', t_exclude_inv)
示例13: test_monweekday_timeperiod_with_exclude
# 需要导入模块: from alignak.objects.timeperiod import Timeperiod [as 别名]
# 或者: from alignak.objects.timeperiod.Timeperiod import get_next_valid_time_from_t [as 别名]
def test_monweekday_timeperiod_with_exclude(self):
self.print_header()
now = time.time()
# Get the 12 of july 2010 at 15:00, monday
july_the_12 = time.mktime(time.strptime("12 Jul 2010 15:00:00", "%d %b %Y %H:%M:%S"))
# Then a funny daterange
print "Testing daterange", 'tuesday -1 july - monday 1 august 16:30-24:00'
t = Timeperiod()
t.timeperiod_name = 'T1'
t.resolve_daterange(t.dateranges, 'tuesday -1 july - monday 1 september 16:30-24:00')
t_next = t.get_next_valid_time_from_t(july_the_12)
t_next = time.asctime(time.localtime(t_next))
print "Next without exclude", t_next
self.assertEqual("Tue Jul 27 16:30:00 2010", t_next)
# Now we add this timeperiod an exception
# and from april (before) to august monday 3 (monday 16 august),
# so Jul 17 is no more possible. So just after it, Tue 17
t2 = Timeperiod()
t2.timeperiod_name = 'T2'
t2.resolve_daterange(t2.dateranges, 'thursday 1 april - monday 3 august 00:00-24:00')
print t2.dateranges[0].__dict__
t.exclude = [t2]
# We are a bad boy: first time period want a tuesday
# but exclude do not want it until 23:58. So next is 59 :)
t.cache = {}
t_next = t.get_next_valid_time_from_t(july_the_12)
#print "Check from", time.asctime(time.localtime(july_the_12))
#t_exclude = t2.get_next_valid_time_from_t(july_the_12)
t_exclude_inv = t2.get_next_invalid_time_from_t(july_the_12)
#print "T2 next valid", time.asctime(time.localtime(t_exclude))
print "Next invalid T2", time.asctime(time.localtime(t_exclude_inv))
print "T next raw", t_next
print "T next?", time.asctime(time.localtime(t_next))
t_next = time.asctime(time.localtime(t_next))
self.assertEqual('Tue Aug 17 16:30:00 2010', t_next)
示例14: test_simple_timeperiod_with_exclude
# 需要导入模块: from alignak.objects.timeperiod import Timeperiod [as 别名]
# 或者: from alignak.objects.timeperiod.Timeperiod import get_next_valid_time_from_t [as 别名]
def test_simple_timeperiod_with_exclude(self):
"""
Test simple timeperiod with exclude periods
:return: None
"""
now = time.time()
# Get the 12 of july 2010 at 15:00, monday
july_the_12 = time.mktime(time.strptime("12 Jul 2010 15:00:00", "%d %b %Y %H:%M:%S"))
print("July 12th, 2010: %s" % july_the_12)
# First a false test, no results
timeperiod = Timeperiod()
timeperiod.resolve_daterange(timeperiod.dateranges, '1999-01-28 00:00-24:00')
t_next = timeperiod.get_next_valid_time_from_t(now)
self.assertIs(None, t_next)
# Then a simple same day
timeperiod = Timeperiod()
timeperiod.resolve_daterange(timeperiod.dateranges, 'tuesday 16:30-24:00')
t_next = timeperiod.get_next_valid_time_from_t(july_the_12)
t_next = time.asctime(time.localtime(t_next))
print(t_next)
self.assertEqual("Tue Jul 13 16:30:00 2010", t_next)
# Now we add this timeperiod an exception
t2 = Timeperiod()
t2.timeperiod_name = ''
t2.resolve_daterange(t2.dateranges, 'tuesday 08:30-21:00')
timeperiod.exclude = [t2]
# So the next will be after 16:30 and not before 21:00. So
# It will be 21:00:01 (first second after invalid is valid)
# we clean the cache of previous calc of t ;)
timeperiod.cache = {}
t_next = timeperiod.get_next_valid_time_from_t(july_the_12)
t_next = time.asctime(time.localtime(t_next))
print("T nxt with exclude:", t_next)
self.assertEqual("Tue Jul 13 21:00:01 2010", t_next)
示例15: test_mondayweek_timeperiod_with_exclude
# 需要导入模块: from alignak.objects.timeperiod import Timeperiod [as 别名]
# 或者: from alignak.objects.timeperiod.Timeperiod import get_next_valid_time_from_t [as 别名]
def test_mondayweek_timeperiod_with_exclude(self):
self.print_header()
now = time.time()
# Get the 12 of july 2010 at 15:00, monday
july_the_12 = time.mktime(time.strptime("12 Jul 2010 15:00:00", "%d %b %Y %H:%M:%S"))
# Then a simple same day
t = Timeperiod()
t.timeperiod_name = 'T1'
t.resolve_daterange(t.dateranges, 'tuesday 2 16:30-24:00')
t_next = t.get_next_valid_time_from_t(july_the_12)
t_next = time.asctime(time.localtime(t_next))
self.assertEqual("Tue Jul 13 16:30:00 2010", t_next)
# Now we add this timeperiod an exception
# And a good one: from april (so before so agust (after), and full time.
# But the 17 is a tuesday, but the 3 of august, so the next 2 tuesday is
# ..... the Tue Sep 14 :) Yes, we should wait quite a lot :)
t2 = Timeperiod()
t2.timeperiod_name = 'T2'
t2.resolve_daterange(t2.dateranges, 'april 1 - august 16 00:00-24:00')
#print t2.__dict__
t.exclude = [t2]
# We are a bad boy: first time period want a tuesday
# but exclude do not want it until 23:58. So next is 59 :)
t.cache = {}
t_next = t.get_next_valid_time_from_t(july_the_12)
#print "Check from", time.asctime(time.localtime(july_the_12))
#t_exclude = t2.get_next_valid_time_from_t(july_the_12)
t_exclude_inv = t2.get_next_invalid_time_from_t(july_the_12)
#print "T2 next valid", time.asctime(time.localtime(t_exclude))
print "Next invalid T2", time.asctime(time.localtime(t_exclude_inv))
print "T next raw JEAN", t_next
print "T next?", time.asctime(time.localtime(t_next))
t_next = time.asctime(time.localtime(t_next))
self.assertEqual('Tue Sep 14 16:30:00 2010', t_next)