Skip to content

Instantly share code, notes, and snippets.

@JosXa
Created January 20, 2017 17:12
Show Gist options
  • Save JosXa/35f83a0e5f92a109b3f3d9921c4f2dd5 to your computer and use it in GitHub Desktop.
Save JosXa/35f83a0e5f92a109b3f3d9921c4f2dd5 to your computer and use it in GitHub Desktop.
def callback_router(bot, update, chat_data):
obj = json.loads(str(update.callback_query.data))
pprint(obj)
if 'a' in obj:
action = obj['a']
if action == CallbackActions.OVERVIEW:
finances.main(bot, update, chat_data)
elif action == CallbackActions.ALL_TRANSACTIONS:
finances.show_all(bot, update)
elif action == CallbackActions.CREATE_TRANSACTION:
finances.reset_current_transaction(bot, update, chat_data)
finances.new_transaction(bot, update, chat_data)
elif action == CallbackActions.NEW_TRANSACTION:
finances.new_transaction(bot, update, chat_data)
elif action == CallbackActions.TOGGLE_GROCERIES_ITEM:
groceries.toggle_item_activated(bot, update, chat_data, obj['v'])
elif action == CallbackActions.TOGGLE_BOUGHT:
groceries.toggle_item_bought(bot, update, chat_data, obj['v'])
elif action == CallbackActions.DELETE_TRANSACTION:
finances.delete_transaction(bot, update, chat_data)
elif action == CallbackActions.ACTIVATE_DOCUMENT:
doc = Document.get(id=obj['id'])
documents.activate_document(bot, update, doc)
elif action == CallbackActions.SET_DOCUMENT_NAME:
doc = Document.get(id=obj['id'])
return documents.set_document_name(bot, update, chat_data, doc)
elif action == CallbackActions.DEACTIVATE_DOCUMENT:
doc = Document.get(id=obj['id'])
documents.deactivate_document(bot, update, doc)
elif action == CallbackActions.ADD_DOCUMENT_TO_TRANSACTION:
doc = Document.get(id=obj['id'])
chat_data['document'] = doc
return finances.add_document_to_transaction(bot, update, chat_data)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment