def mount(segment, puck, sample, force=False): """ """ print "mount: ", segment, puck, sample, force #Initial checks assertValidAddress(segment, puck, sample) robot.assert_no_task() robot.state.assertReady() robot.assert_cleared() if hexiposi.homed == False: raise Exception ("Hexiposi is not homed") #Enabling enable_motion() set_hexiposi(segment) if not force: #Clearing for image processing robot.move_park() assert_img_in_cover_pos(segment) location = get_current_point() print "Location: " + location robot.move_dewar_wait() try: robot.get_dewar(segment, puck, sample) except: #robot.move_dewar() raise try: robot.put_gonio() except: #TODO: recover raise