Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def from_duration(cls, duration):
# for testing how to put transitions between observations during
# scheduling without considering the complexities of duration
tb = TransitionBlock({'duration': duration})
return tb
# use the constraints cache for now, but should move that machinery
# to observer
from .constraints import _get_altaz
from .target import get_skycoord
if oldblock.target != newblock.target:
targets = get_skycoord([oldblock.target, newblock.target])
aaz = _get_altaz(start_time, observer, targets)['altaz']
sep = aaz[0].separation(aaz[1])
if sep/self.slew_rate > 1 * u.second:
components['slew_time'] = sep / self.slew_rate
if self.instrument_reconfig_times is not None:
components.update(self.compute_instrument_transitions(oldblock, newblock))
if components:
return TransitionBlock(components, start_time)
else:
return None
))
return False
# Other slots exist, so now we have to see if it will fit
# if slots before or after, we need `TransitionBlock`s
tb_before = None
tb_before_already_exists = False
tb_after = None
if slots_before:
if isinstance(
self.schedule.slots[slot_index - 1].block, ObservingBlock):
# make a transitionblock
tb_before = self.transitioner(
self.schedule.slots[slot_index - 1].block, b,
self.schedule.slots[slot_index - 1].end, self.observer)
elif isinstance(self.schedule.slots[slot_index - 1].block, TransitionBlock):
tb_before = self.transitioner(
self.schedule.slots[slot_index - 2].block, b,
self.schedule.slots[slot_index - 2].end, self.observer)
tb_before_already_exists = True
if slots_after:
slot_offset = 2 if delete_this_block_first else 1
if isinstance(
self.schedule.slots[slot_index + slot_offset].block, ObservingBlock):
# make a transition object after the new ObservingBlock
tb_after = self.transitioner(
b, self.schedule.slots[slot_index + slot_offset].block,
new_start_time + b.duration, self.observer)
# tweak durations to exact multiple of time resolution
for block in (tb_before, tb_after):