import config from state.server import Server from state.changer import Changer from state.file import File def sync(): server = Server(config.API_BASE_URL, config.CONTROLLER_ID) local = File(config.STATE_FILE) server_state = server.get_state() if local.present(): local.load() print "local present: " + repr(local.data) else: local.data = server_state print "local not present, server: " + repr(local.data) local.save() local_state = local.data changer = Changer(local_state, server_state) current_state = changer.process_change() server.post_state(current_state)