本文整理汇总了Python中alignak.objects.timeperiod.Timeperiod.explode方法的典型用法代码示例。如果您正苦于以下问题:Python Timeperiod.explode方法的具体用法?Python Timeperiod.explode怎么用?Python Timeperiod.explode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类alignak.objects.timeperiod.Timeperiod
的用法示例。
在下文中一共展示了Timeperiod.explode方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_maintenance_period_host
# 需要导入模块: from alignak.objects.timeperiod import Timeperiod [as 别名]
# 或者: from alignak.objects.timeperiod.Timeperiod import explode [as 别名]
def test_maintenance_period_host(self):
"""Test a host enter in maintenance_period
:return: None
"""
# Get the host
host = self._sched.hosts.find_by_name("test_host_0")
host.checks_in_progress = []
host.act_depend_of = []
# Not any downtime yet !
assert host.downtimes == {}
# Make the host be UP
self.scheduler_loop(1, [[host, 0, 'UP']])
# we created a new timeperiod from now -5 minutes to now + 55 minutes
begin = datetime.now() - timedelta(minutes=5)
end = datetime.now() + timedelta(minutes=55)
h_begin = format(begin, '%H:%M')
if format(begin, '%H') == '23' and format(begin, '%M') >= 55:
h_begin = '00:00'
h_end = format(end, '%H:%M')
end = end - timedelta(seconds=int(format(end, '%S')))
timestamp_end = int(time.mktime(end.timetuple()))
data = {
'timeperiod_name': 'maintenance',
'sunday': h_begin + '-' + h_end,
'monday': h_begin + '-' + h_end,
'tuesday': h_begin + '-' + h_end,
'wednesday': h_begin + '-' + h_end,
'thursday': h_begin + '-' + h_end,
'friday': h_begin + '-' + h_end,
'saturday': h_begin + '-' + h_end
}
timeperiod = Timeperiod(data)
timeperiod.explode()
self._scheduler.timeperiods[timeperiod.uuid] = timeperiod
host.maintenance_period = timeperiod.uuid
# Make the host be UP again
self.scheduler_loop(1, [[host, 0, 'UP']])
assert 1 == len(host.downtimes)
# The host is still in a downtime period
assert host.in_scheduled_downtime
downtime = list(host.downtimes.values())[0]
assert downtime.fixed
assert downtime.is_in_effect
assert not downtime.can_be_deleted
assert downtime.end_time == timestamp_end
assert downtime.comment == 'This downtime was automatically scheduled by Alignak because ' \
'of a maintenance period.'