def load_from_file(uri): """Coordinates instantiation of various classes. Ensures that related Photograph, Camera, CameraView, and Label are all instantiated together. """ photo = Photograph(uri) Label(photo) photo.read() Widgets.empty_camera_list.hide() camera_id, camera_name = Camera.generate_id(photo.camera_info) camera = Camera(camera_id) camera.add_photo(photo) CameraView(camera, camera_name) # If the user has selected the lookup method, then the timestamp # was probably calculated incorrectly the first time (before the # timezone was discovered). So call it again to get the correct value. if camera.timezone_method == 'lookup': photo.calculate_timestamp(camera.offset) Widgets.button_sensitivity() return photo