From fb516619b8a9732bca6b7a5614d829f4b8b7f11e Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Sat, 7 Oct 2023 20:03:42 -0400 Subject: [PATCH 001/135] Removed empty doco files not compatible with windows --- CONTRIBUTING.md | 0 code/.DS_Store | Bin 6148 -> 0 bytes docs/dollar_bot/**/*.html | 0 docs/dollar_bot/code/*.html | 0 run.sh | 0 run_forever.sh | 0 6 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 CONTRIBUTING.md delete mode 100644 code/.DS_Store delete mode 100644 docs/dollar_bot/**/*.html delete mode 100644 docs/dollar_bot/code/*.html mode change 100755 => 100644 run.sh mode change 100755 => 100644 run_forever.sh diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md old mode 100755 new mode 100644 diff --git a/code/.DS_Store b/code/.DS_Store deleted file mode 100644 index 87aa52603c59f86501204f5a6065fd1b0c75d99e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKyG{c!5S)cbL`ridrN01)Kd_=uq~-@u61qr7LqT^H-^HK7>_dofL875Sv(kF( z^^Pr1aeE8E*3XAqU;wbBJL1)cx%s~P%q}WoL^{v7!4qD#$8oH!68}z z;)3BY&ZCzgHV+Vc;grY-&5}w?s#S|&NoTxOUN4*ylMaiUc~0GI)uCA2&UlM-SWna_ z1*E{K0++cQy#C+Of9U^DNm@w(De$ipu*K$nv*wekw$2{swYJe8=$`XNcjG)L9HJZ( jqa1VL<@h?1GOziZ`@L{V3_9aMC+cUwb&*MdzgFM_h?peV diff --git a/docs/dollar_bot/**/*.html b/docs/dollar_bot/**/*.html deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/dollar_bot/code/*.html b/docs/dollar_bot/code/*.html deleted file mode 100644 index e69de29bb..000000000 diff --git a/run.sh b/run.sh old mode 100755 new mode 100644 diff --git a/run_forever.sh b/run_forever.sh old mode 100755 new mode 100644 From 23d03e1d2ed71d0b159961695e977f593002c7e7 Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Sun, 8 Oct 2023 05:58:15 +0530 Subject: [PATCH 002/135] Update and rename custom.md to bug-template.md --- .github/ISSUE_TEMPLATE/{custom.md => bug-template.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename .github/ISSUE_TEMPLATE/{custom.md => bug-template.md} (83%) diff --git a/.github/ISSUE_TEMPLATE/custom.md b/.github/ISSUE_TEMPLATE/bug-template.md similarity index 83% rename from .github/ISSUE_TEMPLATE/custom.md rename to .github/ISSUE_TEMPLATE/bug-template.md index 956abfc2d..8ebe75239 100644 --- a/.github/ISSUE_TEMPLATE/custom.md +++ b/.github/ISSUE_TEMPLATE/bug-template.md @@ -1,5 +1,5 @@ --- -name: Custom issue template +name: Bug Issue Template about: To make contributors familiar with the structure for reporting or opening issues title: 'to-do ' labels: '' From 1a9fc03ae8f94b9c8c64b3ee64d9957707c5cce5 Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Sun, 8 Oct 2023 05:58:56 +0530 Subject: [PATCH 003/135] Update and rename issue-task-template.md to docu-template.md --- .../{issue-task-template.md => docu-template.md} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename .github/ISSUE_TEMPLATE/{issue-task-template.md => docu-template.md} (59%) diff --git a/.github/ISSUE_TEMPLATE/issue-task-template.md b/.github/ISSUE_TEMPLATE/docu-template.md similarity index 59% rename from .github/ISSUE_TEMPLATE/issue-task-template.md rename to .github/ISSUE_TEMPLATE/docu-template.md index a3c82bdf6..fac5e4971 100644 --- a/.github/ISSUE_TEMPLATE/issue-task-template.md +++ b/.github/ISSUE_TEMPLATE/docu-template.md @@ -1,6 +1,6 @@ --- -name: Issue Task Template -about: To make contributors familiar with the structure for reporting or opening issues +name: Docuemntation Template +about: To make contributors familiar with the structure for reporting or opening issues related to documentation title: 'to-do ' labels: '' assignees: '' From b5239a2adfcc0e59fe4105a22d29de3c108d789e Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Sun, 8 Oct 2023 06:03:26 +0530 Subject: [PATCH 004/135] Update docu-template.md --- .github/ISSUE_TEMPLATE/docu-template.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/docu-template.md b/.github/ISSUE_TEMPLATE/docu-template.md index fac5e4971..9097bff76 100644 --- a/.github/ISSUE_TEMPLATE/docu-template.md +++ b/.github/ISSUE_TEMPLATE/docu-template.md @@ -1,7 +1,7 @@ --- -name: Docuemntation Template -about: To make contributors familiar with the structure for reporting or opening issues related to documentation -title: 'to-do ' +name: Documentation Template +about: Exactly explain the issue and what you wish existed instead / what can be improved in the documentation. +title: 'Describe the problem here concisely' labels: '' assignees: '' From bfc15d18f9e8f28bc25a86474b5db26ab0fafdd3 Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Sun, 8 Oct 2023 06:06:57 +0530 Subject: [PATCH 005/135] Update bug-template.md --- .github/ISSUE_TEMPLATE/bug-template.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug-template.md b/.github/ISSUE_TEMPLATE/bug-template.md index 8ebe75239..0d9defcae 100644 --- a/.github/ISSUE_TEMPLATE/bug-template.md +++ b/.github/ISSUE_TEMPLATE/bug-template.md @@ -1,8 +1,8 @@ --- -name: Bug Issue Template -about: To make contributors familiar with the structure for reporting or opening issues -title: 'to-do ' -labels: '' +name: Bug Issue Reports +about: Create a bug report to help DollarBot improve! +title: 'Bug in : describe the bug in a few words>' +labels: 'bug' assignees: '' --- From 38f938d603897ac57169613f32870e08430ede48 Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Sun, 8 Oct 2023 06:08:17 +0530 Subject: [PATCH 006/135] Update docu-template.md --- .github/ISSUE_TEMPLATE/docu-template.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/docu-template.md b/.github/ISSUE_TEMPLATE/docu-template.md index 9097bff76..fcfdc7d7e 100644 --- a/.github/ISSUE_TEMPLATE/docu-template.md +++ b/.github/ISSUE_TEMPLATE/docu-template.md @@ -1,8 +1,8 @@ --- name: Documentation Template about: Exactly explain the issue and what you wish existed instead / what can be improved in the documentation. -title: 'Describe the problem here concisely' -labels: '' +title: 'Docu Issue in: < the section where documentation is lacking >' +labels: 'documentation' assignees: '' --- From 7410c5a3f42c4b8f0d8b7c743f3abe909f0fcd9c Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Sun, 8 Oct 2023 06:09:09 +0530 Subject: [PATCH 007/135] Update docu-template.md --- .github/ISSUE_TEMPLATE/docu-template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/docu-template.md b/.github/ISSUE_TEMPLATE/docu-template.md index fcfdc7d7e..0eccddbcb 100644 --- a/.github/ISSUE_TEMPLATE/docu-template.md +++ b/.github/ISSUE_TEMPLATE/docu-template.md @@ -1,7 +1,7 @@ --- name: Documentation Template about: Exactly explain the issue and what you wish existed instead / what can be improved in the documentation. -title: 'Docu Issue in: < the section where documentation is lacking >' +title: 'Docu Issue in: "the section where documentation is lacking"' labels: 'documentation' assignees: '' From 7da45cec2d0dfe0a3e51f4fe3a9ca9ef91515a96 Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Sun, 8 Oct 2023 06:11:13 +0530 Subject: [PATCH 008/135] Create enhancement.md --- .github/ISSUE_TEMPLATE/enhancement.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/enhancement.md diff --git a/.github/ISSUE_TEMPLATE/enhancement.md b/.github/ISSUE_TEMPLATE/enhancement.md new file mode 100644 index 000000000..bb9057432 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/enhancement.md @@ -0,0 +1,8 @@ +--- +name: Enhancement Suggestions +about: Have cool feature enhancement ideas? Share here! +title: 'Enhancement: XYZ in ABC feature' +labels: 'enhancement' +assignees: '' + +--- From 4522626bacba2a0532dc12f8f40621845f257e3f Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Sun, 8 Oct 2023 06:11:50 +0530 Subject: [PATCH 009/135] Update docu-template.md --- .github/ISSUE_TEMPLATE/docu-template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/docu-template.md b/.github/ISSUE_TEMPLATE/docu-template.md index 0eccddbcb..a1435eb87 100644 --- a/.github/ISSUE_TEMPLATE/docu-template.md +++ b/.github/ISSUE_TEMPLATE/docu-template.md @@ -1,5 +1,5 @@ --- -name: Documentation Template +name: Documentation Improvement Ideas about: Exactly explain the issue and what you wish existed instead / what can be improved in the documentation. title: 'Docu Issue in: "the section where documentation is lacking"' labels: 'documentation' From bac7fb07070021716a56361fcdf3bfcca9347e7d Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Sun, 8 Oct 2023 06:13:32 +0530 Subject: [PATCH 010/135] Create other-issues.md --- .github/ISSUE_TEMPLATE/other-issues.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/other-issues.md diff --git a/.github/ISSUE_TEMPLATE/other-issues.md b/.github/ISSUE_TEMPLATE/other-issues.md new file mode 100644 index 000000000..cd2128dc8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/other-issues.md @@ -0,0 +1,8 @@ +--- +name: Other Issue Reports +about: Don't see your issue above? Tell us here. +title: 'Issue in : describe the issue in a few words>' +labels: '' +assignees: '' + +--- From 626cbebeae8eaa68c65cbc097baf2c3cf7e9940d Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Sat, 7 Oct 2023 20:52:02 -0400 Subject: [PATCH 011/135] budget command bugfixes --- code/budget_update.py | 24 ++++++++++++------------ code/budget_view.py | 14 ++++++++------ 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/code/budget_update.py b/code/budget_update.py index df8041f4a..4d1e867d9 100644 --- a/code/budget_update.py +++ b/code/budget_update.py @@ -13,18 +13,13 @@ def run(message, bot): is the telegram bot object from the main code.py function. """ chat_id = message.chat.id - if helper.isOverallBudgetAvailable(chat_id): - update_overall_budget(chat_id, bot) - elif helper.isCategoryBudgetAvailable(chat_id): - update_category_budget(message, bot) - else: - markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) - options = helper.getBudgetTypes() - markup.row_width = 2 - for c in options.values(): - markup.add(c) - msg = bot.reply_to(message, "Select Budget Type", reply_markup=markup) - bot.register_next_step_handler(msg, post_type_selection, bot) + markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) + options = helper.getBudgetTypes() + markup.row_width = 2 + for c in options.values(): + markup.add(c) + msg = bot.reply_to(message, "Select Budget Type", reply_markup=markup) + bot.register_next_step_handler(msg, post_type_selection, bot) def post_type_selection(message, bot): @@ -174,10 +169,15 @@ def post_category_amount_input(message, bot, category): if user_list[str(chat_id)]["budget"]["category"] is None: user_list[str(chat_id)]["budget"]["category"] = {} user_list[str(chat_id)]["budget"]["category"][category] = amount_value + if(user_list[str(chat_id)]["budget"]["overall"]): + user_list[str(chat_id)]["budget"]["overall"] = str(round(float(user_list[str(chat_id)]["budget"]["overall"]) + float(amount_value),2)) + else: + user_list[str(chat_id)]["budget"]["overall"] = amount_value helper.write_json(user_list) message = bot.send_message( chat_id, "Budget for " + category + " is now: $" + amount_value ) + budget_view.display_overall_budget(message, bot) post_category_add(message, bot) except Exception as e: diff --git a/code/budget_view.py b/code/budget_view.py index 077f8327b..b6958fcf7 100644 --- a/code/budget_view.py +++ b/code/budget_view.py @@ -19,9 +19,8 @@ def run(message, bot): try: print("here") chat_id = message.chat.id - if helper.isOverallBudgetAvailable(chat_id): + if helper.isOverallBudgetAvailable(chat_id) or helper.isCategoryBudgetAvailable(chat_id): display_overall_budget(message, bot) - elif helper.isCategoryBudgetAvailable(chat_id): display_category_budget(message, bot) else: raise Exception( @@ -52,7 +51,10 @@ def display_category_budget(message, bot): format suitable for display, and returns the same through the bot to the Telegram UI. """ chat_id = message.chat.id - data = helper.getCategoryBudget(chat_id) - graphing.viewBudget(data) - bot.send_photo(chat_id, photo=open("budget.png", "rb")) - os.remove("budget.png") + if helper.isCategoryBudgetAvailable(chat_id): + data = helper.getCategoryBudget(chat_id) + graphing.viewBudget(data) + bot.send_photo(chat_id, photo=open("budget.png", "rb")) + os.remove("budget.png") + else: + bot.send_message(chat_id, "You are yet to set your budget for different categories.") From 17659905d695dc2df3809b27d9b6e6061b7b101c Mon Sep 17 00:00:00 2001 From: Aditi Killedar Date: Sat, 7 Oct 2023 22:03:10 -0400 Subject: [PATCH 012/135] Fixed bug #13 in run.sh and split into setup.sh (#14 solved) --- run.sh | 24 +++++------------------- setup.sh | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 19 deletions(-) create mode 100644 setup.sh diff --git a/run.sh b/run.sh index 3691de932..929e2bc0e 100644 --- a/run.sh +++ b/run.sh @@ -1,28 +1,14 @@ -pip3 install -r requirements.txt - api_token=$(grep "api_token" user.properties|cut -d'=' -f2) +echo "Checking for API Token..." if [ -z "$api_token" ] then - echo "Api token missing: Execute the following steps to generate Api token" - echo - echo "1. Download and install the Telegram desktop application for your system from the following site: https://desktop.telegram.org/" - echo "2. Once you login to your Telegram account, search for \"BotFather\" in Telegram. Click on \"Start\" --> enter the following command:" - echo "/newbot" - echo "3. Follow the instructions on screen and choose a name for your bot. Post this, select a username for your bot that ends with \"bot\" (as per the instructions on your Telegram screen)" - echo "4. BotFather will now confirm the creation of your bot and provide a TOKEN to access the HTTP API - copy this token." - echo - echo "Add Api token and continue?(y/n)" - read option - if [ $option == 'y' -o $option == 'Y' ] - then - echo "Enter the copied token: " - read api_token - echo "api_token="$api_token >> user.properties - fi + echo "Oh no! Looks like you're missing an API token. No worries." + echo "Please run the 'setup.sh' file first." fi if [ -n "$api_token" ] then + echo "Waking up DollarBot..." python3 code/code.py -fi +fi \ No newline at end of file diff --git a/setup.sh b/setup.sh new file mode 100644 index 000000000..ef84e5680 --- /dev/null +++ b/setup.sh @@ -0,0 +1,34 @@ +pip3 install -r requirements.txt + +api_token=$(grep "api_token" user.properties|cut -d'=' -f2) + +flag = "old" + +echo "Checking for API Token..." +if [ -z "$api_token" ] +then + echo "Welcome to DollarBot!" + echo "Follow the steps below to generate an API token to uniquely identify your personal DollarBot. Then, proceed to enter the generated token when prompted to run DollarBot." + echo + echo "1. Download and install the Telegram desktop application for your system from the following site: https://desktop.telegram.org/" + echo "2. Once you login to your Telegram account, search for \"BotFather\" in Telegram. Click on \"Start\" --> enter the following command:" + echo "/newbot" + echo "3. Follow the instructions on screen and choose a name for your bot. Post this, select a username for your bot that ends with \"bot\" (as per the instructions on your Telegram screen)" + echo "4. BotFather will now confirm the creation of your bot and provide a TOKEN to access the HTTP API - copy this token." + echo + echo "Do you want to add your API token now? (Y/n)" + read option + if [ $option == 'y' -o $option == 'Y' ] + then + flag = "new" + echo "Enter the copied token: " + read api_token + echo "api_token="$api_token >> user.properties + fi +fi + +if [ -n "$api_token" ] +then + echo "Thanks for choosing DollarBot! Starting DollarBot with new API token..." + python3 code/code.py +fi \ No newline at end of file From 5325efcc68d1f44079c1fdfab80729bc1c5500a6 Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Sun, 8 Oct 2023 15:27:29 -0400 Subject: [PATCH 013/135] add new category while setting category-wise budget --- .gitignore | 1 + code/budget_update.py | 62 +++++++++++++++++++++++++++---------------- user.properties | 2 +- 3 files changed, 41 insertions(+), 24 deletions(-) diff --git a/.gitignore b/.gitignore index 507090ef0..7407d15c7 100644 --- a/.gitignore +++ b/.gitignore @@ -133,3 +133,4 @@ dmypy.json # Generated files expense_record.json +user.properties \ No newline at end of file diff --git a/code/budget_update.py b/code/budget_update.py index 4d1e867d9..a601d3cb5 100644 --- a/code/budget_update.py +++ b/code/budget_update.py @@ -106,6 +106,7 @@ def update_category_budget(message, bot): markup.row_width = 2 for c in categories: markup.add(c) + markup.add("Add new category") msg = bot.reply_to(message, "Select Category", reply_markup=markup) bot.register_next_step_handler(msg, post_category_selection, bot) @@ -123,34 +124,49 @@ def post_category_selection(message, bot): try: chat_id = message.chat.id selected_category = message.text - categories = helper.getSpendCategories() - if selected_category not in categories: - bot.send_message( - chat_id, "Invalid", reply_markup=types.ReplyKeyboardRemove() - ) - raise Exception( - 'Sorry I don\'t recognise this category "{}"!'.format(selected_category) - ) - if helper.isCategoryBudgetByCategoryAvailable(chat_id, selected_category): - currentBudget = helper.getCategoryBudgetByCategory( - chat_id, selected_category - ) - msg_string = "Current monthly budget for {} is {}\n\nEnter monthly budget for {}\n(Enter numeric values only)" - message = bot.send_message( - chat_id, - msg_string.format(selected_category, currentBudget, selected_category), - ) + if selected_category == "Add new category": + message1 = bot.send_message(chat_id, "Please enter your category") + bot.register_next_step_handler(message1, add_new_category, bot) else: - message = bot.send_message( - chat_id, - "Enter monthly budget for " + selected_category + "\n(Enter numeric values only)", + categories = helper.getSpendCategories() + if selected_category not in categories: + bot.send_message( + chat_id, "Invalid", reply_markup=types.ReplyKeyboardRemove() + ) + raise Exception( + 'Sorry I don\'t recognise this category "{}"!'.format(selected_category) + ) + if helper.isCategoryBudgetByCategoryAvailable(chat_id, selected_category): + currentBudget = helper.getCategoryBudgetByCategory( + chat_id, selected_category + ) + msg_string = "Current monthly budget for {} is {}\n\nEnter monthly budget for {}\n(Enter numeric values only)" + message = bot.send_message( + chat_id, + msg_string.format(selected_category, currentBudget, selected_category), + ) + else: + message = bot.send_message( + chat_id, + "Enter monthly budget for " + selected_category + "\n(Enter numeric values only)", + ) + bot.register_next_step_handler( + message, post_category_amount_input, bot, selected_category ) - bot.register_next_step_handler( - message, post_category_amount_input, bot, selected_category - ) except Exception as e: helper.throw_exception(e, message, bot, logging) +def add_new_category(message,bot): + markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) + markup.row_width = 2 + new_category = message.text + helper.spend_categories.append(new_category) + for c in helper.getSpendCategories(): + markup.add(c) + msg = bot.reply_to(message, "Select Category", reply_markup=markup) + bot.register_next_step_handler(msg, post_category_selection, bot) + + def post_category_amount_input(message, bot, category): """ diff --git a/user.properties b/user.properties index 6923b0754..5e0945f57 100644 --- a/user.properties +++ b/user.properties @@ -1,2 +1,2 @@ -api_token=2124576840:AAF4GNT5QuNmfnOFjfCwU4JPu2xOqkOVgJA +api_token=6457044894:AAEGBeWPY6cdZhLuNe_2UYNuoFatM2Fnsgo \ No newline at end of file From 7d07ce4564cf0cd85fdc74d4ae9b9ff35300966b Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Sun, 8 Oct 2023 21:28:14 -0400 Subject: [PATCH 014/135] handle uncategorized budget --- code/budget_update.py | 23 ++++++++++++++++++++++- code/helper.py | 12 ++++++++++++ user.properties | 1 - 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/code/budget_update.py b/code/budget_update.py index a601d3cb5..a1154c3b8 100644 --- a/code/budget_update.py +++ b/code/budget_update.py @@ -85,9 +85,20 @@ def post_overall_amount_input(message, bot): if str(chat_id) not in user_list: user_list[str(chat_id)] = helper.createNewUserRecord() user_list[str(chat_id)]["budget"]["overall"] = amount_value + total_budget = 0 + for c in helper.getCategoryBudget(chat_id).values(): + total_budget += float(c) + if total_budget > float(amount_value): + raise Exception("Overall budget cannot be less than " + str(total_budget)) + uncategorized_budget = helper.get_uncategorized_amount(chat_id, amount_value) + if float(uncategorized_budget) > 0: + if user_list[str(chat_id)]["budget"]["category"] is None: + user_list[str(chat_id)]["budget"]["category"] = {} + user_list[str(chat_id)]["budget"]["category"]["uncategorized"] = uncategorized_budget helper.write_json(user_list) bot.send_message(chat_id, "Budget Updated!") budget_view.display_overall_budget(message, bot) + print(user_list) return user_list except Exception as e: helper.throw_exception(e, message, bot, logging) @@ -186,7 +197,16 @@ def post_category_amount_input(message, bot, category): user_list[str(chat_id)]["budget"]["category"] = {} user_list[str(chat_id)]["budget"]["category"][category] = amount_value if(user_list[str(chat_id)]["budget"]["overall"]): - user_list[str(chat_id)]["budget"]["overall"] = str(round(float(user_list[str(chat_id)]["budget"]["overall"]) + float(amount_value),2)) + if round(float(user_list[str(chat_id)]["budget"]["category"]["uncategorized"]) - float(amount_value),2) > 0: + user_list[str(chat_id)]["budget"]["category"]["uncategorized"] = str(round(float(user_list[str(chat_id)]["budget"]["category"]["uncategorized"]) - float(amount_value),2)) + else: + user_list[str(chat_id)]["budget"]["category"]["uncategorized"] = str(0) + helper.write_json(user_list) + total_budget = 0 + for c in helper.getCategoryBudget(chat_id).values(): + total_budget += float(c) + print(total_budget) + user_list[str(chat_id)]["budget"]["overall"] = str(total_budget) else: user_list[str(chat_id)]["budget"]["overall"] = amount_value helper.write_json(user_list) @@ -194,6 +214,7 @@ def post_category_amount_input(message, bot, category): chat_id, "Budget for " + category + " is now: $" + amount_value ) budget_view.display_overall_budget(message, bot) + print(user_list) post_category_add(message, bot) except Exception as e: diff --git a/code/helper.py b/code/helper.py index 70c8c48d4..a2251bc85 100644 --- a/code/helper.py +++ b/code/helper.py @@ -167,6 +167,18 @@ def isCategoryBudgetByCategoryAvailable(chatId, cat): return False return cat in data.keys() +def get_uncategorized_amount(chatId, amount): + overall_budget = float(amount) + category_budget_data = getCategoryBudget(chatId) + if category_budget_data is None: + return amount + category_budget = 0 + for c in category_budget_data.values(): + category_budget += float(c) + uncategorized_budget = overall_budget - category_budget + return str(round(uncategorized_budget,2)) + + def display_remaining_budget(message, bot, cat): print("inside") diff --git a/user.properties b/user.properties index 5e0945f57..8b1378917 100644 --- a/user.properties +++ b/user.properties @@ -1,2 +1 @@ -api_token=6457044894:AAEGBeWPY6cdZhLuNe_2UYNuoFatM2Fnsgo \ No newline at end of file From 136a84698947f2faaf0511ed7a461d85a59545d1 Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Tue, 10 Oct 2023 13:14:52 -0400 Subject: [PATCH 015/135] update budget bugfix --- code/budget_update.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/code/budget_update.py b/code/budget_update.py index a1154c3b8..3e8a1ff07 100644 --- a/code/budget_update.py +++ b/code/budget_update.py @@ -86,10 +86,11 @@ def post_overall_amount_input(message, bot): user_list[str(chat_id)] = helper.createNewUserRecord() user_list[str(chat_id)]["budget"]["overall"] = amount_value total_budget = 0 - for c in helper.getCategoryBudget(chat_id).values(): - total_budget += float(c) - if total_budget > float(amount_value): - raise Exception("Overall budget cannot be less than " + str(total_budget)) + if helper.isCategoryBudgetAvailable(chat_id): + for c in helper.getCategoryBudget(chat_id).values(): + total_budget += float(c) + if total_budget > float(amount_value): + raise Exception("Overall budget cannot be less than " + str(total_budget)) uncategorized_budget = helper.get_uncategorized_amount(chat_id, amount_value) if float(uncategorized_budget) > 0: if user_list[str(chat_id)]["budget"]["category"] is None: From 7af0aa2f3a9c2be0dd513f67ad252497623a6ddf Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Tue, 10 Oct 2023 16:55:51 -0400 Subject: [PATCH 016/135] update add command and bugfixes --- code/add.py | 4 ++++ code/budget_update.py | 9 +++++---- code/delete.py | 4 +++- code/helper.py | 10 ++++++---- 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/code/add.py b/code/add.py index 906956ad1..e12ab6967 100644 --- a/code/add.py +++ b/code/add.py @@ -45,6 +45,10 @@ def post_append_spend(message, bot): markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) markup.row_width = 2 selected_category = message.text + chat_id = message.chat.id + allocated_categories = helper.getCategoryBudget(chat_id) + if selected_category not in allocated_categories.keys(): + helper.updateBudgetCategory(chat_id,selected_category) helper.spend_categories.append(selected_category) for c in helper.getSpendCategories(): markup.add(c) diff --git a/code/budget_update.py b/code/budget_update.py index a1154c3b8..3e8a1ff07 100644 --- a/code/budget_update.py +++ b/code/budget_update.py @@ -86,10 +86,11 @@ def post_overall_amount_input(message, bot): user_list[str(chat_id)] = helper.createNewUserRecord() user_list[str(chat_id)]["budget"]["overall"] = amount_value total_budget = 0 - for c in helper.getCategoryBudget(chat_id).values(): - total_budget += float(c) - if total_budget > float(amount_value): - raise Exception("Overall budget cannot be less than " + str(total_budget)) + if helper.isCategoryBudgetAvailable(chat_id): + for c in helper.getCategoryBudget(chat_id).values(): + total_budget += float(c) + if total_budget > float(amount_value): + raise Exception("Overall budget cannot be less than " + str(total_budget)) uncategorized_budget = helper.get_uncategorized_amount(chat_id, amount_value) if float(uncategorized_budget) > 0: if user_list[str(chat_id)]["budget"]["category"] is None: diff --git a/code/delete.py b/code/delete.py index 6b7f9f2c1..691d61ebe 100644 --- a/code/delete.py +++ b/code/delete.py @@ -32,5 +32,7 @@ def deleteHistory(chat_id): """ global user_list if str(chat_id) in user_list: - del user_list[str(chat_id)] + user_list[str(chat_id)]["data"] = [] + user_list[str(chat_id)]["budget"]["overall"] = None + user_list[str(chat_id)]["budget"]["category"] = None return user_list diff --git a/code/helper.py b/code/helper.py index a2251bc85..522167e8a 100644 --- a/code/helper.py +++ b/code/helper.py @@ -183,10 +183,8 @@ def get_uncategorized_amount(chatId, amount): def display_remaining_budget(message, bot, cat): print("inside") chat_id = message.chat.id - if isOverallBudgetAvailable(chat_id): - display_remaining_overall_budget(message, bot) - elif isCategoryBudgetByCategoryAvailable(chat_id, cat): - display_remaining_category_budget(message, bot, cat) + display_remaining_category_budget(message, bot, cat) + display_remaining_overall_budget(message, bot) def display_remaining_overall_budget(message, bot): @@ -253,6 +251,10 @@ def calculate_total_spendings_for_category(queryResult, cat): total = total + float(s[2]) return total +def updateBudgetCategory(chatId, category): + user_list = read_json() + user_list[str(chatId)]["budget"]["category"][category] = str(0) + write_json(user_list) def getSpendCategories(): """ From 068801f02fa817f6d8059f05327c4760acff5478 Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Wed, 11 Oct 2023 18:25:51 -0400 Subject: [PATCH 017/135] Reworked add expense workflow --- code/add.py | 71 +++++++++++++++++++++++++++----------------------- code/helper.py | 2 ++ 2 files changed, 41 insertions(+), 32 deletions(-) diff --git a/code/add.py b/code/add.py index e12ab6967..22debd592 100644 --- a/code/add.py +++ b/code/add.py @@ -18,26 +18,29 @@ def run(message, bot): and bot which is the telegram bot object from the main code.py function. """ helper.read_json() - chat_id = message.chat.id - option.pop(chat_id, None) # remove temp choice markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) markup.row_width = 2 - m = bot.send_message(chat_id, "Do you want to add a new category? Y/N") - bot.register_next_step_handler(m, post_user_def_category, bot) + chat_id = message.chat.id + for c in helper.getSpendCategories(): + markup.add(c) + markup.add("Add new category") + msg = bot.reply_to(message, "Select Category", reply_markup=markup) + bot.register_next_step_handler(msg, post_category_selection, bot) -def post_user_def_category(message, bot): - markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) - markup.row_width = 2 - chat_id = message.chat.id - if str(message.text) == "Y" or str(message.text) == "y": - message1 = bot.send_message(chat_id, "Please enter your category") - bot.register_next_step_handler(message1, post_append_spend, bot) - else: - for c in helper.getSpendCategories(): - markup.add(c) - msg = bot.reply_to(message, "Select Category", reply_markup=markup) - bot.register_next_step_handler(msg, post_category_selection, bot) + +# def post_user_def_category(message, bot): +# markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) +# markup.row_width = 2 +# chat_id = message.chat.id +# if str(message.text) == "Y" or str(message.text) == "y": +# message1 = bot.send_message(chat_id, "Please enter your category") +# bot.register_next_step_handler(message1, post_append_spend, bot) +# else: +# for c in helper.getSpendCategories(): +# markup.add(c) +# msg = bot.reply_to(message, "Select Category", reply_markup=markup) +# bot.register_next_step_handler(msg, post_category_selection, bot) def post_append_spend(message, bot): @@ -67,24 +70,28 @@ def post_category_selection(message, bot): try: chat_id = message.chat.id selected_category = message.text - if selected_category not in helper.getSpendCategories(): - bot.send_message( - chat_id, "Invalid", reply_markup=types.ReplyKeyboardRemove() + if selected_category == "Add new category": + message1 = bot.send_message(chat_id, "Please enter your category") + bot.register_next_step_handler(message1, post_append_spend, bot) + else: + if selected_category not in helper.getSpendCategories(): + bot.send_message( + chat_id, "Invalid", reply_markup=types.ReplyKeyboardRemove() + ) + raise Exception( + 'Sorry I don\'t recognise this category "{}"!'.format(selected_category) + ) + + option[chat_id] = selected_category + message = bot.send_message( + chat_id, + "How much did you spend on {}? \n(Enter numeric values only)".format( + str(option[chat_id]) + ), ) - raise Exception( - 'Sorry I don\'t recognise this category "{}"!'.format(selected_category) + bot.register_next_step_handler( + message, post_amount_input, bot, selected_category ) - - option[chat_id] = selected_category - message = bot.send_message( - chat_id, - "How much did you spend on {}? \n(Enter numeric values only)".format( - str(option[chat_id]) - ), - ) - bot.register_next_step_handler( - message, post_amount_input, bot, selected_category - ) except Exception as e: logging.exception(str(e)) bot.reply_to(message, "Oh no! " + str(e)) diff --git a/code/helper.py b/code/helper.py index 522167e8a..8965ba158 100644 --- a/code/helper.py +++ b/code/helper.py @@ -222,6 +222,8 @@ def calculate_total_spendings(queryResult): def display_remaining_category_budget(message, bot, cat): chat_id = message.chat.id + if not getCategoryBudgetByCategory(chat_id,cat): + updateBudgetCategory(chat_id, cat) remaining_budget = calculateRemainingCategoryBudget(chat_id, cat) if remaining_budget >= 0: msg = "\nRemaining Budget for " + cat + " is $" + str(remaining_budget) From 9ca00caaf23b1c9410b586b8a00cb427a7a90e7c Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Fri, 13 Oct 2023 05:14:19 +0530 Subject: [PATCH 018/135] Update README.md --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8e27f5f57..a9b45d7af 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,10 @@
Table of Contents
    -
  1. Why should you use Dollar Bot?
  2. -
  3. Check out the video!
  4. -
  5. What is new in this version?
  6. +
  7. What's DollarBot? +
  8. Why use DollarBot?
  9. + +
  10. What is new in this version?
  11. Installation
  12. Testing
  13. Code Coverage
  14. From 8bb884f1076e526610f0ff7513f4cf468e3d2201 Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Fri, 13 Oct 2023 05:30:43 +0530 Subject: [PATCH 019/135] Update README.md Installation Steps done --- README.md | 51 +++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 37 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index a9b45d7af..500dab01e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# ๐Ÿ’ฐ MyDollar Bot ๐Ÿ’ฐ +# ๐Ÿ’ฐ Dollar Bot ๐Ÿ’ฐ
    @@ -23,7 +23,7 @@

    Dollar BoT + src="https://s1.mzstatic.com/us/r30/Purple1/v4/de/ab/45/deab454d-8881-b37d-9513-b0e26424cc57/pr_source.png?downloadKey=1425248837_8a393efcc4a821cbf9639d5570f8e966" alt="Dollar Bot">


    @@ -43,9 +43,9 @@
    -## Why should you use MyDollar Bot? +## Why use DollarBot? -Dollar Bot is an easy-to-use Telegram Bot that assists you in recording your daily expenses on a local system without any hassle. +DollarBot is an easy-to-use Telegram Bot that assists you in recording your daily expenses on a local system without any hassle. With simple commands, this bot allows you to: - Add/Record new spendings - Display your spendings through bar graph @@ -58,24 +58,47 @@ With simple commands, this bot allows you to: [![Demo Video](https://i9.ytimg.com/vi/aCjcT1CHAzU/mq3.jpg?sqp=COSotI0G&rs=AOn4CLD34jFIlq6GRdmTnK6p3F8O2F-Yig)](https://youtu.be/aCjcT1CHAzU) -## What is new in this version? +## What's new? + +<#TODO: short description here> Checkout the [this documentation](https://github.com/usmanwardag/dollar_bot/blob/main/docs/Updated_version.pdf) + ## Installation -The below instructions can be followed in order to set-up this bot at your end in a span of few minutes! Let's get started: +#### Pre-requisite: The Telegram Desktop App -1. Clone this repository to your local system. +Since DollarBot is built on top of Telegram, you'll first need: +1. Download the Telegram Desktop Application here. +```https://desktop.telegram.org/``` +2. Create a Telegram account or Sign in. -2. Start a terminal session in the directory where the project has been cloned. Run the following command to install the required dependencies: -``` - pip install -r requirements.txt +Open up your terminal and let's get started: +### MacOS / Ubuntu Users + +1. Clone this repository to your local system. +``` + git clone https://github.com/aditikilledar/dollar_bot_SE23/ +``` +2. Start a terminal session in the directory where the project has been cloned. Run the following command and follow the instructions on-screen to complete the installation. ``` -3. Download and install the Telegram desktop application for your system from the following site: - ``` - https://desktop.telegram.org/ - ``` + bash setup.sh +``` + +There, all done! + +Our bash scripts for installation are easy to run on MacOS or on UNIX terminals. + +### Windows + +With Windows, you'll need to use Cygwin. +Cygwin is: + a large collection of GNU and Open Source tools which provide functionality similar to a Linux distribution on Windows. + a DLL (cygwin1.dll) which provides substantial POSIX API functionality. +(source: cygwin.com) + +Additionally, find more hints on installation here. ## How to run? 1. In Telegram, search for "BotFather". Click on "Start", and enter the following command: From 4caf8eeb1661f2faab7dedfda37c3aac3c83bb5f Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Fri, 13 Oct 2023 05:34:54 +0530 Subject: [PATCH 020/135] Update README.md --- README.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 500dab01e..995013a29 100644 --- a/README.md +++ b/README.md @@ -20,13 +20,6 @@
-
-

-Dollar Bot -

-
- [![ForTheBadge built-with-love](http://ForTheBadge.com/images/badges/built-with-love.svg)](https://GitHub.com/usmanwardag/auto_anki) ![MIT license](https://img.shields.io/badge/License-MIT-green.svg) @@ -43,6 +36,11 @@
+## What's DollarBot? + + +TODO + ## Why use DollarBot? DollarBot is an easy-to-use Telegram Bot that assists you in recording your daily expenses on a local system without any hassle. From 415b1f472669ac80b54c5117ac21e683883efa70 Mon Sep 17 00:00:00 2001 From: Srinath Srinivasan Date: Thu, 12 Oct 2023 21:38:17 -0400 Subject: [PATCH 021/135] pushing initial analytics feat Pushing initial implementation of analytics feature. (Incomplete) --- code/analytics.py | 45 ++++++++++++++++++++++++++++++++++++++++++++ code/code.py | 10 ++++++++++ code/get_analysis.py | 19 +++++++++++++++++++ code/helper.py | 5 +++++ 4 files changed, 79 insertions(+) create mode 100644 code/analytics.py create mode 100644 code/get_analysis.py diff --git a/code/analytics.py b/code/analytics.py new file mode 100644 index 000000000..c05e743c1 --- /dev/null +++ b/code/analytics.py @@ -0,0 +1,45 @@ +import helper +import logging +import types +import get_analysis + +def run(message, bot): + """ + run(message, bot): This is the main function used to implement the budget feature. + It pop ups a menu on the bot asking the user to choose to view analytics + after which control is given to post_operation_selection(message, bot) for further proccessing. + It takes 2 arguments for processing - message which is the message from the user, and bot which is the + telegram bot object from the main code.py function. + """ + markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) + options = helper.getBudgetOptions() + markup.row_width = 2 + for c in options.values(): + markup.add(c) + msg = bot.reply_to(message, "Select the type of analysis (grouped by catefgory):", reply_markup=markup) + bot.register_next_step_handler(msg, post_operation_selection, bot) + +def post_operation_selection(message, bot): + """ + post_operation_selection(message, bot): It takes 2 arguments for processing - message which + is the message from the user, and bot which is the telegram bot object from the + run(message, bot): function in the analytics.py file. Depending on the action chosen by the user, + it passes on control to the corresponding functions which are all located in different files. + """ + try: + chat_id = message.chat.id + op = message.text + options = helper.getAnalyticsOptions() + if op not in options.values(): + bot.send_message( + chat_id, "Invalid", reply_markup=types.ReplyKeyboardRemove() + ) + raise Exception('Sorry I don\'t recognise this operation "{}"!'.format(op)) + if op == options["overall"]: + get_analysis.viewOverallBudget(chat_id, bot) + # elif op == options["spend"]: + # get_analysis.viewSpendWise(chat_id, bot) + # elif op == options["remaining"]: + # get_analysis.viewRemaining(chat_id, bot) + except Exception as e: + helper.throw_exception(e, message, bot, logging) \ No newline at end of file diff --git a/code/code.py b/code/code.py index 10bc43540..bcf8fd208 100644 --- a/code/code.py +++ b/code/code.py @@ -12,6 +12,7 @@ import delete import add import budget +import analytics from datetime import datetime from jproperties import Properties @@ -219,6 +220,15 @@ def command_delete(message): def command_budget(message): budget.run(message, bot) +# handles analytics command +@bot.message_handler(commands=["analytics"]) +def command_analytics(message): + """ + command_analytics(message): Take an argument message with content and chat ID. Calls analytics to + run analytics. Commands to run this commands=["analytics"] + """ + analytics.run(message, bot) + # not used diff --git a/code/get_analysis.py b/code/get_analysis.py new file mode 100644 index 000000000..429ca1893 --- /dev/null +++ b/code/get_analysis.py @@ -0,0 +1,19 @@ +import helper +import logging +import types +import matplotlib.pyplot as plt +import time + +def viewOverallBudget(chat_id, bot): + if not helper.isCategoryBudgetAvailable(): + bot.send_message(chat_id, "No category budget available", reply_markup=types.ReplyKeyboardRemove()) + category_budget = {} + for cat in helper.spend_categories: + category_budget[cat] = helper.getCategoryBudgetByCategory(chat_id, cat) + + fig, ax = plt.subplots() + ax.pie(category_budget.values, labels=category_budget.keys, autopct='%1.1f%%') + random_time = time.time() + img_name = str(random_time)+".png" + plt.savefig(img_name) + bot.send_photo(chat_id, img_name, reply_markup=types.ReplyKeyboardRemove()) diff --git a/code/helper.py b/code/helper.py index 522167e8a..0083532be 100644 --- a/code/helper.py +++ b/code/helper.py @@ -24,6 +24,8 @@ data_format = {"data": [], "budget": {"overall": None, "category": None}} +analytics_options = {"overall": "Overall budget split", "spend": "Split of current spend", "remaining": "Remaining value"} + # set of implemented commands and their description commands = { "help": "Display the list of commands.", @@ -316,3 +318,6 @@ def getBudgetTypes(): def getUpdateOptions(): return update_options + +def getAnalyticsOptions(): + return analytics_options From f353889843f4a51697193f3e472080ed45808008 Mon Sep 17 00:00:00 2001 From: Srinath Srinivasan Date: Thu, 12 Oct 2023 22:08:31 -0400 Subject: [PATCH 022/135] added fix for graph --- code/analytics.py | 6 +++--- code/get_analysis.py | 11 ++++++----- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/code/analytics.py b/code/analytics.py index c05e743c1..ac4a8d722 100644 --- a/code/analytics.py +++ b/code/analytics.py @@ -1,6 +1,6 @@ import helper import logging -import types +from telebot import types import get_analysis def run(message, bot): @@ -12,11 +12,11 @@ def run(message, bot): telegram bot object from the main code.py function. """ markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) - options = helper.getBudgetOptions() + options = helper.getAnalyticsOptions() markup.row_width = 2 for c in options.values(): markup.add(c) - msg = bot.reply_to(message, "Select the type of analysis (grouped by catefgory):", reply_markup=markup) + msg = bot.reply_to(message, "Select the type of analysis (grouped by category):", reply_markup=markup) bot.register_next_step_handler(msg, post_operation_selection, bot) def post_operation_selection(message, bot): diff --git a/code/get_analysis.py b/code/get_analysis.py index 429ca1893..cc6e8f05f 100644 --- a/code/get_analysis.py +++ b/code/get_analysis.py @@ -1,19 +1,20 @@ import helper import logging -import types +from telebot import types import matplotlib.pyplot as plt import time def viewOverallBudget(chat_id, bot): - if not helper.isCategoryBudgetAvailable(): + if not helper.isCategoryBudgetAvailable(chat_id): bot.send_message(chat_id, "No category budget available", reply_markup=types.ReplyKeyboardRemove()) category_budget = {} for cat in helper.spend_categories: - category_budget[cat] = helper.getCategoryBudgetByCategory(chat_id, cat) + if helper.isCategoryBudgetByCategoryAvailable(chat_id, cat): + category_budget[cat] = helper.getCategoryBudgetByCategory(chat_id, cat) fig, ax = plt.subplots() - ax.pie(category_budget.values, labels=category_budget.keys, autopct='%1.1f%%') + ax.pie(category_budget.values(), labels=category_budget.keys(), autopct='%1.1f%%') random_time = time.time() img_name = str(random_time)+".png" plt.savefig(img_name) - bot.send_photo(chat_id, img_name, reply_markup=types.ReplyKeyboardRemove()) + bot.send_photo(chat_id, photo=open(img_name, 'rb'), reply_markup=types.ReplyKeyboardRemove()) \ No newline at end of file From e6ebf55a4483249cab9c67b87b654c88a37cf7ab Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Fri, 13 Oct 2023 10:00:33 -0400 Subject: [PATCH 023/135] implemented suggested changes in add expenses workflow --- code/add.py | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/code/add.py b/code/add.py index 22debd592..e68b7f635 100644 --- a/code/add.py +++ b/code/add.py @@ -28,21 +28,6 @@ def run(message, bot): bot.register_next_step_handler(msg, post_category_selection, bot) - -# def post_user_def_category(message, bot): -# markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) -# markup.row_width = 2 -# chat_id = message.chat.id -# if str(message.text) == "Y" or str(message.text) == "y": -# message1 = bot.send_message(chat_id, "Please enter your category") -# bot.register_next_step_handler(message1, post_append_spend, bot) -# else: -# for c in helper.getSpendCategories(): -# markup.add(c) -# msg = bot.reply_to(message, "Select Category", reply_markup=markup) -# bot.register_next_step_handler(msg, post_category_selection, bot) - - def post_append_spend(message, bot): markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) @@ -79,13 +64,13 @@ def post_category_selection(message, bot): chat_id, "Invalid", reply_markup=types.ReplyKeyboardRemove() ) raise Exception( - 'Sorry I don\'t recognise this category "{}"!'.format(selected_category) + 'Sorry, I don\'t recognise this category "{}"!'.format(selected_category) ) option[chat_id] = selected_category message = bot.send_message( chat_id, - "How much did you spend on {}? \n(Enter numeric values only)".format( + "How much did you spend on {}? \n(Numeric values only)".format( str(option[chat_id]) ), ) From 5f77295cfd2d3f349b5e6428e31ca63e0a9d989c Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Sat, 14 Oct 2023 04:47:18 +0530 Subject: [PATCH 024/135] Update README.md with run_forever instructions --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 995013a29..820320bbd 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@
  • What is new in this version?
  • Installation
  • +
  • For Developers and Future Contributors
  • Testing
  • Code Coverage
  • License
  • @@ -32,7 +33,6 @@ [![GitHub issues](https://img.shields.io/github/issues/sak007/MyDollarBot-BOTGo)](https://github.com/sak007/MyDollarBot-BOTGo/issues?q=is%3Aopen+is%3Aissue) [![GitHub closed issues](https://img.shields.io/github/issues-closed/sak007/MyDollarBot-BOTGo)](https://github.com/sak007/MyDollarBot-BOTGo/issues?q=is%3Aissue+is%3Aclosed) -![Lines of code](https://img.shields.io/tokei/lines/github/sak007/MyDollarBot-BOTGo)
    @@ -126,6 +126,7 @@ A successful run will generate a message on your terminal that says "TeleBot: St ### Run Automatically at Startup To run the script automatically at startup / reboot, simply add the `.run_forever.sh` script to your `.bashrc` file, which executes whenever you reboot your system. +Click here for help adding to .bashrc files. ## Testing From 1ea144ee640d3744f4a43c1a68269d6133e5a165 Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Sat, 14 Oct 2023 04:48:34 +0530 Subject: [PATCH 025/135] Create Developer_ReadMe.md For testing, contribution, code of conduct and other docu not related to setup, running and installation. --- Developer_ReadMe.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Developer_ReadMe.md diff --git a/Developer_ReadMe.md b/Developer_ReadMe.md new file mode 100644 index 000000000..0124c21cd --- /dev/null +++ b/Developer_ReadMe.md @@ -0,0 +1 @@ +# For Developers: By the Developers of DollarBot From 563f0f562cbe451a1c48cf5bd652a0b0904ed57b Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Sat, 14 Oct 2023 05:41:41 +0530 Subject: [PATCH 026/135] Update README.md as only User ReadMe --- README.md | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 820320bbd..e97df9cfd 100644 --- a/README.md +++ b/README.md @@ -4,18 +4,12 @@
    Table of Contents
      -
    1. What's DollarBot? +
    2. What's DollarBot?
    3. Why use DollarBot?
    4. What is new in this version?
    5. Installation
    6. -
    7. For Developers and Future Contributors
    8. -
    9. Testing
    10. -
    11. Code Coverage
    12. -
    13. License
    14. -
    15. Code Documentation
    16. -
    17. How to Contribute
    18. -
    19. Future RoadMap
    20. +
    21. For Developers and Future Contributors
    22. Contributors
    23. Acknowledgements
    From 9b0710527b57b59b5b2f0f28a2d775aedd43e8d7 Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Sat, 14 Oct 2023 05:41:48 +0530 Subject: [PATCH 027/135] Update Developer_ReadMe.md as dev readme --- Developer_ReadMe.md | 50 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/Developer_ReadMe.md b/Developer_ReadMe.md index 0124c21cd..f0f406f0f 100644 --- a/Developer_ReadMe.md +++ b/Developer_ReadMe.md @@ -1 +1,51 @@ # For Developers: By the Developers of DollarBot + +
    + Table of Contents +
      +
    1. Testing
    2. +
    3. Code Coverage
    4. +
    5. License
    6. +
    7. Code Documentation
    8. +
    9. How to Contribute
    10. +
    11. Future RoadMap
    12. +
    +
    + +## Testing + +We use pytest to perform testing on all unit tests together. The command needs to be run from the home directory of the project. The command is: +``` +python run -m pytest test/ +``` + +## Code Coverage + +Code coverage is part of the build. Every time new code is pushed to the repository, the build is run, and along with it, code coverage is computed. This can be viewed by selecting the build, and then choosing the codecov pop-up on hover. + +Locally, we use the coverage package in python for code coverage. The commands to check code coverage in python are as follows: + +``` +coverage run -m pytest test/ +coverage report +``` + +## License + +This project is licensed under the terms of the MIT license. Please check [License](https://github.com/usmanwardag/dollar_bot/blob/main/LICENSE) for more details. + + +## Code Documentation + +Checkout the [docs](https://github.com/sak007/MyDollarBot-BOTGo/tree/main/docs) + +## How to Contribute + +We would be happy to receive contributions! If you'd like to, please go through our [CONTRIBUTING.md](https://github.com/usmanwardag/dollar_bot/blob/main/CONTRIBUTING.md) + +For any feedback, issues, or bug reports, please create an issue [here](https://github.com/usmanwardag/dollar_bot/issues/new). + +## Future RoadMap + +- More content can be added for the way notifications can be displayed on the user front. This can be done to make the UI more interactive. +- Recurring expenses feature can be added for faster addition of expenses instead of following the whole process of everytime. From 3927cfd7b85fcaac351d12ea9649987d50e48488 Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Sat, 14 Oct 2023 05:43:27 +0530 Subject: [PATCH 028/135] Update README.md --- README.md | 42 +++--------------------------------------- 1 file changed, 3 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index e97df9cfd..327663e35 100644 --- a/README.md +++ b/README.md @@ -9,12 +9,14 @@
  • What is new in this version?
  • Installation
  • -
  • For Developers and Future Contributors
  • +
  • Contributors
  • Acknowledgements
  • +Are you a developer? Click here: For Developers and Future Contributors + [![ForTheBadge built-with-love](http://ForTheBadge.com/images/badges/built-with-love.svg)](https://GitHub.com/usmanwardag/auto_anki) ![MIT license](https://img.shields.io/badge/License-MIT-green.svg) @@ -122,44 +124,6 @@ A successful run will generate a message on your terminal that says "TeleBot: St To run the script automatically at startup / reboot, simply add the `.run_forever.sh` script to your `.bashrc` file, which executes whenever you reboot your system. Click here for help adding to .bashrc files. -## Testing - -We use pytest to perform testing on all unit tests together. The command needs to be run from the home directory of the project. The command is: -``` -python run -m pytest test/ -``` - -## Code Coverage - -Code coverage is part of the build. Every time new code is pushed to the repository, the build is run, and along with it, code coverage is computed. This can be viewed by selecting the build, and then choosing the codecov pop-up on hover. - -Locally, we use the coverage package in python for code coverage. The commands to check code coverage in python are as follows: - -``` -coverage run -m pytest test/ -coverage report -``` - -## License - -This project is licensed under the terms of the MIT license. Please check [License](https://github.com/usmanwardag/dollar_bot/blob/main/LICENSE) for more details. - - -## Code Documentation - -Checkout the [docs](https://github.com/sak007/MyDollarBot-BOTGo/tree/main/docs) - -## How to Contribute - -We would be happy to receive contributions! If you'd like to, please go through our [CONTRIBUTING.md](https://github.com/usmanwardag/dollar_bot/blob/main/CONTRIBUTING.md) - -For any feedback, issues, or bug reports, please create an issue [here](https://github.com/usmanwardag/dollar_bot/issues/new). - -## Future RoadMap - -- More content can be added for the way notifications can be displayed on the user front. This can be done to make the UI more interactive. -- Recurring expenses feature can be added for faster addition of expenses instead of following the whole process of everytime. - ## Contributors From 3af44d800bd5d8ed7985c9ab67ba10ed7c06e17f Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Sat, 14 Oct 2023 05:45:34 +0530 Subject: [PATCH 029/135] Update README.md for Table of Contents --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 327663e35..36f9a2ae7 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,7 @@ # ๐Ÿ’ฐ Dollar Bot ๐Ÿ’ฐ -
    - Table of Contents +

    Table of Contents

    1. What's DollarBot?
    2. Why use DollarBot?
    3. @@ -13,7 +12,6 @@
    4. Contributors
    5. Acknowledgements
    -
    Are you a developer? Click here: For Developers and Future Contributors From e2c32024fa03493116b5db35025ec6d978602ff2 Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Fri, 13 Oct 2023 21:23:17 -0400 Subject: [PATCH 030/135] added recurring expenses functionality --- code/add.py | 76 ++++++++++++++++++++++++++++++++++++++++++++++---- code/helper.py | 8 ++++++ 2 files changed, 79 insertions(+), 5 deletions(-) diff --git a/code/add.py b/code/add.py index e68b7f635..1c0e8b05b 100644 --- a/code/add.py +++ b/code/add.py @@ -37,7 +37,7 @@ def post_append_spend(message, bot): allocated_categories = helper.getCategoryBudget(chat_id) if selected_category not in allocated_categories.keys(): helper.updateBudgetCategory(chat_id,selected_category) - helper.spend_categories.append(selected_category) + helper.spend_categories.insert(0,selected_category) for c in helper.getSpendCategories(): markup.add(c) msg = bot.reply_to(message, "Select Category", reply_markup=markup) @@ -68,15 +68,18 @@ def post_category_selection(message, bot): ) option[chat_id] = selected_category - message = bot.send_message( + expense_history = helper.getUserHistoryByCategory(chat_id,selected_category) + if expense_history: + recur_msg = bot.send_message(chat_id,"You have previously recorded expenses in this category. Do you want to repeat one of these expenses?(Y/N)") + bot.register_next_step_handler(recur_msg, record_expense, bot, expense_history) + else: + message = bot.send_message( chat_id, "How much did you spend on {}? \n(Numeric values only)".format( str(option[chat_id]) ), ) - bot.register_next_step_handler( - message, post_amount_input, bot, selected_category - ) + bot.register_next_step_handler(message, post_amount_input, bot, selected_category) except Exception as e: logging.exception(str(e)) bot.reply_to(message, "Oh no! " + str(e)) @@ -93,6 +96,69 @@ def post_category_selection(message, bot): bot.send_message(chat_id, display_text) +def record_expense(message, bot, previous_expenses=None, category=None): + print("In function to record expense") + chat_id = message.chat.id + selection = message.text + print(selection) + if selection == "Y" or selection == "y": + markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) + markup.row_width = 2 + chat_id = message.chat.id + for record in previous_expenses: + markup.add(record) + msg = bot.reply_to(message, "Select the expense you want to repeat", reply_markup=markup) + bot.register_next_step_handler(msg, post_expense_selection, bot) + else: + message = bot.send_message( + chat_id, + "How much did you spend on {}? \n(Numeric values only)".format( + str(option[chat_id]) + ), + ) + bot.register_next_step_handler( + message, post_amount_input, bot, category + ) + +def post_expense_selection(message,bot): + chat_id = message.chat.id + expense_record = message.text + expense_data = expense_record.split(",") + amount = expense_data[2] + category = expense_data[1] + print(amount) + amount_value = helper.validate_entered_amount(amount) # validate + try: + if amount_value == 0: # cannot be $0 spending + raise Exception("Spent amount has to be a non-zero number.") + + date_of_entry = datetime.today().strftime( + helper.getDateFormat() + " " + helper.getTimeFormat() + ) + + date_str, category_str, amount_str = ( + str(date_of_entry), + str(category), + str(amount_value), + ) + + helper.write_json( + add_user_record( + chat_id, "{},{},{}".format(date_str, category_str, amount_str) + ) + ) + + bot.send_message( + chat_id, + "The following expenditure has been recorded: You have spent ${} for {} on {}".format( + amount_str, category_str, date_str + ), + ) + helper.display_remaining_budget(message, bot, category) + except Exception as e: + logging.exception(str(e)) + bot.reply_to(message, "Oh no. " + str(e)) + def post_amount_input(message, bot, selected_category): """ post_amount_input(message, bot): It takes 2 arguments for processing - diff --git a/code/helper.py b/code/helper.py index 8965ba158..640bb9b1d 100644 --- a/code/helper.py +++ b/code/helper.py @@ -109,6 +109,14 @@ def getUserHistory(chat_id): return data["data"] return None +def getUserHistoryByCategory(chat_id, category): + data = getUserHistory(chat_id) + previous_expenses = [] + for record in data: + if f",{category}," in record: + previous_expenses.append(record) + return previous_expenses + def getUserData(chat_id): user_list = read_json() From f5536c9b188e6ebb85b817ad6e2b8a4e8a313694 Mon Sep 17 00:00:00 2001 From: Srinath Srinivasan Date: Sat, 14 Oct 2023 18:05:25 -0400 Subject: [PATCH 031/135] Completed analytics functionality --- code/analytics.py | 8 +++--- code/get_analysis.py | 63 +++++++++++++++++++++++++++++++++++++++++++- code/helper.py | 13 +++++++++ 3 files changed, 79 insertions(+), 5 deletions(-) diff --git a/code/analytics.py b/code/analytics.py index ac4a8d722..bb41c5db1 100644 --- a/code/analytics.py +++ b/code/analytics.py @@ -37,9 +37,9 @@ def post_operation_selection(message, bot): raise Exception('Sorry I don\'t recognise this operation "{}"!'.format(op)) if op == options["overall"]: get_analysis.viewOverallBudget(chat_id, bot) - # elif op == options["spend"]: - # get_analysis.viewSpendWise(chat_id, bot) - # elif op == options["remaining"]: - # get_analysis.viewRemaining(chat_id, bot) + elif op == options["spend"]: + get_analysis.viewSpendWise(chat_id, bot) + elif op == options["remaining"]: + get_analysis.viewRemaining(chat_id, bot) except Exception as e: helper.throw_exception(e, message, bot, logging) \ No newline at end of file diff --git a/code/get_analysis.py b/code/get_analysis.py index cc6e8f05f..01a519160 100644 --- a/code/get_analysis.py +++ b/code/get_analysis.py @@ -3,6 +3,7 @@ from telebot import types import matplotlib.pyplot as plt import time +import numpy as np def viewOverallBudget(chat_id, bot): if not helper.isCategoryBudgetAvailable(chat_id): @@ -12,8 +13,68 @@ def viewOverallBudget(chat_id, bot): if helper.isCategoryBudgetByCategoryAvailable(chat_id, cat): category_budget[cat] = helper.getCategoryBudgetByCategory(chat_id, cat) - fig, ax = plt.subplots() + _, ax = plt.subplots() ax.pie(category_budget.values(), labels=category_budget.keys(), autopct='%1.1f%%') + random_time = time.time() + img_name = str(random_time)+".png" + plt.savefig(img_name) + bot.send_photo(chat_id, photo=open(img_name, 'rb'), reply_markup=types.ReplyKeyboardRemove()) + +def viewSpendWise(chat_id, bot): + category_spend = {} + for cat in helper.spend_categories: + spend = helper.calculate_total_spendings_for_cateogory_chat_id(chat_id,cat) + if spend != 0: + category_spend[cat] = spend + + if category_spend.keys() == None: + bot.send_message(chat_id, "No category spend available", reply_markup=types.ReplyKeyboardRemove()) + + _, ax = plt.subplots() + ax.pie(category_spend.values(), labels=category_spend.keys(), autopct='%1.1f%%') + random_time = time.time() + img_name = str(random_time)+".png" + plt.savefig(img_name) + bot.send_photo(chat_id, photo=open(img_name, 'rb'), reply_markup=types.ReplyKeyboardRemove()) + +def viewRemaining(chat_id, bot): + if not helper.isCategoryBudgetAvailable(chat_id): + bot.send_message(chat_id, "No category budget available", reply_markup=types.ReplyKeyboardRemove()) + + category_spend_percent = {} + for cat in helper.spend_categories: + if helper.isCategoryBudgetByCategoryAvailable(chat_id, cat): + percent = helper.calculateRemainingCateogryBudgetPercent(chat_id, cat) + category_spend_percent[cat] = percent + + labels = tuple(category_spend_percent.keys()) + print(labels) + type(labels) + + remaining_val_list = [100 - x for x in list(category_spend_percent.values())] + + weight_counts = { + "Used": list(category_spend_percent.values()), + "Remaining": remaining_val_list, + } + print(weight_counts) + + width = 0.5 + + _, ax = plt.subplots() + # simply impossible to submit anything other than an np ndarray here + # matplotlib simply fails to recognize shape of any other "array-like" + #object + bottom = np.zeros(len(list(category_spend_percent.values()))) + + for boolean, weight_count in weight_counts.items(): + print(boolean, weight_count) + ax.bar(labels, weight_count, width, label=boolean, bottom=bottom) + bottom += weight_count + + ax.set_title("Category-wise budget consumed") + ax.legend(loc="upper right") + random_time = time.time() img_name = str(random_time)+".png" plt.savefig(img_name) diff --git a/code/helper.py b/code/helper.py index 725b998cb..dac7919e8 100644 --- a/code/helper.py +++ b/code/helper.py @@ -253,6 +253,13 @@ def calculateRemainingCategoryBudget(chat_id, cat): return float(budget) - calculate_total_spendings_for_category(queryResult, cat) +def calculateRemainingCateogryBudgetPercent(chat_id, cat): + budget = getCategoryBudgetByCategory(chat_id, cat) + history = getUserHistory(chat_id) + query = datetime.now().today().strftime(getMonthFormat()) + queryResult = [value for index, value in enumerate(history) if str(query) in value] + + return (calculate_total_spendings_for_category(queryResult, cat)/float(budget))*100 def calculate_total_spendings_for_category(queryResult, cat): total = 0 @@ -263,6 +270,12 @@ def calculate_total_spendings_for_category(queryResult, cat): total = total + float(s[2]) return total +def calculate_total_spendings_for_cateogory_chat_id(chat_id, cat): + history = getUserHistory(chat_id) + query = datetime.now().today().strftime(getMonthFormat()) + queryResult = [value for index, value in enumerate(history) if str(query) in value] + return calculate_total_spendings_for_category(queryResult, cat) + def updateBudgetCategory(chatId, category): user_list = read_json() user_list[str(chatId)]["budget"]["category"][category] = str(0) From 7bc6f4295dff1728381ac41a289a8e5c9c445072 Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Sat, 14 Oct 2023 22:47:46 -0400 Subject: [PATCH 032/135] edit command issue resolved --- code/edit.py | 57 ++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 46 insertions(+), 11 deletions(-) diff --git a/code/edit.py b/code/edit.py index ce0419734..508512c22 100644 --- a/code/edit.py +++ b/code/edit.py @@ -33,10 +33,11 @@ def select_category_to_be_updated(m, bot): for c in selected_data: markup.add(c.strip()) choice = bot.reply_to(m, "What do you want to update?", reply_markup=markup) - bot.register_next_step_handler(choice, enter_updated_data, bot, selected_data) + updated = [] + bot.register_next_step_handler(choice, enter_updated_data, bot, selected_data, updated) -def enter_updated_data(m, bot, selected_data): +def enter_updated_data(m, bot, selected_data, updated): choice1 = "" if m.text is None else m.text markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) @@ -62,27 +63,38 @@ def cal(c): ) elif result: - edit_date(bot, selected_data, result, c.message.chat.id) + edit_date(bot, selected_data, result, c, updated) bot.edit_message_text( f"Date is updated: {result}", c.message.chat.id, c.message.message_id, ) + if "Category" in choice1: - new_cat = bot.reply_to(m, "Please select the new category", reply_markup=markup) - bot.register_next_step_handler(new_cat, edit_cat, bot, selected_data) + bot.register_next_step_handler(new_cat, edit_cat, bot, selected_data, updated) if "Amount" in choice1: new_cost = bot.reply_to( m, "Please type the new cost\n(Enter only numerical value)" ) - bot.register_next_step_handler(new_cost, edit_cost, bot, selected_data) + bot.register_next_step_handler(new_cost, edit_cost, bot, selected_data, updated) + +def update_different_category(m, bot, selected_data, updated): + response = m.text + if response == "Y" or response == "y": + markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) + markup.row_width = 2 + for c in selected_data: + if c not in updated: + markup.add(c.strip()) + choice = bot.reply_to(m, "What do you want to update?", reply_markup=markup) + bot.register_next_step_handler(choice, enter_updated_data, bot, selected_data, updated) -def edit_date(bot, selected_data, result, chat_id): +def edit_date(bot, selected_data, result, c, updated): """ def edit_date(m, bot): It takes 2 arguments for processing - message which is the message from the user, and bot which is the telegram bot object from the @@ -90,8 +102,8 @@ def edit_date(m, bot): It takes 2 arguments for processing - message which is """ user_list = helper.read_json() new_date = str(result) - - chat_id = chat_id + chat_id = c.message.chat.id + m = c.message data_edit = helper.getUserHistory(chat_id) for i in range(len(data_edit)): @@ -109,9 +121,17 @@ def edit_date(m, bot): It takes 2 arguments for processing - message which is user_list[str(chat_id)]["data"] = data_edit helper.write_json(user_list) + new_date_str = "Date=" + new_date + updated.append(new_date_str) + selected_data[0] = new_date_str + if len(updated) == 3: + bot.send_message(m.chat.id, "You have updated all the categories for this expense") + return + resp = bot.send_message(m.chat.id, "Do you want to update another category in this expense?(Y/N)") + bot.register_next_step_handler(resp, update_different_category, bot, selected_data ,updated) -def edit_cat(m, bot, selected_data): +def edit_cat(m, bot, selected_data, updated): """ def edit_cat(m, bot): It takes 2 arguments for processing - message which is the message from the user, and bot which is the telegram bot object from the edit3(m, bot):: function in the @@ -134,10 +154,18 @@ def edit_cat(m, bot): It takes 2 arguments for processing - message which is the user_list[str(chat_id)]["data"] = data_edit helper.write_json(user_list) + new_cat_str = "Category=" + new_cat + updated.append(new_cat_str) + selected_data[1] = new_cat_str bot.reply_to(m, "Category is updated") + if len(updated) == 3: + bot.send_message(m.chat.id, "You have updated all the categories for this expense") + return + resp = bot.send_message(m.chat.id, "Do you want to update another category in this expense?(Y/N)") + bot.register_next_step_handler(resp, update_different_category, bot, selected_data, updated) -def edit_cost(m, bot, selected_data): +def edit_cost(m, bot, selected_data, updated): """ def edit_cost(m, bot): It takes 2 arguments for processing - message which is the message from the user, and bot which is the telegram bot object from the @@ -164,4 +192,11 @@ def edit_cost(m, bot): It takes 2 arguments for processing - message which is th bot.reply_to(m, "Expense amount is updated") else: bot.reply_to(m, "The cost is invalid") + new_cost_str = "Category=" + new_cost + updated.append(new_cost_str) + selected_data[1] = new_cost_str + if len(updated) == 3: + bot.send_message(m.chat.id, "You have updated all the categories for this expense") return + resp = bot.send_message(m.chat.id, "Do you want to update another category in this expense?(Y/N)") + bot.register_next_step_handler(resp, update_different_category, bot, selected_data, updated) From 70079ed3d8dbde57d262ea7def3bdc716efdc978 Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Sat, 14 Oct 2023 23:13:50 -0400 Subject: [PATCH 033/135] edge case bugfix --- code/edit.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/edit.py b/code/edit.py index 508512c22..6973b8b85 100644 --- a/code/edit.py +++ b/code/edit.py @@ -15,7 +15,11 @@ def run(m, bot): chat_id = m.chat.id markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) markup.row_width = 2 - for c in helper.getUserHistory(chat_id): + user_history = helper.getUserHistory(chat_id) + if not user_history: + bot.send_message(chat_id,"You have no previously recorded expenses to modify") + return + for c in user_history: expense_data = c.split(",") str_date = "Date=" + expense_data[0] str_category = ",\t\tCategory=" + expense_data[1] From f900ff2901c128916933e20ce3bc112122d76e04 Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Sun, 15 Oct 2023 20:02:13 +0530 Subject: [PATCH 034/135] Update CONTRIBUTING.md --- CONTRIBUTING.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c9af5982f..49036d79f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,14 +4,11 @@ Follow the set of guidelines below to contribute to MyDollarBot! ## Code of Conduct -This project and everyone participating in it is governed by the [Code of Conduct](https://github.com/usmanwardag/dollar_bot/blob/main/CODE_OF_CONDUCT.md). By participating, you are expected to upload this code. Please report unacceptable behavior to sbose2@ncsu.edu. - -Prerequistes required before starting this project: +This project and everyone participating in it is governed by the [Code of Conduct](https://github.com/usmanwardag/dollar_bot/blob/main/CODE_OF_CONDUCT.md). By participating, you are expected to upload this code. Please report unacceptable behavior to akilled@ncsu.edu. If you like our project and would like to contribue otherwise, please note: -1. This project is created as part of CSC510 Coursework at NC State for Fall'21. -2. If you like to contribute, reach out to the maintainers before creating a branch, to confirm if we're still maintaining the repo. -3. Have good understanding of Python Programming Language and Telegram Bots +2. Reach out to the maintainers before creating a branch, to confirm if we're still maintaining the repo. +3. Have the pre-requisites: Knowledge of Python and working with Telegram Bots. ## How can I Contribute - From fd35e638a963528596c113a72c4560da701af180 Mon Sep 17 00:00:00 2001 From: Aditi Killedar Date: Sun, 15 Oct 2023 11:03:40 -0400 Subject: [PATCH 035/135] Incorporated review recommendations --- CODE_OF_CONDUCT.md | 2 ++ CONTRIBUTING.md | 21 +++++++++++++++++---- Developer_ReadMe.md | 6 +++--- Project Iteration 2 - New Features.pdf | Bin 361928 -> 0 bytes README.md | 23 +++++++++++++++-------- 5 files changed, 37 insertions(+), 15 deletions(-) delete mode 100644 Project Iteration 2 - New Features.pdf diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index ff82f7f5a..35d2e5dcc 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -126,3 +126,5 @@ enforcement ladder](https://github.com/mozilla/diversity). For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations. + +We hope to see all contributions to our repository strictly adhereing to our code of conduct detailed above, to make contributions to DollarBot safe and welcoming. \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 49036d79f..565e15297 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,14 +1,27 @@ -# Contributing to MyDollarBot +# Contributing to DollarBot -Follow the set of guidelines below to contribute to MyDollarBot! +Follow the set of guidelines below to contribute to DollarBot! ## Code of Conduct +<<<<<<< HEAD This project and everyone participating in it is governed by the [Code of Conduct](https://github.com/usmanwardag/dollar_bot/blob/main/CODE_OF_CONDUCT.md). By participating, you are expected to upload this code. Please report unacceptable behavior to akilled@ncsu.edu. If you like our project and would like to contribue otherwise, please note: 2. Reach out to the maintainers before creating a branch, to confirm if we're still maintaining the repo. 3. Have the pre-requisites: Knowledge of Python and working with Telegram Bots. +======= +This project and everyone participating in it is governed by the [Code of Conduct](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/CODE_OF_CONDUCT.md). By participating, you are expected to upload this code. Please report unacceptable behavior to akilled@ncsu.edu. + +Note that this project is created as part of CSC510 Coursework at NC State for Fall'21. + +Prerequistes required before starting this project: +- Working Python Knowledge +- Some knowledge of Telegram Bots + +If you like our project and would like to contribue otherwise, please note: +Before creating a branch, reach out to the maintainers to confirm if the reposityory is still being actively maintained. +>>>>>>> b7845db (Incorporated review recommendations) ## How can I Contribute - @@ -38,7 +51,7 @@ A cursory search is necessary to check if the reported bug is already mentioned ## To Submit A Good Bug Report -[GitHub issues](https://github.com/usmanwardag/dollar_bot/issues) You can track the bugs from this. For the repository that has bug, create an issue and fill out [the template](https://github.com/atom/.github/blob/master/.github/ISSUE_TEMPLATE/bug_report.md) to give details of the bug. +[GitHub issues](https://github.com/aditikilledar/dollar_bot_SE23/issues) You can track the bugs from this. For the repository that has bug, create an issue and fill out [this template](https://github.com/atom/.github/blob/master/.github/ISSUE_TEMPLATE/bug_report.md) or our in-repo template to give details of the bug. * To identify the problem, give the issue a clear and informative term.
    @@ -67,7 +80,7 @@ Check out this [debugging guide](https://flight-manual.atom.io/hacking-atom/sect ## To Submit A Good Enhancement Suggestion -[GitHub issues](https://github.com/usmanwardag/dollar_bot/issues) You can track the bugs from this. For the repository that has bug, create an issue and fill out [the template](https://github.com/atom/.github/blob/master/.github/ISSUE_TEMPLATE/bug_report.md) to give details of the bug. +[GitHub issues](https://github.com/aditikilledar/dollar_bot_SE23/issues) You can track the bugs from this. For the repository that has bug, create an issue and fill out [the template](https://github.com/atom/.github/blob/master/.github/ISSUE_TEMPLATE/bug_report.md or our in-repo enhancement template to give details of the bug. * To identify the problem, give the issue a clear and informative term.
    * Describe in as much detail as possible to duplicate the problem. Explain the problem and explain about the exact command sused in the terminal which caus ethe bug to occur. diff --git a/Developer_ReadMe.md b/Developer_ReadMe.md index f0f406f0f..bcbcb3cac 100644 --- a/Developer_ReadMe.md +++ b/Developer_ReadMe.md @@ -37,13 +37,13 @@ This project is licensed under the terms of the MIT license. Please check [Licen ## Code Documentation -Checkout the [docs](https://github.com/sak007/MyDollarBot-BOTGo/tree/main/docs) +Checkout the [docs](https://github.com/aditikilledar/dollar_bot_SE23/tree/main/docs) for a detailed explanation of each functionality and the expected working along with code file location. ## How to Contribute -We would be happy to receive contributions! If you'd like to, please go through our [CONTRIBUTING.md](https://github.com/usmanwardag/dollar_bot/blob/main/CONTRIBUTING.md) +We would be happy to receive contributions! If you'd like to, please go through our [CONTRIBUTING.md](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/CONTRIBUTING.md) -For any feedback, issues, or bug reports, please create an issue [here](https://github.com/usmanwardag/dollar_bot/issues/new). +For any feedback, issues, or bug reports, please create an issue [here](https://github.com/aditikilledar/dollar_bot_SE23/issues/new/choose). ## Future RoadMap diff --git a/Project Iteration 2 - New Features.pdf b/Project Iteration 2 - New Features.pdf deleted file mode 100644 index fe04beb0637231396bd0c7f999108c12d2ca5127..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 361928 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

    a5aC-ZC!x7*gwL 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%0D~dB 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 P2)HC2AD_B`2HpP$=}s>c diff --git a/README.md b/README.md index 36f9a2ae7..dcd726005 100644 --- a/README.md +++ b/README.md @@ -32,19 +32,20 @@ Are you a developer? Click here: For Developers ## What's DollarBot? - -TODO +DollarBot is a handy little bot built on top of Telegram, to help you with daily expense tracking and analytics on your past spends. + +It's easy to setup, run and use on a daily basis! ## Why use DollarBot? -DollarBot is an easy-to-use Telegram Bot that assists you in recording your daily expenses on a local system without any hassle. -With simple commands, this bot allows you to: +With simple in-chat commands, this bot helps you: - Add/Record new spendings -- Display your spendings through bar graph +- Display your spendings through engaging graphs - Show the sum of your expenditure for the current day/month - Display your spending history - Clear/Erase all your records - Edit/Change any spending details if you wish to +- View Analytics and export as csv ## Check out the video! @@ -52,13 +53,19 @@ With simple commands, this bot allows you to: ## What's new? -<#TODO: short description here> +We've considerably extended this project to make using DollarBot easy and engaging. +1. Clearer wording in the documentation. +2. Expressive Graphs +3. Budget Creation Updated +4. Analytics +5. Clearer PDF Reports +6. CSV Reports for Analytics use -Checkout the [this documentation](https://github.com/usmanwardag/dollar_bot/blob/main/docs/Updated_version.pdf) +Check [this documentation out](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/docs/Whats_new.pdf) for an in-depth depiction of our changes. :) ## Installation -#### Pre-requisite: The Telegram Desktop App +### Pre-requisite: The Telegram Desktop App Since DollarBot is built on top of Telegram, you'll first need: 1. Download the Telegram Desktop Application here. From 5ac6a08abd19624703864793475f77fc22799732 Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Sun, 15 Oct 2023 11:12:16 -0400 Subject: [PATCH 036/135] recurring expenses bugfix --- code/add.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/add.py b/code/add.py index 1c0e8b05b..a9184d744 100644 --- a/code/add.py +++ b/code/add.py @@ -96,7 +96,7 @@ def post_category_selection(message, bot): bot.send_message(chat_id, display_text) -def record_expense(message, bot, previous_expenses=None, category=None): +def record_expense(message, bot, previous_expenses): print("In function to record expense") chat_id = message.chat.id selection = message.text @@ -117,7 +117,7 @@ def record_expense(message, bot, previous_expenses=None, category=None): ), ) bot.register_next_step_handler( - message, post_amount_input, bot, category + message, post_amount_input, bot, option[chat_id] ) def post_expense_selection(message,bot): From ae7632885cee46cc576066a316fa5de8be806168 Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Sun, 15 Oct 2023 11:19:40 -0400 Subject: [PATCH 037/135] recurring expense workflow changed --- code/add.py | 46 +++++++++++++++++++++------------------------- 1 file changed, 21 insertions(+), 25 deletions(-) diff --git a/code/add.py b/code/add.py index a9184d744..d0a995085 100644 --- a/code/add.py +++ b/code/add.py @@ -21,11 +21,16 @@ def run(message, bot): markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) markup.row_width = 2 chat_id = message.chat.id - for c in helper.getSpendCategories(): - markup.add(c) - markup.add("Add new category") - msg = bot.reply_to(message, "Select Category", reply_markup=markup) - bot.register_next_step_handler(msg, post_category_selection, bot) + expense_history = helper.getUserHistory(chat_id) + if expense_history: + recur_msg = bot.send_message(chat_id,"You have previously recorded expenses. Do you want to repeat one of these expenses?(Y/N)") + bot.register_next_step_handler(recur_msg, record_expense, bot, expense_history) + else: + for c in helper.getSpendCategories(): + markup.add(c) + markup.add("Add new category") + msg = bot.reply_to(message, "Select Category", reply_markup=markup) + bot.register_next_step_handler(msg, post_category_selection, bot) def post_append_spend(message, bot): @@ -68,18 +73,13 @@ def post_category_selection(message, bot): ) option[chat_id] = selected_category - expense_history = helper.getUserHistoryByCategory(chat_id,selected_category) - if expense_history: - recur_msg = bot.send_message(chat_id,"You have previously recorded expenses in this category. Do you want to repeat one of these expenses?(Y/N)") - bot.register_next_step_handler(recur_msg, record_expense, bot, expense_history) - else: - message = bot.send_message( + message = bot.send_message( chat_id, "How much did you spend on {}? \n(Numeric values only)".format( str(option[chat_id]) ), - ) - bot.register_next_step_handler(message, post_amount_input, bot, selected_category) + ) + bot.register_next_step_handler(message, post_amount_input, bot, selected_category) except Exception as e: logging.exception(str(e)) bot.reply_to(message, "Oh no! " + str(e)) @@ -101,24 +101,20 @@ def record_expense(message, bot, previous_expenses): chat_id = message.chat.id selection = message.text print(selection) + markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) + markup.row_width = 2 + chat_id = message.chat.id if selection == "Y" or selection == "y": - markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) - markup.row_width = 2 - chat_id = message.chat.id for record in previous_expenses: markup.add(record) msg = bot.reply_to(message, "Select the expense you want to repeat", reply_markup=markup) bot.register_next_step_handler(msg, post_expense_selection, bot) else: - message = bot.send_message( - chat_id, - "How much did you spend on {}? \n(Numeric values only)".format( - str(option[chat_id]) - ), - ) - bot.register_next_step_handler( - message, post_amount_input, bot, option[chat_id] - ) + for c in helper.getSpendCategories(): + markup.add(c) + markup.add("Add new category") + msg = bot.reply_to(message, "Select Category", reply_markup=markup) + bot.register_next_step_handler(msg, post_category_selection, bot) def post_expense_selection(message,bot): chat_id = message.chat.id From 98de49d44a095f2c2ee2fea41df116a46504cf80 Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Sun, 15 Oct 2023 11:21:10 -0400 Subject: [PATCH 038/135] delete implementation changed --- code/delete.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/delete.py b/code/delete.py index 691d61ebe..02586471a 100644 --- a/code/delete.py +++ b/code/delete.py @@ -33,6 +33,6 @@ def deleteHistory(chat_id): global user_list if str(chat_id) in user_list: user_list[str(chat_id)]["data"] = [] - user_list[str(chat_id)]["budget"]["overall"] = None - user_list[str(chat_id)]["budget"]["category"] = None + user_list[str(chat_id)]["budget"]["overall"] = str(0) + user_list[str(chat_id)]["budget"]["category"] = {} return user_list From f96f75bb68ad32f2acd17e9226c3ba220cf723be Mon Sep 17 00:00:00 2001 From: Aditi Killedar Date: Sun, 15 Oct 2023 12:25:03 -0400 Subject: [PATCH 039/135] windows install steps - review incorporated --- README.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index dcd726005..a9a428b1d 100644 --- a/README.md +++ b/README.md @@ -91,13 +91,12 @@ Our bash scripts for installation are easy to run on MacOS or on UNIX terminals. ### Windows -With Windows, you'll need to use Cygwin. -Cygwin is: - a large collection of GNU and Open Source tools which provide functionality similar to a Linux distribution on Windows. - a DLL (cygwin1.dll) which provides substantial POSIX API functionality. -(source: cygwin.com) +With Windows, you'll need to use a platform to execute UNIX-like commands in order to execute the setup.sh bash script. + +We've used Cygwin, but there are more options like WSL that you can explore. + +Additionally, find more hints on Cygwin installation here. -Additionally, find more hints on installation here. ## How to run? 1. In Telegram, search for "BotFather". Click on "Start", and enter the following command: From d030382fb8d90e7d3f6ca950044b2819a1a86229 Mon Sep 17 00:00:00 2001 From: Aditi Killedar Date: Sun, 15 Oct 2023 12:39:50 -0400 Subject: [PATCH 040/135] botfather resolved --- README.md | 47 +++++++++++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index a9a428b1d..e4fe05f67 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ We've considerably extended this project to make using DollarBot easy and engagi Check [this documentation out](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/docs/Whats_new.pdf) for an in-depth depiction of our changes. :) -## Installation +## Installation & Setup ### Pre-requisite: The Telegram Desktop App @@ -80,48 +80,59 @@ Open up your terminal and let's get started: ``` git clone https://github.com/aditikilledar/dollar_bot_SE23/ ``` -2. Start a terminal session in the directory where the project has been cloned. Run the following command and follow the instructions on-screen to complete the installation. +2. Start a terminal session in the directory where the project has been cloned. Run the following commands and follow the instructions on-screen to complete the installation. ``` + chmod a+x setup.sh bash setup.sh ``` - There, all done! -Our bash scripts for installation are easy to run on MacOS or on UNIX terminals. +The installation is easy for MacOS or on UNIX terminals. ### Windows -With Windows, you'll need to use a platform to execute UNIX-like commands in order to execute the setup.sh bash script. +With Windows, you'll need to use a platform to execute UNIX-like commands in order to execute the setup.sh bash script. Once in the platform, use the steps in the MacOS/Unix Section above to setup DollarBot. We've used Cygwin, but there are more options like WSL that you can explore. Additionally, find more hints on Cygwin installation here. -## How to run? +## Running DollarBot: + +Once you've executed setup.sh, and all dependencies have been installed, you can start running DollarBot by following these instructions. -1. In Telegram, search for "BotFather". Click on "Start", and enter the following command: +1. Open the Telegram Desktop Application and sign in. Once inside Telegram, search for "BotFather". Click on "Start", and enter the following command: ``` /newbot ``` -2. Follow the instructions on screen and choose a name for your bot (e.g., `dollarbot`). After this, select a username for your bot that ends with "bot". The username has to be unique. +2. Follow the instructions on screen and choose a name for your bot (e.g., `dollarbot`). After this, select a UNIQUE username for your bot that ends with "bot", for example: `dollarbot_`. -3. BotFather will now confirm the creation of your bot and provide a TOKEN to access the HTTP API - copy and save this token for future use. +3. BotFather will now confirm the creation of your bot and provide a TOKEN to access the HTTP API - copy and save this token for future use. Make sure you save this tokenโ€“ don't lose it! -4. In the repo directory (where you cloned it), run these commands to (i) grant execution access to a bash script, and (ii) execute that bash script to run the Telegram Bot: -``` - chmod a+x run.sh - ./run.sh -``` +4. In the repo directory (where you cloned it), run these commands. + +(a) grant execution access to a bash script + ``` + chmod a+x run.sh + ``` + +(b) execute the run.sh bash script to start DollarBot -(OR) +###### MacOS / Unix ``` - chmod a+x run.sh bash run.sh ``` -```Note```: It will ask you to paste the API token you received from Telegram in step 4. +###### Windows +``` + ./run.sh +``` + +```Note```: It will ask you to paste the API token you received from Telegram while creating your bot (Step 3), so keep that handy. A successful run will generate a message on your terminal that says "TeleBot: Started polling." -5. In the Telegram app, search for your newly created bot by entering the username and open the same. Now, on Telegram, enter the "/start" or "menu" command, and you are all set to track your expenses! +5. In the Telegram app, search for your newly created bot by entering your UNIQUE username and open the bot you created. + +6. Now, on Telegram, enter the "/start" or "menu" command, and you are all set to track your expenses! ### Run Automatically at Startup From 768b7c212e5ca6b9f4a1944d64e1d8a0ba512828 Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Sun, 15 Oct 2023 22:17:55 +0530 Subject: [PATCH 041/135] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e4fe05f67..4a76f17a1 100644 --- a/README.md +++ b/README.md @@ -6,14 +6,14 @@

  • What's DollarBot?
  • Why use DollarBot?
  • -
  • What is new in this version?
  • -
  • Installation
  • +
  • What's new in this version?
  • +
  • Installation and Setup
  • Contributors
  • Acknowledgements
  • -Are you a developer? Click here: For Developers and Future Contributors +Are you a developer? Click here: For Developers and Future Contributors [![ForTheBadge built-with-love](http://ForTheBadge.com/images/badges/built-with-love.svg)](https://GitHub.com/usmanwardag/auto_anki) @@ -63,7 +63,7 @@ We've considerably extended this project to make using DollarBot easy and engagi Check [this documentation out](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/docs/Whats_new.pdf) for an in-depth depiction of our changes. :) -## Installation & Setup +## Installation and Setup ### Pre-requisite: The Telegram Desktop App From 101e16296c8c54824a3f6d69c8f56caf814c1ac1 Mon Sep 17 00:00:00 2001 From: Aditi Killedar Date: Sun, 15 Oct 2023 22:36:19 -0400 Subject: [PATCH 042/135] Fixed typo in contributing --- CONTRIBUTING.md | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 565e15297..56a4ccb73 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,16 +4,9 @@ Follow the set of guidelines below to contribute to DollarBot! ## Code of Conduct -<<<<<<< HEAD -This project and everyone participating in it is governed by the [Code of Conduct](https://github.com/usmanwardag/dollar_bot/blob/main/CODE_OF_CONDUCT.md). By participating, you are expected to upload this code. Please report unacceptable behavior to akilled@ncsu.edu. - -If you like our project and would like to contribue otherwise, please note: -2. Reach out to the maintainers before creating a branch, to confirm if we're still maintaining the repo. -3. Have the pre-requisites: Knowledge of Python and working with Telegram Bots. -======= This project and everyone participating in it is governed by the [Code of Conduct](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/CODE_OF_CONDUCT.md). By participating, you are expected to upload this code. Please report unacceptable behavior to akilled@ncsu.edu. -Note that this project is created as part of CSC510 Coursework at NC State for Fall'21. +Note that this project is created as part of CSC 510 Coursework at NC State University for Fall'23. Prerequistes required before starting this project: - Working Python Knowledge @@ -21,7 +14,6 @@ Prerequistes required before starting this project: If you like our project and would like to contribue otherwise, please note: Before creating a branch, reach out to the maintainers to confirm if the reposityory is still being actively maintained. ->>>>>>> b7845db (Incorporated review recommendations) ## How can I Contribute - From dc98c79bcfbd1b81fe80e29f09edfd6f3ca82a40 Mon Sep 17 00:00:00 2001 From: Aditi Killedar Date: Sun, 15 Oct 2023 23:05:33 -0400 Subject: [PATCH 043/135] Added templates for sample ccode and pic/gif showing execution --- Developer_ReadMe.md | 2 +- README.md | 32 ++++++++++++++++++++++++-------- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/Developer_ReadMe.md b/Developer_ReadMe.md index bcbcb3cac..cb0a56d67 100644 --- a/Developer_ReadMe.md +++ b/Developer_ReadMe.md @@ -1,4 +1,4 @@ -# For Developers: By the Developers of DollarBot +# For Developers: From the Developers of DollarBot
    Table of Contents diff --git a/README.md b/README.md index 4a76f17a1..b61ef579a 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@
  • What's new in this version?
  • Installation and Setup
  • - +
  • Functionalities
  • Contributors
  • Acknowledgements
  • @@ -139,19 +139,35 @@ A successful run will generate a message on your terminal that says "TeleBot: St To run the script automatically at startup / reboot, simply add the `.run_forever.sh` script to your `.bashrc` file, which executes whenever you reboot your system. Click here for help adding to .bashrc files. +### Functionalities + +#### Add + +#### Budget + +#### Delete + +#### Edit + +#### Estimate + +#### Graphing and Analytics + +#### Helper + +#### History + + ## Contributors
    - - - - - + + + +

    Usman Khan

    Aakriti Aakriti


    Suneha Bose


    Muskan Gupta


    Kriti Khullar


    Aditi Killedar

    Shashank Madan


    Srinath Srinivasan


    Aditya Iyer

    - - ## Acknowledgements - We would like to express our gratitude ๐Ÿ™๐Ÿป and a big thank you ๐Ÿ˜‡ to Prof. Dr. Timothy Menzie for giving us the opportunity to get into the shoes of software building and learning new skills and development process throught the project building. From ad47008dea0c760549f02806ce10ad081bf4d780 Mon Sep 17 00:00:00 2001 From: Aditi Killedar Date: Sun, 15 Oct 2023 23:09:26 -0400 Subject: [PATCH 044/135] Added templates for sample ccode and pic/gif showing execution --- README.md | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index b61ef579a..fe41bb43e 100644 --- a/README.md +++ b/README.md @@ -139,23 +139,30 @@ A successful run will generate a message on your terminal that says "TeleBot: St To run the script automatically at startup / reboot, simply add the `.run_forever.sh` script to your `.bashrc` file, which executes whenever you reboot your system. Click here for help adding to .bashrc files. -### Functionalities +## Functionalities -#### Add +Here's a quick overview of how each of the commands work. Also see: Link at the end of each example for a more detailed version of the documentation. -#### Budget +### Add -#### Delete +``` add example add code here ``` +[insert a GIF showing how to run here] -#### Edit +(More here.)[https://github.com/aditikilledar/dollar_bot_SE23/blob/docu-merging-scattered-docs/docs/add.md] -#### Estimate +### Budget -#### Graphing and Analytics +### Delete -#### Helper +### Edit -#### History +### Estimate + +### Graphing and Analytics + +### Helper + +### History ## Contributors From d364bf67fd7e61679e98bb524eb74f218087e537 Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Sun, 15 Oct 2023 23:50:58 -0400 Subject: [PATCH 045/135] initial commit for predict budget feature --- code/code.py | 8 ++++++ code/predict.py | 70 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 code/predict.py diff --git a/code/code.py b/code/code.py index bcf8fd208..5b90e3957 100644 --- a/code/code.py +++ b/code/code.py @@ -13,6 +13,7 @@ import add import budget import analytics +import predict from datetime import datetime from jproperties import Properties @@ -229,6 +230,13 @@ def command_analytics(message): """ analytics.run(message, bot) +@bot.message_handler(commands=["predict"]) +def command_predict(message): + """ + command_predict(message): Take an argument message with content and chat ID. Calls predict to + analyze budget and spending trends and suggest a future budget. Commands to run this commands=["predict"] + """ + predict.run(message, bot) # not used diff --git a/code/predict.py b/code/predict.py new file mode 100644 index 000000000..e9e0664eb --- /dev/null +++ b/code/predict.py @@ -0,0 +1,70 @@ +# average expenses by max no. of days between expenes, extrapolate to one month +# minimum 2 expenses in category to predict category wise +# minimum 2 expenses overall to predict overall budget +# factor in savings after extrapolation + +import time +import helper +import logging +from telebot import types + +# === Documentation of predict.py === + + +def run(message, bot): + """ + run(message, bot): This is the main function used to implement the predict feature. + It takes 2 arguments for processing - message which is the message from the user, and + bot which is the telegram bot object from the main code.py function. + """ + helper.read_json() + chat_id = message.chat.id + history = helper.getUserHistory(chat_id) + if history is None or len(history) < 2: + bot.send_message( + chat_id, "Sorry, you do not have sufficient spending records to predict a future budget" + ) + else: + bot.register_next_step_handler(message, predict_total, bot) + + +def predict_total(message, bot): + """ + estimate_total(message, bot): It takes 2 arguments for processing - message which is the message + from the user, and bot which is the telegram bot object from the run(message, bot): function in the + same file. This function loads the user's data using the helper file's getUserHistory(chat_id) method. + After this, depending on the option user has chosen on the UI, it calls the calculate_estimate(queryResult, + days_to_estimate): to process the queried data to return to the user after which it finally passes the data to + the UI for the user to view. + """ + try: + chat_id = message.chat.id + + history = helper.getUserHistory(chat_id) + + bot.send_message(chat_id, "Hold on! Calculating...") + # show the bot "typing" (max. 5 secs) + bot.send_chat_action(chat_id, "typing") + time.sleep(0.5) + budget = helper.getOverallBudget(chat_id) + + except Exception as e: + logging.exception(str(e)) + bot.reply_to(message, str(e)) + + +def predict_category_spending(history): + """ + predict_category_spending(history): Takes 1 arguments for processing - history + which is the record of all expenses from a category. It parses the history + and turns it into a form suitable for display on the UI by the user. + """ + #todo + +def predict_overall_spending(history): + """ + predict_overall_spending(history): Takes 1 arguments for processing - history + which is the record of all expenses of the user. It parses the history + and turns it into a form suitable for display on the UI by the user. + """ + #todo From 15a2c6f86cf8c022f75280b703a47487d4e62290 Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Mon, 16 Oct 2023 18:59:11 -0400 Subject: [PATCH 046/135] delete function refactored --- code/budget_delete.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/budget_delete.py b/code/budget_delete.py index a4462563c..e3062ab59 100644 --- a/code/budget_delete.py +++ b/code/budget_delete.py @@ -16,7 +16,7 @@ def run(message, bot): user_list = helper.read_json() print(user_list) if str(chat_id) in user_list: - user_list[str(chat_id)]["budget"]["overall"] = None - user_list[str(chat_id)]["budget"]["category"] = None + user_list[str(chat_id)]["budget"]["overall"] = str(0) + user_list[str(chat_id)]["budget"]["category"] = {} helper.write_json(user_list) bot.send_message(chat_id, "Budget deleted!") From b073001c64cfc2a5e60d6760fd1f288ce3524cc2 Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Mon, 16 Oct 2023 19:05:58 -0400 Subject: [PATCH 047/135] helper functions refactored acc to delete modifications --- code/helper.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/code/helper.py b/code/helper.py index dac7919e8..6dda364ab 100644 --- a/code/helper.py +++ b/code/helper.py @@ -160,27 +160,35 @@ def getCategoryBudgetByCategory(chatId, cat): def canAddBudget(chatId): - return (getOverallBudget(chatId) is None) and (getCategoryBudget(chatId) is None) + overall_budget = getOverallBudget(chatId) + category_budget = getCategoryBudget(chatId) + return (overall_budget is None and overall_budget != '0') and (category_budget is None and category_budget != {}) def isOverallBudgetAvailable(chatId): - return getOverallBudget(chatId) is not None + overall_budget = getOverallBudget(chatId) + if overall_budget is not None and overall_budget != '0': + return True + return False def isCategoryBudgetAvailable(chatId): - return getCategoryBudget(chatId) is not None + category_budget = getCategoryBudget(chatId) + if category_budget is not None and category_budget != {}: + return True + return False def isCategoryBudgetByCategoryAvailable(chatId, cat): data = getCategoryBudget(chatId) - if data is None: + if data is None or data == {}: return False return cat in data.keys() def get_uncategorized_amount(chatId, amount): overall_budget = float(amount) category_budget_data = getCategoryBudget(chatId) - if category_budget_data is None: + if category_budget_data is None or category_budget_data == {}: return amount category_budget = 0 for c in category_budget_data.values(): From efbfb94e9a3ad225e6682b18411c04c932a58fa1 Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Mon, 16 Oct 2023 20:21:13 -0400 Subject: [PATCH 048/135] date formatting changed --- code/edit.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/edit.py b/code/edit.py index 6973b8b85..aead68037 100644 --- a/code/edit.py +++ b/code/edit.py @@ -1,6 +1,7 @@ import helper from telebot import types from telegram_bot_calendar import DetailedTelegramCalendar, LSTEP +from datetime import datetime # === Documentation of edit.py === @@ -105,7 +106,7 @@ def edit_date(m, bot): It takes 2 arguments for processing - message which is edit3(m, bot):: function in the same file. It takes care of date change and edits. """ user_list = helper.read_json() - new_date = str(result) + new_date = datetime.strftime(result, helper.getDateFormat()) chat_id = c.message.chat.id m = c.message data_edit = helper.getUserHistory(chat_id) From dcfbea5ee8832d2617bc87a4abdd5b98d6d1f80f Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Mon, 16 Oct 2023 20:36:50 -0400 Subject: [PATCH 049/135] added category-wise spend estimation --- code/predict.py | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/code/predict.py b/code/predict.py index e9e0664eb..c4328cc9f 100644 --- a/code/predict.py +++ b/code/predict.py @@ -7,6 +7,7 @@ import helper import logging from telebot import types +from datetime import datetime # === Documentation of predict.py === @@ -25,7 +26,7 @@ def run(message, bot): chat_id, "Sorry, you do not have sufficient spending records to predict a future budget" ) else: - bot.register_next_step_handler(message, predict_total, bot) + predict_total(message,bot) def predict_total(message, bot): @@ -39,27 +40,41 @@ def predict_total(message, bot): """ try: chat_id = message.chat.id - history = helper.getUserHistory(chat_id) - + available_categories = helper.getAvailableCategories(history) + category_wise_history = helper.getCategoryWiseSpendings(available_categories,history) bot.send_message(chat_id, "Hold on! Calculating...") # show the bot "typing" (max. 5 secs) bot.send_chat_action(chat_id, "typing") time.sleep(0.5) budget = helper.getOverallBudget(chat_id) + category_spendings = {} + for category in available_categories: + category_spendings[category] = predict_category_spending(category_wise_history[category]) except Exception as e: logging.exception(str(e)) bot.reply_to(message, str(e)) -def predict_category_spending(history): +def predict_category_spending(category_history): """ - predict_category_spending(history): Takes 1 arguments for processing - history + predict_category_spending(history): Takes 1 arguments for processing - category_history which is the record of all expenses from a category. It parses the history and turns it into a form suitable for display on the UI by the user. """ - #todo + if len(category_history) < 2: + return 'Not enough records to predict spendings' + total_spent = 0 + recorded_days = [] + for record in category_history: + total_spent += float(record.split(',')[2]) + date = datetime.strptime(record.split(',')[0].split(' ')[0], helper.getDateFormat()) + recorded_days.append(date) + day_difference = int((recorded_days[0] - recorded_days[-1]).days) + 1 + avg_per_day = total_spent/day_difference + predicted_spending = avg_per_day * 30 + return round(predicted_spending,2) def predict_overall_spending(history): """ From 18a2892358537646621ff83a0c2a74547e9e9109 Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Mon, 16 Oct 2023 20:38:20 -0400 Subject: [PATCH 050/135] added necessary helper functions --- code/helper.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/code/helper.py b/code/helper.py index 6dda364ab..be112830c 100644 --- a/code/helper.py +++ b/code/helper.py @@ -289,6 +289,23 @@ def updateBudgetCategory(chatId, category): user_list[str(chatId)]["budget"]["category"][category] = str(0) write_json(user_list) +def getAvailableCategories(history): + available_categories = set() + for record in history: + available_categories.add(record.split(',')[1]) + return available_categories + +def getCategoryWiseSpendings(available_categories, history): + category_wise_history = {} + for cat in available_categories: + for record in history: + if cat in record: + if cat in category_wise_history.keys(): + category_wise_history[cat].append(record) + else: + category_wise_history[cat] = [record] + return category_wise_history + def getSpendCategories(): """ getSpendCategories(): This functions returns the spend categories used in the bot. These are defined the same file. From e5001c30be50fb30897dba7c242da8851b04d665 Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Mon, 16 Oct 2023 20:38:55 -0400 Subject: [PATCH 051/135] empty check bugfixes --- code/get_analysis.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/get_analysis.py b/code/get_analysis.py index 01a519160..95e1871d6 100644 --- a/code/get_analysis.py +++ b/code/get_analysis.py @@ -8,6 +8,7 @@ def viewOverallBudget(chat_id, bot): if not helper.isCategoryBudgetAvailable(chat_id): bot.send_message(chat_id, "No category budget available", reply_markup=types.ReplyKeyboardRemove()) + return category_budget = {} for cat in helper.spend_categories: if helper.isCategoryBudgetByCategoryAvailable(chat_id, cat): @@ -27,9 +28,9 @@ def viewSpendWise(chat_id, bot): if spend != 0: category_spend[cat] = spend - if category_spend.keys() == None: + if category_spend == {}: bot.send_message(chat_id, "No category spend available", reply_markup=types.ReplyKeyboardRemove()) - + return _, ax = plt.subplots() ax.pie(category_spend.values(), labels=category_spend.keys(), autopct='%1.1f%%') random_time = time.time() @@ -40,7 +41,7 @@ def viewSpendWise(chat_id, bot): def viewRemaining(chat_id, bot): if not helper.isCategoryBudgetAvailable(chat_id): bot.send_message(chat_id, "No category budget available", reply_markup=types.ReplyKeyboardRemove()) - + return category_spend_percent = {} for cat in helper.spend_categories: if helper.isCategoryBudgetByCategoryAvailable(chat_id, cat): From af10d00a7760c3d781883b2a2760ff3195040251 Mon Sep 17 00:00:00 2001 From: Srinath Srinivasan Date: Mon, 16 Oct 2023 21:31:32 -0400 Subject: [PATCH 052/135] added additional checks --- code/helper.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/helper.py b/code/helper.py index dac7919e8..900729c7a 100644 --- a/code/helper.py +++ b/code/helper.py @@ -140,7 +140,7 @@ def createNewUserRecord(): def getOverallBudget(chatId): data = getUserData(chatId) - if data is None: + if data is None or data == {}: return None return data["budget"]["overall"] @@ -173,7 +173,7 @@ def isCategoryBudgetAvailable(chatId): def isCategoryBudgetByCategoryAvailable(chatId, cat): data = getCategoryBudget(chatId) - if data is None: + if data is None or data == {}: return False return cat in data.keys() From 3b4e8f6561276324590d4c87b689fc2cef95ac76 Mon Sep 17 00:00:00 2001 From: Srinath Srinivasan Date: Mon, 16 Oct 2023 22:17:52 -0400 Subject: [PATCH 053/135] adding time series plot --- code/analytics.py | 2 ++ code/get_analysis.py | 19 +++++++++++++++++++ code/helper.py | 9 ++++++++- 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/code/analytics.py b/code/analytics.py index bb41c5db1..d3d13ffca 100644 --- a/code/analytics.py +++ b/code/analytics.py @@ -41,5 +41,7 @@ def post_operation_selection(message, bot): get_analysis.viewSpendWise(chat_id, bot) elif op == options["remaining"]: get_analysis.viewRemaining(chat_id, bot) + elif op == options["history"]: + get_analysis.viewHistory(chat_id, bot) except Exception as e: helper.throw_exception(e, message, bot, logging) \ No newline at end of file diff --git a/code/get_analysis.py b/code/get_analysis.py index 01a519160..08dfc67a8 100644 --- a/code/get_analysis.py +++ b/code/get_analysis.py @@ -15,6 +15,7 @@ def viewOverallBudget(chat_id, bot): _, ax = plt.subplots() ax.pie(category_budget.values(), labels=category_budget.keys(), autopct='%1.1f%%') + ax.set_title("Budget split") random_time = time.time() img_name = str(random_time)+".png" plt.savefig(img_name) @@ -32,6 +33,7 @@ def viewSpendWise(chat_id, bot): _, ax = plt.subplots() ax.pie(category_spend.values(), labels=category_spend.keys(), autopct='%1.1f%%') + ax.set_title("Category-wise spend") random_time = time.time() img_name = str(random_time)+".png" plt.savefig(img_name) @@ -73,8 +75,25 @@ def viewRemaining(chat_id, bot): bottom += weight_count ax.set_title("Category-wise budget consumed") + plt.xlabel("Categories") + plt.ylabel("Percentage") ax.legend(loc="upper right") + random_time = time.time() + img_name = str(random_time)+".png" + plt.savefig(img_name) + bot.send_photo(chat_id, photo=open(img_name, 'rb'), reply_markup=types.ReplyKeyboardRemove()) + +def viewHistory(chat_id, bot): + if not helper.getUserHistory(chat_id): + bot.send_message(chat_id, "No history available", reply_markup=types.ReplyKeyboardRemove()) + + cat_spend_dict = helper.getUserHistoryDateExpense(chat_id) + + plt.plot(cat_spend_dict.keys(), cat_spend_dict.values(), marker='o') + plt.title("Time-series of expenses") + plt.xlabel("Time") + plt.ylabel("Expense") random_time = time.time() img_name = str(random_time)+".png" plt.savefig(img_name) diff --git a/code/helper.py b/code/helper.py index 900729c7a..87e845606 100644 --- a/code/helper.py +++ b/code/helper.py @@ -24,7 +24,7 @@ data_format = {"data": [], "budget": {"overall": None, "category": None}} -analytics_options = {"overall": "Overall budget split", "spend": "Split of current spend", "remaining": "Remaining value"} +analytics_options = {"overall": "Overall budget split", "spend": "Split of current spend", "remaining": "Remaining value", "history": "Time series graph of spend history"} # set of implemented commands and their description commands = { @@ -119,6 +119,13 @@ def getUserHistoryByCategory(chat_id, category): previous_expenses.append(record) return previous_expenses +def getUserHistoryDateExpense(chat_id): + data = getUserHistory(chat_id) + cat_spend_dict = {} + for record in data: + split_vals = record.split(",") + cat_spend_dict[split_vals[0]] = split_vals[2] + return cat_spend_dict def getUserData(chat_id): user_list = read_json() From 8bc63f6f972a118a86d879738478240a8a7a1f39 Mon Sep 17 00:00:00 2001 From: Srinath Srinivasan Date: Mon, 16 Oct 2023 23:33:18 -0400 Subject: [PATCH 054/135] incorporating changes --- code/get_analysis.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/get_analysis.py b/code/get_analysis.py index 08dfc67a8..1e6424e29 100644 --- a/code/get_analysis.py +++ b/code/get_analysis.py @@ -8,6 +8,7 @@ def viewOverallBudget(chat_id, bot): if not helper.isCategoryBudgetAvailable(chat_id): bot.send_message(chat_id, "No category budget available", reply_markup=types.ReplyKeyboardRemove()) + return category_budget = {} for cat in helper.spend_categories: if helper.isCategoryBudgetByCategoryAvailable(chat_id, cat): @@ -30,6 +31,7 @@ def viewSpendWise(chat_id, bot): if category_spend.keys() == None: bot.send_message(chat_id, "No category spend available", reply_markup=types.ReplyKeyboardRemove()) + return _, ax = plt.subplots() ax.pie(category_spend.values(), labels=category_spend.keys(), autopct='%1.1f%%') @@ -42,6 +44,7 @@ def viewSpendWise(chat_id, bot): def viewRemaining(chat_id, bot): if not helper.isCategoryBudgetAvailable(chat_id): bot.send_message(chat_id, "No category budget available", reply_markup=types.ReplyKeyboardRemove()) + return category_spend_percent = {} for cat in helper.spend_categories: @@ -87,6 +90,7 @@ def viewRemaining(chat_id, bot): def viewHistory(chat_id, bot): if not helper.getUserHistory(chat_id): bot.send_message(chat_id, "No history available", reply_markup=types.ReplyKeyboardRemove()) + return cat_spend_dict = helper.getUserHistoryDateExpense(chat_id) From e1cd97b2a889f478729241c49fa3a9a2dbb1250f Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Tue, 17 Oct 2023 01:58:28 -0400 Subject: [PATCH 055/135] completed budget prediciton feature --- code/helper.py | 12 ++++++++++++ code/predict.py | 25 +++++++++++++++++++------ 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/code/helper.py b/code/helper.py index be112830c..7fb2b2dca 100644 --- a/code/helper.py +++ b/code/helper.py @@ -306,6 +306,18 @@ def getCategoryWiseSpendings(available_categories, history): category_wise_history[cat] = [record] return category_wise_history +def getFormattedPredictions(category_predictions): + category_budgets = "" + for key,value in category_predictions.items(): + if type(value) == float: + category_budgets += str(key) + ": $" + str(value) + "\n" + else: + category_budgets += str(key) + ": " + value + "\n" + predicted_budget = "Here are your predicted budgets" + predicted_budget += " for the next month \n" + predicted_budget += category_budgets + return predicted_budget + def getSpendCategories(): """ getSpendCategories(): This functions returns the spend categories used in the bot. These are defined the same file. diff --git a/code/predict.py b/code/predict.py index c4328cc9f..cf697c925 100644 --- a/code/predict.py +++ b/code/predict.py @@ -51,7 +51,10 @@ def predict_total(message, bot): category_spendings = {} for category in available_categories: category_spendings[category] = predict_category_spending(category_wise_history[category]) - + overall_spending = predict_overall_spending(chat_id,category_spendings) + bot.send_message(chat_id, "Your overall budget for next month can be: ${}".format(overall_spending)) + category_budgets = helper.getFormattedPredictions(category_spendings) + bot.send_message(chat_id,category_budgets) except Exception as e: logging.exception(str(e)) bot.reply_to(message, str(e)) @@ -71,15 +74,25 @@ def predict_category_spending(category_history): total_spent += float(record.split(',')[2]) date = datetime.strptime(record.split(',')[0].split(' ')[0], helper.getDateFormat()) recorded_days.append(date) - day_difference = int((recorded_days[0] - recorded_days[-1]).days) + 1 + day_difference = abs(int((recorded_days[0] - recorded_days[-1]).days)) + 1 avg_per_day = total_spent/day_difference predicted_spending = avg_per_day * 30 return round(predicted_spending,2) -def predict_overall_spending(history): +def predict_overall_spending(chat_id, category_wise_spending): """ - predict_overall_spending(history): Takes 1 arguments for processing - history - which is the record of all expenses of the user. It parses the history + predict_overall_spending(chat_id, category_wise_spending): Takes 2 arguments for processing + chatId and category_wise_spending. It parses the history and turns it into a form suitable for display on the UI by the user. """ - #todo + overall_spending = 0 + for category in category_wise_spending.keys(): + if type(category_wise_spending[category]) == float: + overall_spending += category_wise_spending[category] + if overall_spending != 0: + return overall_spending + else: + history = helper.getUserHistory(chat_id) + overall_spending = predict_category_spending(history) + return overall_spending + From 436b91f942d50146adae82eacd81f0a7e6e403ed Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Tue, 17 Oct 2023 12:18:05 -0400 Subject: [PATCH 056/135] Resolves issue #10 --- code/code.py | 2 +- code/helper.py | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/code/code.py b/code/code.py index 5b90e3957..fb56fa46e 100644 --- a/code/code.py +++ b/code/code.py @@ -100,7 +100,7 @@ def faq(m): '"How can I add an epxense?" \n' ">> Type /add, then select a category to type the expense. \n\n" '"Can I see history of my expenses?" \n' - ">> Yes! Use /display to get a graphical display, or /history to view detailed summary.\n\n" + ">> Yes! Use /analytics to get a graphical display, or /history to view detailed summary.\n\n" '"I added an incorrect expense. How can I edit it?"\n' ">> Use /edit command. \n\n" '"Can I check if my expenses have exceeded budget?"\n' diff --git a/code/helper.py b/code/helper.py index 8bf9dc685..1add7e340 100644 --- a/code/helper.py +++ b/code/helper.py @@ -28,15 +28,16 @@ # set of implemented commands and their description commands = { + "menu": "Display commands with their descriptions.", "help": "Display the list of commands.", "pdf": "Save history as PDF.", "add": "This option is for adding your expenses \ \n 1. It will give you the list of categories to choose from. \ \n 2. You will be prompted to enter the amount corresponding to your spending \ \n 3.The message will be prompted to notify the addition of your expense with the amount,date, time and category ", - "display": "This option gives user a graphical representation(bar graph) of their expenditures \ - \n You will get an option to choose from day or month for better analysis of the expenses.", - "estimate": "This option gives you the estimate of expenditure for the next day/month. It calcuates based on your recorded spendings", + "analytics": "This option gives user a graphical representation of their expenditures \ + \n You will get an option to choose the type of data you want to see.", + "predict": "This option analyzes your recorded spendings and gives you a budget that will accommodate for them.", "history": "This option is to give you the detailed summary of your expenditure with Date, time ,category and amount. A quick lookup into your spendings", "delete": "This option is to Clear/Erase all your records", "edit": "This option helps you to go back and correct/update the missing details \ From ed91200f56c4b272200cdf9930b246953f2668dc Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Tue, 17 Oct 2023 12:27:18 -0400 Subject: [PATCH 057/135] Refactored date storing format --- code/add.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/code/add.py b/code/add.py index d0a995085..4de930a1e 100644 --- a/code/add.py +++ b/code/add.py @@ -129,8 +129,7 @@ def post_expense_selection(message,bot): raise Exception("Spent amount has to be a non-zero number.") date_of_entry = datetime.today().strftime( - helper.getDateFormat() + " " + helper.getTimeFormat() - ) + helper.getDateFormat()) date_str, category_str, amount_str = ( str(date_of_entry), @@ -177,8 +176,7 @@ def post_amount_input(message, bot, selected_category): raise Exception("Spent amount has to be a non-zero number.") date_of_entry = datetime.today().strftime( - helper.getDateFormat() + " " + helper.getTimeFormat() - ) + helper.getDateFormat()) date_str, category_str, amount_str = ( str(date_of_entry), From f70bc3ea7af6c1569eaa9b7f5eb8af6b77b11886 Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Tue, 17 Oct 2023 13:53:52 -0400 Subject: [PATCH 058/135] refactored get_analysis.py to use graphing.py --- code/get_analysis.py | 71 +++++++++----------------------------------- code/graphing.py | 59 ++++++++++++++++++++++++++++++++++++ code/pdf.py | 8 ++--- 3 files changed, 77 insertions(+), 61 deletions(-) diff --git a/code/get_analysis.py b/code/get_analysis.py index fdc529118..eb71a6472 100644 --- a/code/get_analysis.py +++ b/code/get_analysis.py @@ -1,9 +1,11 @@ import helper import logging +import graphing from telebot import types import matplotlib.pyplot as plt import time import numpy as np +import os def viewOverallBudget(chat_id, bot): if not helper.isCategoryBudgetAvailable(chat_id): @@ -14,13 +16,9 @@ def viewOverallBudget(chat_id, bot): if helper.isCategoryBudgetByCategoryAvailable(chat_id, cat): category_budget[cat] = helper.getCategoryBudgetByCategory(chat_id, cat) - _, ax = plt.subplots() - ax.pie(category_budget.values(), labels=category_budget.keys(), autopct='%1.1f%%') - ax.set_title("Budget split") - random_time = time.time() - img_name = str(random_time)+".png" - plt.savefig(img_name) - bot.send_photo(chat_id, photo=open(img_name, 'rb'), reply_markup=types.ReplyKeyboardRemove()) + graphing.overall_split(category_budget) + bot.send_photo(chat_id, photo=open("overall_split.png", 'rb'), reply_markup=types.ReplyKeyboardRemove()) + os.remove("overall_split.png") def viewSpendWise(chat_id, bot): category_spend = {} @@ -32,13 +30,9 @@ def viewSpendWise(chat_id, bot): if category_spend == {}: bot.send_message(chat_id, "No category spend available", reply_markup=types.ReplyKeyboardRemove()) return - _, ax = plt.subplots() - ax.pie(category_spend.values(), labels=category_spend.keys(), autopct='%1.1f%%') - ax.set_title("Category-wise spend") - random_time = time.time() - img_name = str(random_time)+".png" - plt.savefig(img_name) - bot.send_photo(chat_id, photo=open(img_name, 'rb'), reply_markup=types.ReplyKeyboardRemove()) + graphing.spend_wise_split(category_spend) + bot.send_photo(chat_id, photo=open("spend_wise.png", 'rb'), reply_markup=types.ReplyKeyboardRemove()) + os.remove("spend_wise.png") def viewRemaining(chat_id, bot): if not helper.isCategoryBudgetAvailable(chat_id): @@ -49,41 +43,9 @@ def viewRemaining(chat_id, bot): if helper.isCategoryBudgetByCategoryAvailable(chat_id, cat): percent = helper.calculateRemainingCateogryBudgetPercent(chat_id, cat) category_spend_percent[cat] = percent - - labels = tuple(category_spend_percent.keys()) - print(labels) - type(labels) - - remaining_val_list = [100 - x for x in list(category_spend_percent.values())] - - weight_counts = { - "Used": list(category_spend_percent.values()), - "Remaining": remaining_val_list, - } - print(weight_counts) - - width = 0.5 - - _, ax = plt.subplots() - # simply impossible to submit anything other than an np ndarray here - # matplotlib simply fails to recognize shape of any other "array-like" - #object - bottom = np.zeros(len(list(category_spend_percent.values()))) - - for boolean, weight_count in weight_counts.items(): - print(boolean, weight_count) - ax.bar(labels, weight_count, width, label=boolean, bottom=bottom) - bottom += weight_count - - ax.set_title("Category-wise budget consumed") - plt.xlabel("Categories") - plt.ylabel("Percentage") - ax.legend(loc="upper right") - - random_time = time.time() - img_name = str(random_time)+".png" - plt.savefig(img_name) - bot.send_photo(chat_id, photo=open(img_name, 'rb'), reply_markup=types.ReplyKeyboardRemove()) + graphing.remaining(category_spend_percent) + bot.send_photo(chat_id, photo=open("remaining.png", 'rb'), reply_markup=types.ReplyKeyboardRemove()) + os.remove("remaining.png") def viewHistory(chat_id, bot): if not helper.getUserHistory(chat_id): @@ -92,11 +54,6 @@ def viewHistory(chat_id, bot): cat_spend_dict = helper.getUserHistoryDateExpense(chat_id) - plt.plot(cat_spend_dict.keys(), cat_spend_dict.values(), marker='o') - plt.title("Time-series of expenses") - plt.xlabel("Time") - plt.ylabel("Expense") - random_time = time.time() - img_name = str(random_time)+".png" - plt.savefig(img_name) - bot.send_photo(chat_id, photo=open(img_name, 'rb'), reply_markup=types.ReplyKeyboardRemove()) \ No newline at end of file + graphing.time_series(cat_spend_dict) + bot.send_photo(chat_id, photo=open("time_series.png", 'rb'), reply_markup=types.ReplyKeyboardRemove()) + os.remove("time_series.png") \ No newline at end of file diff --git a/code/graphing.py b/code/graphing.py index 8e08ce69b..83109625a 100644 --- a/code/graphing.py +++ b/code/graphing.py @@ -1,6 +1,10 @@ import matplotlib import matplotlib.pyplot as plt import numpy as np +import helper +import logging +from telebot import types +import time matplotlib.use("Agg") @@ -78,3 +82,58 @@ def visualize(total_text, monthly_budget): plt.legend() plt.savefig("expenditure.png", bbox_inches="tight") plt.close() + +def overall_split(category_budget): + _, ax = plt.subplots() + ax.pie(category_budget.values(), labels=category_budget.keys(), autopct='%1.1f%%') + ax.set_title("Budget split") + random_time = time.time() + img_name = "overall_split.png" + plt.savefig(img_name) + +def spend_wise_split(category_spend): + _, ax = plt.subplots() + ax.pie(category_spend.values(), labels=category_spend.keys(), autopct='%1.1f%%') + ax.set_title("Category-wise spend") + random_time = time.time() + img_name = "spend_wise.png" + plt.savefig(img_name) + +def remaining(category_spend_percent): + labels = tuple(category_spend_percent.keys()) + + remaining_val_list = [100 - x for x in list(category_spend_percent.values())] + + weight_counts = { + "Used": list(category_spend_percent.values()), + "Remaining": remaining_val_list, + } + width = 0.5 + + _, ax = plt.subplots() + # simply impossible to submit anything other than an np ndarray here + # matplotlib simply fails to recognize shape of any other "array-like" + #object + bottom = np.zeros(len(list(category_spend_percent.values()))) + + for boolean, weight_count in weight_counts.items(): + print(boolean, weight_count) + ax.bar(labels, weight_count, width, label=boolean, bottom=bottom) + bottom += weight_count + + ax.set_title("Category-wise budget consumed") + plt.xlabel("Categories") + plt.ylabel("Percentage") + ax.legend(loc="upper right") + + img_name = "remaining.png" + plt.savefig(img_name) + +def time_series(cat_spend_dict): + _, ax = plt.subplots() + plt.plot(cat_spend_dict.keys(), cat_spend_dict.values(), marker='o') + plt.title("Time-series of expenses") + plt.xlabel("Time") + plt.ylabel("Expense") + img_name = "time_series.png" + plt.savefig(img_name) \ No newline at end of file diff --git a/code/pdf.py b/code/pdf.py index 6996ad32f..06daa99b4 100644 --- a/code/pdf.py +++ b/code/pdf.py @@ -1,5 +1,6 @@ import helper import logging +import get_analysis from matplotlib import pyplot as plt # === Documentation of pdf.py === @@ -13,8 +14,8 @@ def run(message, bot): helper.read_json() chat_id = message.chat.id user_history = helper.getUserHistory(chat_id) - message = "Alright. I just created a pdf of your expense history!" - bot.send_message(chat_id, message) + msg = "Alright. I just created a pdf of your expense history!" + bot.send_message(chat_id, msg) fig = plt.figure() ax = fig.add_subplot(1, 1, 1) top = 0.8 @@ -30,9 +31,8 @@ def run(message, bot): ) for rec in user_history: date, category, amount = rec.split(",") - date, time = date.split(" ") print(date, category, amount) - rec_str = f"{amount}$ {category} expense on {date} at {time}" + rec_str = f"{amount}$ {category} expense on {date}" plt.text( 0, top, From fa7b61aae077655efa0c87ff0f98bb78eed3b60a Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Tue, 17 Oct 2023 14:19:47 -0400 Subject: [PATCH 059/135] added analytics graphs to pdf report --- code/graphing.py | 6 +++++- code/pdf.py | 44 ++++++++++++++++++++++++++++++++++++++++++-- requirements.txt | 1 + 3 files changed, 48 insertions(+), 3 deletions(-) diff --git a/code/graphing.py b/code/graphing.py index 83109625a..300a49ba0 100644 --- a/code/graphing.py +++ b/code/graphing.py @@ -90,6 +90,7 @@ def overall_split(category_budget): random_time = time.time() img_name = "overall_split.png" plt.savefig(img_name) + plt.close() def spend_wise_split(category_spend): _, ax = plt.subplots() @@ -98,6 +99,7 @@ def spend_wise_split(category_spend): random_time = time.time() img_name = "spend_wise.png" plt.savefig(img_name) + plt.close() def remaining(category_spend_percent): labels = tuple(category_spend_percent.keys()) @@ -128,6 +130,7 @@ def remaining(category_spend_percent): img_name = "remaining.png" plt.savefig(img_name) + plt.close() def time_series(cat_spend_dict): _, ax = plt.subplots() @@ -136,4 +139,5 @@ def time_series(cat_spend_dict): plt.xlabel("Time") plt.ylabel("Expense") img_name = "time_series.png" - plt.savefig(img_name) \ No newline at end of file + plt.savefig(img_name) + plt.close() \ No newline at end of file diff --git a/code/pdf.py b/code/pdf.py index 06daa99b4..b3484d951 100644 --- a/code/pdf.py +++ b/code/pdf.py @@ -2,6 +2,10 @@ import logging import get_analysis from matplotlib import pyplot as plt +from matplotlib.backends.backend_pdf import PdfPages +from fpdf import FPDF +import graphing +import os # === Documentation of pdf.py === @@ -45,9 +49,45 @@ def run(message, bot): ) top -= 0.15 plt.axis("off") - plt.savefig("expense_history.pdf") + plt.savefig("expense_history.png") plt.close() - bot.send_document(chat_id, open("expense_history.pdf", "rb")) + + if helper.isCategoryBudgetAvailable(chat_id): + category_budget = {} + for cat in helper.spend_categories: + if helper.isCategoryBudgetByCategoryAvailable(chat_id, cat): + category_budget[cat] = helper.getCategoryBudgetByCategory(chat_id, cat) + graphing.overall_split(category_budget) + + category_spend = {} + for cat in helper.spend_categories: + spend = helper.calculate_total_spendings_for_cateogory_chat_id(chat_id,cat) + if spend != 0: + category_spend[cat] = spend + if category_spend != {}: + graphing.spend_wise_split(category_spend) + + if helper.isCategoryBudgetAvailable(chat_id): + category_spend_percent = {} + for cat in helper.spend_categories: + if helper.isCategoryBudgetByCategoryAvailable(chat_id, cat): + percent = helper.calculateRemainingCateogryBudgetPercent(chat_id, cat) + category_spend_percent[cat] = percent + graphing.remaining(category_spend_percent) + + if helper.getUserHistory(chat_id): + cat_spend_dict = helper.getUserHistoryDateExpense(chat_id) + graphing.time_series(cat_spend_dict) + + list_of_images = ["expense_history.png","overall_split.png","spend_wise.png","remaining.png","time_series.png"] + pdf = FPDF() + pdf.add_page() + for image in list_of_images: + pdf.image(image) + pdf.output("expense_report.pdf", "F") + bot.send_document(chat_id, open("expense_report.pdf", "rb")) + for image in list_of_images: + os.remove(image) except Exception as e: logging.exception(str(e)) bot.reply_to(message, "Oops!" + str(e)) diff --git a/requirements.txt b/requirements.txt index 082b6f120..85140e684 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,6 +3,7 @@ pytest jproperties flake8 matplotlib +fpdf coverage pytest-mock python-telegram-bot-calendar \ No newline at end of file From e13c39861a2e9ed7c7a07348ef60ad10ef422d91 Mon Sep 17 00:00:00 2001 From: Aditi Killedar Date: Tue, 17 Oct 2023 18:45:42 -0400 Subject: [PATCH 060/135] removed redundant docu from issue #1 --- Developer_ReadMe.md | 5 + README.md | 6 + python_docs/__init__.html | 32 -- python_docs/add.html | 281 ------------- python_docs/budget.html | 135 ------ python_docs/budget_delete.html | 78 ---- python_docs/budget_update.html | 397 ------------------ python_docs/budget_view.html | 147 ------- python_docs/code.html | 452 --------------------- python_docs/delete.html | 108 ----- python_docs/display.html | 276 ------------- python_docs/edit.html | 289 ------------- python_docs/estimate.html | 267 ------------ python_docs/graphing.html | 158 -------- python_docs/helper.html | 721 --------------------------------- python_docs/history.html | 87 ---- 16 files changed, 11 insertions(+), 3428 deletions(-) delete mode 100644 python_docs/__init__.html delete mode 100644 python_docs/add.html delete mode 100644 python_docs/budget.html delete mode 100644 python_docs/budget_delete.html delete mode 100644 python_docs/budget_update.html delete mode 100644 python_docs/budget_view.html delete mode 100644 python_docs/code.html delete mode 100644 python_docs/delete.html delete mode 100644 python_docs/display.html delete mode 100644 python_docs/edit.html delete mode 100644 python_docs/estimate.html delete mode 100644 python_docs/graphing.html delete mode 100644 python_docs/helper.html delete mode 100644 python_docs/history.html diff --git a/Developer_ReadMe.md b/Developer_ReadMe.md index cb0a56d67..04e3c42e8 100644 --- a/Developer_ReadMe.md +++ b/Developer_ReadMe.md @@ -3,6 +3,7 @@
    Table of Contents
      +
    1. Function Documentation
    2. Testing
    3. Code Coverage
    4. License
    5. @@ -12,6 +13,10 @@
    +## Function Documentation + + + ## Testing We use pytest to perform testing on all unit tests together. The command needs to be run from the home directory of the project. The command is: diff --git a/README.md b/README.md index fe41bb43e..167fac38a 100644 --- a/README.md +++ b/README.md @@ -152,6 +152,12 @@ Here's a quick overview of how each of the commands work. Also see: Link at the ### Budget +#### Delete + +#### Update + +#### View + ### Delete ### Edit diff --git a/python_docs/__init__.html b/python_docs/__init__.html deleted file mode 100644 index 3881a4efb..000000000 --- a/python_docs/__init__.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - __init__.py - - - -
    -
    -
    -

    __init__.py

    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    import os
    -import sys
    -sys.path.insert(0, os.getcwd() + "/code")
    -
    -
    -
    -
    -
    -
    - diff --git a/python_docs/add.html b/python_docs/add.html deleted file mode 100644 index e7d49247c..000000000 --- a/python_docs/add.html +++ /dev/null @@ -1,281 +0,0 @@ - - - - - add.py - - - -
    -
    -
    -

    add.py

    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    import helper
    -import logging
    -from telebot import types
    -from datetime import datetime
    -
    -
    -option = {}
    -
    -
    -
    -
    -
    -
    - # -
    -

    Documentation of add.py

    -
    -
    -
    def run(message, bot):
    -
    -
    -
    -
    -
    -
    - # -
    -

    run(message, bot): This is the main function used to implement the add feature. -It pop ups a menu on the bot asking the user to choose their expense category, -after which control is given to post_category_selection(message, bot) for further proccessing. -It takes 2 arguments for processing - message which is the message from the user, -and bot which is the telegram bot object from the main code.py function.

    -
    -
    -
        helper.read_json()
    -    chat_id = message.chat.id
    -    option.pop(chat_id, None)  # remove temp choice
    -    markup = types.ReplyKeyboardMarkup(one_time_keyboard=True)
    -    markup.row_width = 2
    -    m= bot.send_message(chat_id, "Do you want to add a new categories? Y/N")
    -    bot.register_next_step_handler(
    -            m, post_user_def_category, bot)
    -
    -
    -
    -
    -
    -
    - # -
    -

    user_input = m.text -print(m) -print(user_input) -if str(user_input)==”Y”: - print(“Hello”) - message1=bot.send_message(chat_id, “Please enter your category”) - selected_category=message1.text - helper.spend_categories.append(selected_category) - print(selected_category) - bot.register_next_step_handler(selected_category, post_category_selection, bot) -for c in helper.getSpendCategories(): - markup.add(c) -msg = bot.reply_to(message, ‘Select Category’, reply_markup=markup)

    -

    bot.register_next_step_handler(msg, post_category_selection, bot)

    -
    -
    -
    def post_user_def_category(message,bot):
    -    markup = types.ReplyKeyboardMarkup(one_time_keyboard=True)
    -    markup.row_width = 2
    -    print(message.text)
    -    chat_id = message.chat.id
    -    if str(message.text)=="Y":
    -        message1=bot.send_message(chat_id, "Please enter your category")
    -        bot.register_next_step_handler(message1,post_append_spend, bot)
    -    else:
    -        for c in helper.getSpendCategories():
    -            markup.add(c)
    -        msg = bot.reply_to(message, 'Select Category', reply_markup=markup)
    -    
    -        bot.register_next_step_handler(msg, post_category_selection, bot)
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def post_append_spend(message,bot):
    -    print(message.text)  
    -    markup = types.ReplyKeyboardMarkup(one_time_keyboard=True)
    -    markup.row_width = 2
    -    selected_category=message.text
    -    helper.spend_categories.append(selected_category) 
    -    print(helper.spend_categories)   
    -    for c in helper.getSpendCategories():
    -        markup.add(c)
    -    msg = bot.reply_to(message, 'Select Category', reply_markup=markup)
    -    
    -    bot.register_next_step_handler(msg, post_category_selection, bot)
    -
    -
    -
    -
    -
    -
    - # -
    -

    post_category_selection(message, bot): It takes 2 arguments for processing - -message which is the message from the user, and bot which is the telegram bot object -from the run(message, bot): function in the add.py file. It requests the user to enter the amount -they have spent on the expense category chosen and then passes control to -post_amount_input(message, bot): for further processing.

    -
    -
    -
    def post_category_selection(message, bot):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        try:
    -        chat_id = message.chat.id
    -        selected_category = message.text
    -        if selected_category not in helper.getSpendCategories():
    -            bot.send_message(chat_id, 'Invalid',
    -                             reply_markup=types.ReplyKeyboardRemove())
    -            raise Exception(
    -                "Sorry I don't recognise this category \"{}\"!".format(selected_category))
    -
    -        option[chat_id] = selected_category
    -        message = bot.send_message(
    -            chat_id, 'How much did you spend on {}? \n(Enter numeric values only)'.format(str(option[chat_id])))
    -        print(message)
    -        bot.register_next_step_handler(
    -            message, post_amount_input, bot, selected_category)
    -    except Exception as e:
    -        logging.exception(str(e))
    -        bot.reply_to(message, 'Oh no! ' + str(e))
    -        display_text = ""
    -        commands = helper.getCommands()
    -        for c in commands:  # generate help text out of the commands dictionary defined at the top
    -            display_text += "/" + c + ": "
    -            display_text += commands[c] + "\n"
    -        bot.send_message(chat_id, 'Please select a menu option from below:')
    -        bot.send_message(chat_id, display_text)
    -
    -
    -
    -
    -
    -
    - # -
    -

    post_amount_input(message, bot): It takes 2 arguments for processing - -message which is the message from the user, and bot which is the telegram bot -object from the post_category_selection(message, bot): function in the add.py file. -It takes the amount entered by the user, validates it with helper.validate() and then -calls add_user_record to store it.

    -
    -
    -
    def post_amount_input(message, bot, selected_category):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        try:
    -        print("---------------------------------------------------")
    -
    -        chat_id = message.chat.id
    -        print(chat_id)
    -        amount_entered = message.text
    -        print("0000000000000000000000000000000000000000000000000")
    -        print(amount_entered)
    -        print(selected_category)
    -        amount_value = helper.validate_entered_amount(
    -            amount_entered)  # validate
    -        if amount_value == 0:  # cannot be $0 spending
    -            raise Exception("Spent amount has to be a non-zero number.")
    -
    -        date_of_entry = datetime.today().strftime(
    -            helper.getDateFormat() + ' ' + helper.getTimeFormat())
    -
    -        date_str, category_str, amount_str = str(
    -            date_of_entry), str(option[chat_id]), str(amount_value)
    -
    -        helper.write_json(add_user_record(
    -            chat_id, "{},{},{}".format(date_str, category_str, amount_str)))
    -
    -        bot.send_message(chat_id, 'The following expenditure has been recorded: You have spent ${} for {} on {}'.format(
    -            amount_str, category_str, date_str))
    -
    -        helper.display_remaining_budget(message, bot, selected_category)
    -    except Exception as e:
    -        logging.exception(str(e))
    -        bot.reply_to(message, 'Oh no. ' + str(e))
    -
    -
    -
    -
    -
    -
    - # -
    -

    add_user_record(chat_id, record_to_be_added): Takes 2 arguments - -chat_id or the chat_id of the user’s chat, and record_to_be_added which -is the expense record to be added to the store. It then stores this expense record in the store.

    -
    -
    -
    def add_user_record(chat_id, record_to_be_added):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        user_list = helper.read_json()
    -    print('!'*5)
    -    print('before')
    -    print(user_list)
    -    print('!'*5)
    -    if str(chat_id) not in user_list:
    -        user_list[str(chat_id)] = helper.createNewUserRecord()
    -
    -    user_list[str(chat_id)]['data'].append(record_to_be_added)
    -
    -    print('!'*5)
    -    print('after')
    -    print(user_list)
    -    print('!'*5)
    -    return user_list
    -
    -
    -
    -
    -
    -
    - diff --git a/python_docs/budget.html b/python_docs/budget.html deleted file mode 100644 index 74f008b77..000000000 --- a/python_docs/budget.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - budget.py - - - -
    -
    -
    -

    budget.py

    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    import helper
    -import budget_view
    -import budget_update
    -import budget_delete
    -import logging
    -from telebot import types
    -
    -
    -
    -
    -
    -
    - # -
    -

    Documentation of budget.py

    -
    -
    -
    -
    -
    -
    -
    -
    -
    - # -
    -

    run(message, bot): This is the main function used to implement the budget feature. -It pop ups a menu on the bot asking the user to choose to add, remove or display a budget, -after which control is given to post_operation_selection(message, bot) for further proccessing. -It takes 2 arguments for processing - message which is the message from the user, and bot which is the -telegram bot object from the main code.py function.

    -
    -
    -
    def run(message, bot):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        markup = types.ReplyKeyboardMarkup(one_time_keyboard=True)
    -    options = helper.getBudgetOptions()
    -    markup.row_width = 2
    -    for c in options.values():
    -        markup.add(c)
    -    msg = bot.reply_to(message, 'Select Operation', reply_markup=markup)
    -    bot.register_next_step_handler(msg, post_operation_selection, bot)
    -
    -
    -
    -
    -
    -
    - # -
    -

    post_operation_selection(message, bot): It takes 2 arguments for processing - message which -is the message from the user, and bot which is the telegram bot object from the -run(message, bot): function in the budget.py file. Depending on the action chosen by the user, -it passes on control to the corresponding functions which are all located in different files.

    -
    -
    -
    def post_operation_selection(message, bot):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        try:
    -        chat_id = message.chat.id
    -        op = message.text
    -        options = helper.getBudgetOptions()
    -        if op not in options.values():
    -            bot.send_message(chat_id, 'Invalid',
    -                             reply_markup=types.ReplyKeyboardRemove())
    -            raise Exception(
    -                "Sorry I don't recognise this operation \"{}\"!".format(op))
    -        if op == options['update']:
    -            budget_update.run(message, bot)
    -        elif op == options['view']:
    -            budget_view.run(message, bot)
    -        elif op == options['delete']:
    -            budget_delete.run(message, bot)
    -    except Exception as e:
    -
    -
    -
    -
    -
    -
    - # -
    -

    print(“hit exception”)

    -
    -
    -
            helper.throw_exception(e, message, bot, logging)
    -
    -
    -
    -
    -
    -
    - diff --git a/python_docs/budget_delete.html b/python_docs/budget_delete.html deleted file mode 100644 index 0ee05e3db..000000000 --- a/python_docs/budget_delete.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - budget_delete.py - - - -
    -
    -
    -

    budget_delete.py

    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    import helper
    -
    -
    -
    -
    -
    -
    - # -
    -

    Documentation of budget_delete.py

    -
    -
    -
    -
    -
    -
    -
    -
    -
    - # -
    -

    run(message, bot): This is the main function used to implement the budget delete feature. -It takes 2 arguments for processing - message which is the message from the user, and bot -which is the telegram bot object from the main code.py function. It gets the user’s chat ID -from the message object, and reads all user data through the read_json method from the helper module. -It then proceeds to empty the budget data for the particular user based on the user ID provided from the UI. -It returns a simple message indicating that this operation has been done to the UI.

    -
    -
    -
    def run(message, bot):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        chat_id = message.chat.id
    -    user_list = helper.read_json()
    -    print(user_list)
    -    if str(chat_id) in user_list:
    -        user_list[str(chat_id)]['budget']['overall'] = None
    -        user_list[str(chat_id)]['budget']['category'] = None
    -        helper.write_json(user_list)
    -    bot.send_message(chat_id, 'Budget deleted!')
    -
    -
    -
    -
    -
    -
    - diff --git a/python_docs/budget_update.html b/python_docs/budget_update.html deleted file mode 100644 index e255f270e..000000000 --- a/python_docs/budget_update.html +++ /dev/null @@ -1,397 +0,0 @@ - - - - - budget_update.py - - - -
    -
    -
    -

    budget_update.py

    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    import helper
    -import logging
    -from telebot import types
    -
    -
    -
    -
    -
    -
    - # -
    -

    Documentation of budget_update.py

    -
    -
    -
    -
    -
    -
    -
    -
    -
    - # -
    -

    run(message, bot): This is the main function used to implement the budget add/update features. -It takes 2 arguments for processing - message which is the message from the user, and bot which -is the telegram bot object from the main code.py function.

    -
    -
    -
    def run(message, bot):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        chat_id = message.chat.id
    -    if helper.isOverallBudgetAvailable(chat_id):
    -        update_overall_budget(chat_id, bot)
    -    elif helper.isCategoryBudgetAvailable(chat_id):
    -        update_category_budget(message, bot)
    -    else:
    -        markup = types.ReplyKeyboardMarkup(one_time_keyboard=True)
    -        options = helper.getBudgetTypes()
    -        markup.row_width = 2
    -        for c in options.values():
    -            markup.add(c)
    -        msg = bot.reply_to(message, 'Select Budget Type', reply_markup=markup)
    -        bot.register_next_step_handler(msg, post_type_selection, bot)
    -
    -
    -
    -
    -
    -
    - # -
    -

    post_type_selection(message, bot): It takes 2 arguments for processing - message -which is the message from the user, and bot which is the telegram bot object. -This function takes input from the user, making them choose which type of budget they -would like to create - category-wise or overall, and then calls the corresponding functions for further processing.

    -
    -
    -
    def post_type_selection(message, bot):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        try:
    -        chat_id = message.chat.id
    -        op = message.text
    -        options = helper.getBudgetTypes()
    -        if op not in options.values():
    -            bot.send_message(chat_id, 'Invalid',
    -                             reply_markup=types.ReplyKeyboardRemove())
    -            raise Exception(
    -                "Sorry I don't recognise this operation \"{}\"!".format(op))
    -        if op == options['overall']:
    -            update_overall_budget(chat_id, bot)
    -        elif op == options['category']:
    -            update_category_budget(message, bot)
    -    except Exception as e:
    -        helper.throw_exception(e, message, bot, logging)
    -
    -
    -
    -
    -
    -
    - # -
    -

    update_overall_budget(message, bot): It takes 2 arguments for processing - message which is the -message from the user, and bot which is the telegram bot object. This function is called when the -user wants to either create a new overall budget or update an existing one. It checks if there is an -existing budget through the helper module’s isOverallBudgetAvailable function and if so, displays this -along with the prompt for the new (to be updated) budget, or just asks for the new budget. It passes control -to the post_overall_amount_input function in the same file.

    -
    -
    -
    def update_overall_budget(chat_id, bot):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        if (helper.isOverallBudgetAvailable(chat_id)):
    -        currentBudget = helper.getOverallBudget(chat_id)
    -        msg_string = 'Current Budget is ${}\n\nHow much is your new monthly budget? \n(Enter numeric values only)'
    -        message = bot.send_message(chat_id, msg_string.format(currentBudget))
    -    else:
    -        message = bot.send_message(
    -            chat_id, 'How much is your monthly budget? \n(Enter numeric values only)')
    -    bot.register_next_step_handler(message, post_overall_amount_input, bot)
    -
    -
    -
    -
    -
    -
    - # -
    -

    update_overall_budget(message, bot): It takes 2 arguments for processing - -message which is the message from the user, and bot which is the telegram bot object. -This function is called when the user wants to either create a new overall budget or -update an existing one. It checks if there is an existing budget through the helper module’s -isOverallBudgetAvailable function and if so, displays this along with the prompt for the new -(to be updated) budget, or just asks for the new budget. It passes control to the post_overall_amount_input -function in the same file.

    -
    -
    -
    def post_overall_amount_input(message, bot):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        try:
    -        chat_id = message.chat.id
    -        amount_value = helper.validate_entered_amount(message.text)
    -        if amount_value == 0:
    -            raise Exception("Invalid amount.")
    -        user_list = helper.read_json()
    -        if str(chat_id) not in user_list:
    -            user_list[str(chat_id)] = helper.createNewUserRecord()
    -        user_list[str(chat_id)]['budget']['overall'] = amount_value
    -        helper.write_json(user_list)
    -        bot.send_message(chat_id, 'Budget Updated!')
    -        return user_list
    -    except Exception as e:
    -        helper.throw_exception(e, message, bot, logging)
    -
    -
    -
    -
    -
    -
    - # -
    -

    update_category_budget(message, bot): It takes 2 arguments for processing - -message which is the message from the user, and bot which is the telegram bot object. -This function is called in case the user decides to choose category-wise budgest in the run or -post_type_selection stages. It gets the spend categories from the helper module’s getSpendCategories -and displays them to the user. It then passes control on to the post_category_selection function.

    -
    -
    -
    def update_category_budget(message, bot):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        markup = types.ReplyKeyboardMarkup(one_time_keyboard=True)
    -    categories = helper.getSpendCategories()
    -    markup.row_width = 2
    -    for c in categories:
    -        markup.add(c)
    -    msg = bot.reply_to(message, 'Select Category', reply_markup=markup)
    -    bot.register_next_step_handler(msg, post_category_selection, bot)
    -
    -
    -
    -
    -
    -
    - # -
    -

    post_category_selection(message, bot): It takes 2 arguments for processing - -message which is the message from the user, and bot which is the telegram bot object. -Based on the category chosen by the user, the bot checks if these are part of the pre-defined -categories in helper.getSpendCategories(), else it throws an exception. If there is a budget -already existing for the category, it identifies this case through helper.isCategoryBudgetByCategoryAvailable -and shares this information with the user. If not, it simply proceeds. In either case, it then asks for the -new/updated budget amount. It passes control onto post_category_amount_input.

    -
    -
    -
    def post_category_selection(message, bot):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        try:
    -        chat_id = message.chat.id
    -        selected_category = message.text
    -        categories = helper.getSpendCategories()
    -        if selected_category not in categories:
    -            bot.send_message(chat_id, 'Invalid',
    -                             reply_markup=types.ReplyKeyboardRemove())
    -            raise Exception(
    -                "Sorry I don't recognise this category \"{}\"!".format(selected_category))
    -        if helper.isCategoryBudgetByCategoryAvailable(chat_id, selected_category):
    -            currentBudget = helper.getCategoryBudgetByCategory(
    -                chat_id, selected_category)
    -            msg_string = 'Current monthly budget for {} is {}\n\nEnter monthly budget for {}\n(Enter numeric values only)'
    -            message = bot.send_message(chat_id, msg_string.format(
    -                selected_category, currentBudget, selected_category))
    -        else:
    -            message = bot.send_message(
    -                chat_id, 'Enter monthly budget for ' + selected_category + '\n(Enter numeric values only)')
    -        bot.register_next_step_handler(
    -            message, post_category_amount_input, bot, selected_category)
    -    except Exception as e:
    -        helper.throw_exception(e, message, bot, logging)
    -
    -
    -
    -
    -
    -
    - # -
    -

    post_category_amount_input(message, bot, category): It takes 2 arguments for -processing - message which is the message from the user, and bot which is the telegram -bot object, and the category chosen by the user.

    -
    -
    -
    def post_category_amount_input(message, bot, category):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        try:
    -        chat_id = message.chat.id
    -        amount_value = helper.validate_entered_amount(message.text)
    -        if amount_value == 0:
    -            raise Exception("Invalid amount.")
    -        user_list = helper.read_json()
    -        if str(chat_id) not in user_list:
    -            user_list[str(chat_id)] = helper.createNewUserRecord()
    -        if user_list[str(chat_id)]['budget']['category'] is None:
    -            user_list[str(chat_id)]['budget']['category'] = {}
    -        user_list[str(chat_id)]['budget']['category'][category] = amount_value
    -        helper.write_json(user_list)
    -        message = bot.send_message(
    -            chat_id, 'Budget for ' + category + ' Created!')
    -        post_category_add(message, bot)
    -
    -    except Exception as e:
    -        helper.throw_exception(e, message, bot, logging)
    -
    -
    -
    -
    -
    -
    - # -
    -

    post_category_add(message, bot): It takes 2 arguments for processing - -message which is the message from the user, and bot which is the telegram bot object. -This exists in case the user wants to add a category-wise budget to another category after adding -it for one category. It prompts the user to choose an option from helper.getUpdateOptions().values() and -passes control to post_option_selection to either continue or exit the add/update feature.

    -
    -
    -
    def post_category_add(message, bot):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        markup = types.ReplyKeyboardMarkup(one_time_keyboard=True)
    -    options = helper.getUpdateOptions().values()
    -    markup.row_width = 2
    -    for c in options:
    -        markup.add(c)
    -    msg = bot.reply_to(message, 'Select Option', reply_markup=markup)
    -    bot.register_next_step_handler(msg, post_option_selection, bot)
    -
    -
    -
    -
    -
    -
    - # -
    -

    post_option_selection(message, bot): It takes 2 arguments for processing - -message which is the message from the user, and bot which is the telegram bot object. -It takes the category chosen by the user from the message object. If the message is “continue”, -then it runs update_category_budget (above) allowing the user to get into the add/update process again. -Otherwise, it exits the feature.

    -
    -
    -
    def post_option_selection(message, bot):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        print("here")
    -    selected_option = message.text
    -    options = helper.getUpdateOptions()
    -    print("here")
    -    if selected_option == options['continue']:
    -        update_category_budget(message, bot)
    -
    -
    -
    -
    -
    -
    - diff --git a/python_docs/budget_view.html b/python_docs/budget_view.html deleted file mode 100644 index 4ec128670..000000000 --- a/python_docs/budget_view.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - budget_view.py - - - -
    -
    -
    -

    budget_view.py

    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    import graphing
    -import helper
    -import logging
    -import os
    -
    -
    -
    -
    -
    -
    - # -
    -

    Documentation of budget_view.py

    -
    -
    -
    -
    -
    -
    -
    -
    -
    - # -
    -

    run(message, bot): This is the main function used to implement the budget feature. -It takes 2 arguments for processing - message which is the message from the user, and bot which -is the telegram bot object from the main code.py function. Depending on whether the user has configured -an overall budget or a category-wise budget, this functions checks for either case using the helper -module’s isOverallBudgetAvailable and isCategoryBudgetAvailable functions and passes control on the -respective functions(listed below). If there is no budget configured an exception is raised and the user -is given a message indicating that there is no budget configured.

    -
    -
    -
    def run(message, bot):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        try:
    -        print("here")
    -        chat_id = message.chat.id
    -        if helper.isOverallBudgetAvailable(chat_id):
    -            display_overall_budget(message, bot)
    -        elif helper.isCategoryBudgetAvailable(chat_id):
    -            display_category_budget(message, bot)
    -        else:
    -            raise Exception('Budget does not exist. Use ' + helper.getBudgetOptions()
    -                            ['update'] + ' option to add/update the budget')
    -    except Exception as e:
    -        helper.throw_exception(e, message, bot, logging)
    -
    -
    -
    -
    -
    -
    - # -
    -

    display_overall_budget(message, bot): It takes 2 arguments for processing - -message which is the message from the user, and bot which is the telegram bot -object from the run(message, bot): in the same file. It gets the budget for the -user based on their chat ID using the helper module and returns the same through the bot to the Telegram UI.

    -
    -
    -
    def display_overall_budget(message, bot):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        chat_id = message.chat.id
    -    data = helper.getOverallBudget(chat_id)
    -    bot.send_message(chat_id, 'Overall Budget: $' + data)
    -
    -
    -
    -
    -
    -
    - # -
    -

    display_category_budget(message, bot): It takes 2 arguments for processing - -message which is the message from the user, and bot which is the telegram bot object -from the run(message, bot): in the same file. It gets the category-wise budget for the -user based on their chat ID using the helper module.It then processes it into a string -format suitable for display, and returns the same through the bot to the Telegram UI.

    -
    -
    -
    def display_category_budget(message, bot):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        chat_id = message.chat.id
    -    data = helper.getCategoryBudget(chat_id)
    -    graphing.viewBudget(data)
    -    bot.send_photo(chat_id, photo=open('budget.png', 'rb'))
    -    os.remove('budget.png')
    -
    -
    -
    -
    -
    -
    - diff --git a/python_docs/code.html b/python_docs/code.html deleted file mode 100644 index 187903a33..000000000 --- a/python_docs/code.html +++ /dev/null @@ -1,452 +0,0 @@ - - - - - code.py - - - -
    -
    -
    -

    code.py

    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    import logging
    -import telebot
    -import time
    -import helper
    -import edit
    -import history
    -import display
    -import estimate
    -import delete
    -import add
    -import budget
    -from datetime import datetime
    -from jproperties import Properties
    -
    -configs = Properties()
    -
    -with open('user.properties', 'rb') as read_prop:
    -    configs.load(read_prop)
    -
    -api_token = str(configs.get('api_token').data)
    -
    -bot = telebot.TeleBot(api_token)
    -
    -telebot.logger.setLevel(logging.INFO)
    -
    -option = {}
    -
    -
    -
    -
    -
    -
    - # -
    -

    Documentation of code.py

    -
    -
    -
    -
    -
    -
    -
    -
    -
    - # -
    -

    Define listener for requests by user

    -
    -
    -
    def listener(user_requests):
    -
    -
    -
    -
    -
    -
    - # -
    -

    listener(user_requests): Takes 1 argument user_requests and logs all user -interaction with the bot including all bot commands run and any other issue logs.

    -
    -
    -
        for req in user_requests:
    -        if(req.content_type == 'text'):
    -            print("{} name:{} chat_id:{} \nmessage: {}\n".format(
    -                str(datetime.now()), str(req.chat.first_name), str(req.chat.id), str(req.text)))
    -
    -    message = "Sorry, I can't understand messages yet :/\n" + \
    -              "I can only understand commands that start with /. \n\n" + \
    -              "Type /faq or /help if you are stuck."
    -
    -    try:
    -        helper.read_json()
    -        global user_list
    -        chat_id = user_requests[0].chat.id
    -
    -        if user_requests[0].text[0] != '/':
    -            bot.send_message(chat_id, message)
    -    except:
    -        pass
    -
    -bot.set_update_listener(listener)
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    @bot.message_handler(commands=['help'])
    -def help(m):
    -
    -    helper.read_json()
    -    global user_list
    -    chat_id = m.chat.id
    -
    -    message = 'Here are the commands you can use: \n'
    -    commands = helper.getCommands()
    -    for c in commands:  
    -        message += "/" + c + ", "
    -
    -
    -
    -
    -
    -
    - # -
    -

    message += commands[c] + “\n\n”

    -
    -
    -
        message += '\nUse /menu for detailed instructions about these commands.'
    -    bot.send_message(chat_id, message)
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    @bot.message_handler(commands=['faq'])
    -def faq(m):
    -
    -
    -    helper.read_json()
    -    global user_list
    -    chat_id = m.chat.id
    -
    -    faq_message = '"What does this bot do?"\n' + \
    -              '>> DollarBot lets you manage your expenses so you can always stay on top of them! \n\n' + \
    -              '"How can I add an epxense?" \n' + \
    -              '>> Type /add, then select a category to type the expense. \n\n' + \
    -              '"Can I see history of my expenses?" \n' + \
    -              '>> Yes! Use /display to get a graphical display, or /history to view detailed summary.\n\n' + \
    -              '"I added an incorrect expense. How can I edit it?"\n' + \
    -              '>> Use /edit command. \n\n' + \
    -              '"Can I check if my expenses have exceeded budget?"\n' + \
    -              '>> Yes! Use /budget and then select the view category. \n\n' 
    -    bot.send_message(chat_id, faq_message)
    -
    -
    -
    -
    -
    -
    - # -
    -

    defines how the /start and /help commands have to be handled/processed

    -
    -
    -
    @bot.message_handler(commands=['start', 'menu'])
    -def start_and_menu_command(m):
    -
    -
    -
    -
    -
    -
    - # -
    -

    start_and_menu_command(m): Prints out the the main menu displaying the features that the -bot offers and the corresponding commands to be run from the Telegram UI to use these features. -Commands used to run this: commands=[‘start’, ‘menu’]

    -
    -
    -
        helper.read_json()
    -    global user_list
    -    chat_id = m.chat.id
    -
    -
    -
    -
    -
    -
    - # -
    -

    print(‘receieved start or menu command.’) -text_into = “Welcome to the Dollar Bot!”

    -
    -
    -
        text_intro = "Welcome to the Dollar Bot! \n" + \
    -                 "DollarBot can track all your expenses with simple and easy to use commands :) \n" + \
    -                 "Here is the complete menu. \n\n"
    -
    -
    -
    -
    -
    -
    - # -
    -

    “Type /faq or /help to get stated.”

    -
    -
    -
                     
    -    commands = helper.getCommands()
    -    for c in commands:  # generate help text out of the commands dictionary defined at the top
    -        text_intro += "/" + c + ": "
    -        text_intro += commands[c] + "\n\n"
    -    bot.send_message(chat_id, text_intro)
    -    return True
    -
    -
    -
    -
    -
    -
    - # -
    -

    defines how the /new command has to be handled/processed

    -
    -
    -
    @bot.message_handler(commands=['add'])
    -def command_add(message):
    -
    -
    -
    -
    -
    -
    - # -
    -

    command_add(message) Takes 1 argument message which contains the message from -the user along with the chat ID of the user chat. It then calls add.py to run to execute -the add functionality. Commands used to run this: commands=[‘add’]

    -
    -
    -
        add.run(message, bot)
    -
    -
    -
    -
    -
    -
    - # -
    -

    function to fetch expenditure history of the user

    -
    -
    -
    @bot.message_handler(commands=['history'])
    -def command_history(message):
    -
    -
    -
    -
    -
    -
    - # -
    -

    command_history(message): Takes 1 argument message which contains the message from -the user along with the chat ID of the user chat. It then calls history.py to run to execute -the add functionality. Commands used to run this: commands=[‘history’]

    -
    -
    -
        history.run(message, bot)
    -
    -
    -
    -
    -
    -
    - # -
    -

    function to edit date, category or cost of a transaction

    -
    -
    -
    @bot.message_handler(commands=['edit'])
    -def command_edit(message):
    -
    -
    -
    -
    -
    -
    - # -
    -

    command_edit(message): Takes 1 argument message which contains the message from -the user along with the chat ID of the user chat. It then calls edit.py to run to execute -the add functionality. Commands used to run this: commands=[‘edit’]

    -
    -
    -
        edit.run(message, bot)
    -
    -
    -
    -
    -
    -
    - # -
    -

    function to display total expenditure

    -
    -
    -
    @bot.message_handler(commands=['display'])
    -def command_display(message):
    -
    -
    -
    -
    -
    -
    - # -
    -

    command_display(message): Takes 1 argument message which contains the message from the user -along with the chat ID of the user chat. It then calls display.py to run to execute the add functionality. -Commands used to run this: commands=[‘display’]

    -
    -
    -
        display.run(message, bot)
    -
    -
    -
    -
    -
    -
    - # -
    -

    function to estimate future expenditure

    -
    -
    -
    @bot.message_handler(commands=['estimate'])
    -def command_estimate(message):
    -    estimate.run(message, bot)
    -
    -
    -
    -
    -
    -
    - # -
    -

    handles “/delete” command

    -
    -
    -
    @bot.message_handler(commands=['delete'])
    -def command_delete(message):
    -
    -
    -
    -
    -
    -
    - # -
    -

    command_delete(message): Takes 1 argument message which contains the message from the user -along with the chat ID of the user chat. It then calls delete.py to run to execute the add functionality. -Commands used to run this: commands=[‘display’]

    -
    -
    -
        delete.run(message, bot)
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    @bot.message_handler(commands=['budget'])
    -def command_budget(message):
    -    budget.run(message, bot)
    -
    -
    -
    -
    -
    -
    - # -
    -

    not used

    -
    -
    -
    def addUserHistory(chat_id, user_record):
    -    global user_list
    -    if(not(str(chat_id) in user_list)):
    -        user_list[str(chat_id)] = []
    -    user_list[str(chat_id)].append(user_record)
    -    return user_list
    -
    -
    -
    -
    -
    -
    - # -
    -

    main() The entire bot’s execution begins here. It ensure the bot variable begins -polling and actively listening for requests from telegram.

    -
    -
    -
    def main():
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        try:
    -        bot.polling(none_stop=True)
    -    except Exception as e:
    -        logging.exception(str(e))
    -        time.sleep(3)
    -        print("Connection Timeout")
    -
    -
    -if __name__ == '__main__':
    -    main()
    -
    -
    -
    -
    -
    -
    - diff --git a/python_docs/delete.html b/python_docs/delete.html deleted file mode 100644 index e8ea707ca..000000000 --- a/python_docs/delete.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - delete.py - - - -
    -
    -
    -

    delete.py

    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    import helper
    -
    -
    -
    -
    -
    -
    - # -
    -

    Documentation of delete.py

    -
    -
    -
    -
    -
    -
    -
    -
    -
    - # -
    -

    run(message, bot): This is the main function used to implement the delete feature. -It takes 2 arguments for processing - message which is the message from the user, and bot -which is the telegram bot object from the main code.py function. It calls helper to get the user -history i.e chat ids of all user in the application, and if the user requesting a delete has their -data saved in myDollarBot i.e their chat ID has been logged before, run calls the deleteHistory(chat_id): -to remove it. Then it ensures this removal is saved in the datastore.

    -
    -
    -
    def run(message, bot):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        global user_list
    -    chat_id = message.chat.id
    -    delete_history_text = ""
    -    user_list = helper.read_json()
    -    if (str(chat_id) in user_list):
    -        helper.write_json(deleteHistory(chat_id))
    -        delete_history_text = "History has been deleted!"
    -    else:
    -        delete_history_text = "No records there to be deleted. Start adding your expenses to keep track of your spendings!"
    -    bot.send_message(chat_id, delete_history_text)
    -
    -
    -
    -
    -
    -
    - # -
    -

    function to delete a record

    -
    -
    -
    def deleteHistory(chat_id):
    -
    -
    -
    -
    -
    -
    - # -
    -

    deleteHistory(chat_id): It takes 1 argument for processing - chat_id which is the -chat_id of the user whose data is to deleted from the user list. It removes this entry from the user list.

    -
    -
    -
        global user_list
    -    if (str(chat_id) in user_list):
    -        del user_list[str(chat_id)]
    -    return user_list
    -
    -
    -
    -
    -
    -
    - diff --git a/python_docs/display.html b/python_docs/display.html deleted file mode 100644 index c8b9f7d88..000000000 --- a/python_docs/display.html +++ /dev/null @@ -1,276 +0,0 @@ - - - - - display.py - - - -
    -
    -
    -

    display.py

    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    import time
    -import os
    -import helper
    -import graphing
    -import logging
    -from telebot import types
    -from datetime import datetime
    -
    -
    -
    -
    -
    -
    - # -
    -

    Documentation of display.py

    -
    -
    -
    -
    -
    -
    -
    -
    -
    - # -
    -

    run(message, bot): This is the main function used to implement the delete feature. -It takes 2 arguments for processing - message which is the message from the user, and bot -which is the telegram bot object from the main code.py function.

    -
    -
    -
    def run(message, bot):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        helper.read_json()
    -    chat_id = message.chat.id
    -    history = helper.getUserHistory(chat_id)
    -    if history is None:
    -        bot.send_message(
    -            chat_id, "Oops! Looks like you do not have any spending records!")
    -    else:
    -        markup = types.ReplyKeyboardMarkup(one_time_keyboard=True)
    -        markup.row_width = 2
    -        for mode in helper.getSpendDisplayOptions():
    -            markup.add(mode)
    -
    -
    -
    -
    -
    -
    - # -
    -

    markup.add(‘Day’, ‘Month’)

    -
    -
    -
            msg = bot.reply_to(
    -            message, 'Please select a category to see the total expense', reply_markup=markup)
    -        bot.register_next_step_handler(msg, display_total, bot)
    -
    -
    -
    -
    -
    -
    - # -
    -

    display_total(message, bot): It takes 2 arguments for processing - message which is -the message from the user, and bot which is the telegram bot object from the -run(message, bot): function in the same file. This function loads the user’s data using -the helper file’s getUserHistory(chat_id) method. After this, depending on the option user -has chosen on the UI, it calls the calculate_spendings(queryResult): to process the queried -data to return to the user after which it finally passes the data to the UI for the user to view.

    -
    -
    -
    def display_total(message, bot):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        try:
    -        chat_id = message.chat.id
    -        DayWeekMonth = message.text
    -
    -        if DayWeekMonth not in helper.getSpendDisplayOptions():
    -            raise Exception(
    -                "Sorry I can't show spendings for \"{}\"!".format(DayWeekMonth))
    -
    -        history = helper.getUserHistory(chat_id)
    -        if history is None:
    -            raise Exception(
    -                "Oops! Looks like you do not have any spending records!")
    -
    -        bot.send_message(chat_id, "Hold on! Calculating...")
    -
    -
    -
    -
    -
    -
    - # -
    -

    show the bot “typing” (max. 5 secs)

    -
    -
    -
            bot.send_chat_action(chat_id, 'typing')
    -        time.sleep(0.5)
    -
    -        total_text = ""
    -
    -        if DayWeekMonth == 'Day':
    -            query = datetime.now().today().strftime(helper.getDateFormat())
    -
    -
    -
    -
    -
    -
    - # -
    -

    query all that contains today’s date

    -
    -
    -
                queryResult = [value for index, value in enumerate(
    -                history) if str(query) in value]
    -        elif DayWeekMonth == 'Month':
    -            query = datetime.now().today().strftime(helper.getMonthFormat())
    -
    -
    -
    -
    -
    -
    - # -
    -

    query all that contains today’s date

    -
    -
    -
                queryResult = [value for index, value in enumerate(
    -                history) if str(query) in value]
    -        total_text = calculate_spendings(queryResult)
    -        monthly_budget = helper.getCategoryBudget(chat_id)
    -        print("Print Total Spending", total_text)
    -        print("Print monthly budget", monthly_budget)
    -
    -        spending_text = ""
    -        if len(total_text) == 0:
    -            spending_text = "You have no spendings for {}!".format(
    -                DayWeekMonth)
    -            bot.send_message(chat_id, spending_text)
    -        else:
    -            spending_text = "Here are your total spendings {}:\nCATEGORIES,AMOUNT \n----------------------\n{}".format(
    -                DayWeekMonth.lower(), total_text)
    -            graphing.visualize(total_text, monthly_budget)
    -            bot.send_photo(chat_id, photo=open('expenditure.png', 'rb'))
    -            os.remove('expenditure.png')
    -    except Exception as e:
    -        logging.exception(str(e))
    -        bot.reply_to(message, str(e))
    -
    -
    -
    -
    -
    -
    - # -
    -

    calculate_spendings(queryResult): Takes 1 argument for processing - queryResult -which is the query result from the display total function in the same file. -It parses the query result and turns it into a form suitable for display on the UI by the user.

    -
    -
    -
    def calculate_spendings(queryResult):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        total_dict = {}
    -
    -    for row in queryResult:
    -
    -
    -
    -
    -
    -
    - # -
    -

    date,cat,money

    -
    -
    -
            s = row.split(',')
    -
    -
    -
    -
    -
    -
    - # -
    -

    cat

    -
    -
    -
            cat = s[1]
    -        if cat in total_dict:
    -
    -
    -
    -
    -
    -
    - # -
    -

    round up to 2 decimal

    -
    -
    -
                total_dict[cat] = round(total_dict[cat] + float(s[2]), 2)
    -        else:
    -            total_dict[cat] = float(s[2])
    -    total_text = ""
    -    for key, value in total_dict.items():
    -        total_text += str(key) + " $" + str(value) + "\n"
    -    return total_text
    -
    -
    -
    -
    -
    -
    - diff --git a/python_docs/edit.html b/python_docs/edit.html deleted file mode 100644 index cd9fb03fa..000000000 --- a/python_docs/edit.html +++ /dev/null @@ -1,289 +0,0 @@ - - - - - edit.py - - - -
    -
    -
    -

    edit.py

    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    import re
    -import helper
    -from telebot import types
    -from telegram_bot_calendar import DetailedTelegramCalendar, LSTEP
    -
    -
    -
    -
    -
    -
    - # -
    -

    Documentation of edit.py

    -
    -
    -
    -
    -
    -
    -
    -
    -
    - # -
    -

    run(message, bot): This is the main function used to implement the delete feature. -It takes 2 arguments for processing - message which is the message from the user, and -bot which is the telegram bot object from the main code.py function. It gets the details -for the expense to be edited from here and passes control onto edit2(m, bot): for further processing.

    -
    -
    -
    def run(m, bot):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        chat_id = m.chat.id
    -    markup = types.ReplyKeyboardMarkup(one_time_keyboard=True)
    -    markup.row_width = 2
    -    for c in helper.getUserHistory(chat_id):
    -        expense_data = c.split(',')
    -        str_date = "Date=" + expense_data[0]
    -        str_category = ",\t\tCategory=" + expense_data[1]
    -        str_amount = ",\t\tAmount=$" + expense_data[2]
    -        markup.add(str_date + str_category + str_amount)
    -    info = bot.reply_to(m, "Select expense to be edited:", reply_markup=markup)
    -    bot.register_next_step_handler(info, select_category_to_be_updated, bot)
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def select_category_to_be_updated(m, bot):
    -    info = m.text
    -    markup = types.ReplyKeyboardMarkup(one_time_keyboard=True)
    -    markup.row_width = 2
    -    selected_data = [] if info is None else info.split(',')
    -    for c in selected_data:
    -        markup.add(c.strip())
    -    choice = bot.reply_to(
    -        m, "What do you want to update?", reply_markup=markup)
    -    bot.register_next_step_handler(
    -        choice, enter_updated_data, bot, selected_data)
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def enter_updated_data(m, bot, selected_data):
    -
    -    choice1 = ""if m.text is None else m.text
    -    markup = types.ReplyKeyboardMarkup(one_time_keyboard=True)
    -    markup.row_width = 2
    -    for cat in helper.getSpendCategories():
    -        markup.add(cat)
    -
    -    if 'Date' in choice1:
    -
    -        calendar, step = DetailedTelegramCalendar().build()
    -        bot.send_message(m.chat.id,
    -                         f"Select {LSTEP[step]}",
    -                         reply_markup=calendar)
    -
    -
    -
    -
    -
    -
    - # -
    -

    def edit_date(m, bot): It takes 2 arguments for processing - message which is -the message from the user, and bot which is the telegram bot object from the -edit3(m, bot):: function in the same file. It takes care of date change and edits.

    -
    -
    -
            @bot.callback_query_handler(func=DetailedTelegramCalendar.func())
    -        def cal(c):
    -            result, key, step = DetailedTelegramCalendar().process(c.data)
    -
    -            if not result and key:
    -                bot.edit_message_text(f"Select {LSTEP[step]}",
    -                                      c.message.chat.id,
    -                                      c.message.message_id,
    -                                      reply_markup=key)
    -            elif result:
    -
    -                edit_date(bot, selected_data, result, c.message.chat.id)
    -
    -                bot.edit_message_text(f"Date is updated: {result}",
    -                                      c.message.chat.id,
    -                                      c.message.message_id)
    -
    -    if 'Category' in choice1:
    -
    -        new_cat = bot.reply_to(
    -            m, "Please select the new category", reply_markup=markup)
    -        bot.register_next_step_handler(new_cat, edit_cat, bot, selected_data)
    -
    -    if 'Amount' in choice1:
    -        new_cost = bot.reply_to(
    -            m, "Please type the new cost\n(Enter only numerical value)")
    -        bot.register_next_step_handler(new_cost, edit_cost, bot, selected_data)
    -
    -
    -def edit_date(bot, selected_data, result, chat_id):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        user_list = helper.read_json()
    -    new_date = str(result)
    -
    -    chat_id = chat_id
    -    data_edit = helper.getUserHistory(chat_id)
    -
    -    for i in range(len(data_edit)):
    -        user_data = data_edit[i].split(',')
    -        selected_date = selected_data[0].split('=')[1]
    -        selected_category = selected_data[1].split('=')[1]
    -        selected_amount = selected_data[2].split('=')[1]
    -        if user_data[0] == selected_date and user_data[1] == selected_category and user_data[2] == selected_amount[1:]:
    -            data_edit[i] = new_date + ',' + \
    -                selected_category + ',' + selected_amount[1:]
    -            break
    -
    -    user_list[str(chat_id)]['data'] = data_edit
    -    helper.write_json(user_list)
    -
    -
    -
    -
    -
    -
    - # -
    -

    def edit_cat(m, bot): It takes 2 arguments for processing - message which is the message -from the user, and bot which is the telegram bot object from the edit3(m, bot):: function in the -same file. It takes care of category change and edits.

    -
    -
    -
    def edit_cat(m, bot, selected_data):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        user_list = helper.read_json()
    -    chat_id = m.chat.id
    -    data_edit = helper.getUserHistory(chat_id)
    -    new_cat = "" if m.text is None else m.text
    -    for i in range(len(data_edit)):
    -        user_data = data_edit[i].split(',')
    -        selected_date = selected_data[0].split('=')[1]
    -        selected_category = selected_data[1].split('=')[1]
    -        selected_amount = selected_data[2].split('=')[1]
    -        if user_data[0] == selected_date and user_data[1] == selected_category and user_data[2] == selected_amount[1:]:
    -            data_edit[i] = selected_date + ',' + \
    -                new_cat + ',' + selected_amount[1:]
    -            break
    -
    -    user_list[str(chat_id)]['data'] = data_edit
    -    helper.write_json(user_list)
    -    bot.reply_to(m, "Category is updated")
    -
    -
    -
    -
    -
    -
    - # -
    -

    def edit_cost(m, bot): It takes 2 arguments for processing - message which is the -message from the user, and bot which is the telegram bot object from the -edit3(m, bot):: function in the same file. It takes care of cost change and edits.

    -
    -
    -
    def edit_cost(m, bot, selected_data):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        user_list = helper.read_json()
    -    new_cost = "" if m.text is None else m.text
    -    chat_id = m.chat.id
    -    data_edit = helper.getUserHistory(chat_id)
    -
    -    if helper.validate_entered_amount(new_cost) != 0:
    -        for i in range(len(data_edit)):
    -            user_data = data_edit[i].split(',')
    -            selected_date = selected_data[0].split('=')[1]
    -            selected_category = selected_data[1].split('=')[1]
    -            selected_amount = selected_data[2].split('=')[1]
    -            if user_data[0] == selected_date and user_data[1] == selected_category and user_data[2] == selected_amount[1:]:
    -                data_edit[i] = selected_date + ',' + \
    -                    selected_category + ',' + new_cost
    -                break
    -        user_list[str(chat_id)]['data'] = data_edit
    -        helper.write_json(user_list)
    -        bot.reply_to(m, "Expense amount is updated")
    -    else:
    -        bot.reply_to(m, "The cost is invalid")
    -        return
    -
    -
    -
    -
    -
    -
    - diff --git a/python_docs/estimate.html b/python_docs/estimate.html deleted file mode 100644 index 888d87aad..000000000 --- a/python_docs/estimate.html +++ /dev/null @@ -1,267 +0,0 @@ - - - - - estimate.py - - - -
    -
    -
    -

    estimate.py

    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    import time
    -import helper
    -import logging
    -from telebot import types
    -
    -
    -
    -
    -
    -
    - # -
    -

    Documentation of estimate.py

    -
    -
    -
    -
    -
    -
    -
    -
    -
    - # -
    -

    run(message, bot): This is the main function used to implement the estimate feature. -It takes 2 arguments for processing - message which is the message from the user, and -bot which is the telegram bot object from the main code.py function.

    -
    -
    -
    def run(message, bot):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        helper.read_json()
    -    chat_id = message.chat.id
    -    history = helper.getUserHistory(chat_id)
    -    if history is None:
    -        bot.send_message(
    -            chat_id, "Oops! Looks like you do not have any spending records!")
    -    else:
    -        markup = types.ReplyKeyboardMarkup(one_time_keyboard=True)
    -        markup.row_width = 2
    -        for mode in helper.getSpendEstimateOptions():
    -            markup.add(mode)
    -
    -
    -
    -
    -
    -
    - # -
    -

    markup.add(‘Day’, ‘Month’)

    -
    -
    -
            msg = bot.reply_to(
    -            message, 'Please select the period to estimate',
    -            reply_markup=markup)
    -        bot.register_next_step_handler(msg, estimate_total, bot)
    -
    -
    -
    -
    -
    -
    - # -
    -

    estimate_total(message, bot): It takes 2 arguments for processing - message which is the message -from the user, and bot which is the telegram bot object from the run(message, bot): function in the -same file. This function loads the user’s data using the helper file’s getUserHistory(chat_id) method. -After this, depending on the option user has chosen on the UI, it calls the calculate_estimate(queryResult, -days_to_estimate): to process the queried data to return to the user after which it finally passes the data to -the UI for the user to view.

    -
    -
    -
    def estimate_total(message, bot):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        try:
    -        chat_id = message.chat.id
    -        DayWeekMonth = message.text
    -
    -        if DayWeekMonth not in helper.getSpendEstimateOptions():
    -            raise Exception(
    -                "Sorry I can't show an estimate for \"{}\"!".format(
    -                    DayWeekMonth))
    -
    -        history = helper.getUserHistory(chat_id)
    -        if history is None:
    -            raise Exception(
    -                "Oops! Looks like you do not have any spending records!")
    -
    -        bot.send_message(chat_id, "Hold on! Calculating...")
    -
    -
    -
    -
    -
    -
    - # -
    -

    show the bot “typing” (max. 5 secs)

    -
    -
    -
            bot.send_chat_action(chat_id, 'typing')
    -        time.sleep(0.5)
    -
    -        total_text = ""
    -        days_to_estimate = 0
    -        if DayWeekMonth == 'Next day':
    -            days_to_estimate = 1
    -        elif DayWeekMonth == 'Next month':
    -            days_to_estimate = 30
    -
    -
    -
    -
    -
    -
    - # -
    -

    query all that contains today’s date -query all that contains all history

    -
    -
    -
            queryResult = [value for index, value in enumerate(history)]
    -
    -        total_text = calculate_estimate(queryResult, days_to_estimate)
    -
    -        spending_text = ""
    -        if len(total_text) == 0:
    -            spending_text = "You have no estimate for {}!".format(DayWeekMonth)
    -        else:
    -            spending_text = "Here are your estimated spendings"
    -            spending_text += " for the " + DayWeekMonth.lower()
    -            spending_text += ":\nCATEGORIES,AMOUNT \n----------------------\n"
    -            spending_text += total_text
    -
    -        bot.send_message(chat_id, spending_text)
    -    except Exception as e:
    -        logging.exception(str(e))
    -        bot.reply_to(message, str(e))
    -
    -
    -
    -
    -
    -
    - # -
    -

    calculate_estimate(queryResult, days_to_estimate): Takes 2 arguments for processing - queryResult -which is the query result from the estimate total function in the same file. It parses the query -result and turns it into a form suitable for display on the UI by the user. days_to_estimate is a -variable that tells the function to calculate the estimate for a specified period like a day or month.

    -
    -
    -
    def calculate_estimate(queryResult, days_to_estimate):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        total_dict = {}
    -    days_data_available = {}
    -    for row in queryResult:
    -
    -
    -
    -
    -
    -
    - # -
    -

    date,cat,money

    -
    -
    -
            s = row.split(',')
    -
    -
    -
    -
    -
    -
    - # -
    -

    cat

    -
    -
    -
            cat = s[1]
    -        date_str = s[0][0:11]
    -        if cat in total_dict:
    -
    -
    -
    -
    -
    -
    - # -
    -

    round up to 2 decimal

    -
    -
    -
                total_dict[cat] = round(total_dict[cat] + float(s[2]), 2)
    -        else:
    -            total_dict[cat] = float(s[2])
    -        if date_str not in days_data_available:
    -            days_data_available[date_str] = True
    -
    -    total_text = ""
    -    for key, value in total_dict.items():
    -        category_count = len(days_data_available)
    -        daily_avg = value / category_count
    -        estimated_avg = round(daily_avg * days_to_estimate, 2)
    -        total_text += str(key) + " $" + str(estimated_avg) + "\n"
    -    return total_text
    -
    -
    -
    -
    -
    -
    - diff --git a/python_docs/graphing.html b/python_docs/graphing.html deleted file mode 100644 index 77ba9ab98..000000000 --- a/python_docs/graphing.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - graphing.py - - - -
    -
    -
    -

    graphing.py

    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    import matplotlib
    -import matplotlib.pyplot as plt
    -import numpy as np
    -matplotlib.use('Agg')
    -
    -
    -
    -
    -
    -
    - # -
    -

    Documentation of graphing.py

    -
    -
    -
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def viewBudget(data):
    -    sorted_data = {}
    -    sorted_data = {k: v for k, v in sorted(data.items(), key=lambda item: item[1])}
    -    values =[]
    -    labels = []
    -    for k,v in sorted_data.items():
    -        values.append(v)
    -        labels.append(k)
    -    plt.pie(values, labels= values, counterclock=False, shadow=True)
    -    plt.title('Category Wise Budget')
    -    plt.legend(labels,loc="center")
    -    plt.savefig('budget.png', bbox_inches='tight')
    -
    -
    -
    -
    -
    -
    - # -
    -

    addlabels(x, y): This function is used to add the labels to the graph. -It takes the expense values and adds the values inside the bar graph for each expense type

    -
    -
    -
    def addlabels(x, y):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        for i in range(len(x)):
    -        plt.text(i, y[i] // 2, y[i], ha='center')
    -
    -
    -
    -
    -
    -
    - # -
    -

    visualize(total_text): This is the main function used to implement the graphing -part of display feature. This file is called from display.py, and takes the user -expense as a string and creates a dictionary which in turn is fed as input matplotlib to create the graph

    -
    -
    -
    def visualize(total_text, monthly_budget):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        n1 = len(monthly_budget)
    -    r1 = np.arange(n1)
    -    print(n1)
    -    print(r1)
    -    width = 0.45
    -    total_text_split = [line for line in total_text.split(
    -        '\n') if line.strip() != '']
    -    monthly_budget_str = ""
    -    for key, value in monthly_budget.items():
    -        monthly_budget_str += str(key) + " $" + str(value) + "\n"
    -    monthly_budget_split = [
    -        line for line in monthly_budget_str.split('\n') if line.strip() != '']
    -    categ_val = {}
    -    for i in total_text_split:
    -        a = i.split(' ')
    -        a[1] = a[1].replace("$", "")
    -        categ_val[a[0]] = float(a[1])
    -
    -    monthly_budget_categ_val = {}
    -    for j in monthly_budget_split:
    -        x = j.split(' ')
    -        x[1] = x[1].replace("$", "")
    -        monthly_budget_categ_val[x[0]] = float(x[1])
    -
    -    x = list(categ_val.keys())
    -    y = list(categ_val.values())
    -    n2 = len(x)
    -    r2 = np.arange(n2)
    -
    -    plt.bar(r2, categ_val.values(), width=width, label='your spendings')
    -    plt.bar(r1 + width, monthly_budget_categ_val.values(),
    -            width=width, label='your budget')
    -    addlabels(x, y)
    -
    -    plt.ylabel("Expenditure")
    -    plt.xlabel("Categories")
    -    plt.xticks(r1 + width/2, monthly_budget_categ_val.keys(), rotation=90)
    -    plt.legend()
    -    plt.savefig('expenditure.png', bbox_inches='tight')
    -
    -
    -
    -
    -
    -
    - diff --git a/python_docs/helper.html b/python_docs/helper.html deleted file mode 100644 index 36e1b9f98..000000000 --- a/python_docs/helper.html +++ /dev/null @@ -1,721 +0,0 @@ - - - - - helper.py - - - -
    -
    -
    -

    helper.py

    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    import re
    -import json
    -import os
    -from datetime import datetime
    -
    -spend_categories = ['Food', 'Groceries', 'Utilities',
    -                    'Transport', 'Shopping', 'Miscellaneous']
    -choices = ['Date', 'Category', 'Cost']
    -spend_display_option = ['Day', 'Month']
    -spend_estimate_option = ['Next day', 'Next month']
    -update_options = {
    -    'continue': 'Continue',
    -    'exit': 'Exit'
    -}
    -
    -budget_options = {
    -    'update': 'Add/Update',
    -    'view': 'View',
    -    'delete': 'Delete'
    -}
    -
    -budget_types = {
    -    'overall': 'Overall Budget',
    -    'category': 'Category-Wise Budget'
    -}
    -
    -data_format = {
    -    'data': [],
    -    'budget': {
    -        'overall': None,
    -        'category': None
    -    }
    -}
    -
    -
    -
    -
    -
    -
    - # -
    -

    set of implemented commands and their description

    -
    -
    -
    commands = {
    -    'help': 'Display the list of commands.',
    -    'add': 'This option is for adding your expenses \
    -       \n 1. It will give you the list of categories to choose from. \
    -       \n 2. You will be prompted to enter the amount corresponding to your spending \
    -       \n 3.The message will be prompted to notify the addition of your expense with the amount,date, time and category ',
    -    'display': 'This option gives user a graphical representation(bar graph) of their expenditures \
    -        \n You will get an option to choose from day or month for better analysis of the expenses.',
    -    'estimate': 'This option gives you the estimate of expenditure for the next day/month. It calcuates based on your recorded spendings',
    -    'history': 'This option is to give you the detailed summary of your expenditure with Date, time ,category and amount. A quick lookup into your spendings',
    -    'delete': 'This option is to Clear/Erase all your records',
    -    'edit': 'This option helps you to go back and correct/update the missing details \
    -        \n 1. It will give you the list of your expenses you wish to edit \
    -        \n 2. It will let you change the specific field based on your requirements like amount/date/category',
    -    'budget': 'This option is to set/update/delete the budget. \
    -        \n 1. The Add/update category is to set the new budget or update the existing budget \
    -        \n 2. The view category gives the detail if budget is exceeding or in limit with the difference amount \
    -        \n 3. The delete category allows to delete the budget and start afresh!  '
    -}
    -
    -dateFormat = '%d-%b-%Y'
    -timeFormat = '%H:%M'
    -monthFormat = '%b-%Y'
    -
    -
    -
    -
    -
    -
    - # -
    -

    Documentation of helper.py

    -
    -
    -
    -
    -
    -
    -
    -
    -
    - # -
    -

    function to load .json expense record data

    -
    -
    -
    def read_json():
    -
    -
    -
    -
    -
    -
    - # -
    -

    read_json(): Function to load .json expense record data

    -
    -
    -
        try:
    -        if not os.path.exists('expense_record.json'):
    -            with open('expense_record.json', 'w') as json_file:
    -                json_file.write('{}')
    -            return json.dumps('{}')
    -        elif os.stat('expense_record.json').st_size != 0:
    -            with open('expense_record.json') as expense_record:
    -                expense_record_data = json.load(expense_record)
    -            return expense_record_data
    -
    -    except FileNotFoundError:
    -        print("---------NO RECORDS FOUND---------")
    -
    -
    -
    -
    -
    -
    - # -
    -

    write_json(user_list): Stores data into the datastore of the bot.

    -
    -
    -
    def write_json(user_list):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        try:
    -        with open('expense_record.json', 'w') as json_file:
    -            json.dump(user_list, json_file, ensure_ascii=False, indent=4)
    -    except FileNotFoundError:
    -        print('Sorry, the data file could not be found.')
    -
    -
    -
    -
    -
    -
    - # -
    -

    validate_entered_amount(amount_entered): Takes 1 argument, amount_entered. -It validates this amount’s format to see if it has been correctly entered by the user.

    -
    -
    -
    def validate_entered_amount(amount_entered):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        if amount_entered is None:
    -        return 0
    -    if re.match("^[1-9][0-9]{0,14}\\.[0-9]*$", amount_entered) or re.match("^[1-9][0-9]{0,14}$", amount_entered):
    -        amount = round(float(amount_entered), 2)
    -        if amount > 0:
    -            return str(amount)
    -    return 0
    -
    -
    -
    -
    -
    -
    - # -
    -

    getUserHistory(chat_id): Takes 1 argument chat_id and uses this to get the relevant user’s historical data.

    -
    -
    -
    def getUserHistory(chat_id):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        data = getUserData(chat_id)
    -    if data is not None:
    -        return data['data']
    -    return None
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def getUserData(chat_id):
    -    user_list = read_json()
    -    if user_list is None:
    -        return None
    -    if (str(chat_id) in user_list):
    -        return user_list[str(chat_id)]
    -    return None
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def throw_exception(e, message, bot, logging):
    -    logging.exception(str(e))
    -    bot.reply_to(message, 'Oh no! ' + str(e))
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def createNewUserRecord():
    -    return data_format
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def getOverallBudget(chatId):
    -    data = getUserData(chatId)
    -    if data is None:
    -        return None
    -    return data['budget']['overall']
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def getCategoryBudget(chatId):
    -    data = getUserData(chatId)
    -    if data is None:
    -        return None
    -    return data['budget']['category']
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def getCategoryBudgetByCategory(chatId, cat):
    -    if not isCategoryBudgetByCategoryAvailable(chatId, cat):
    -        return None
    -    data = getCategoryBudget(chatId)
    -    return data[cat]
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def canAddBudget(chatId):
    -    return (getOverallBudget(chatId) is None) and (getCategoryBudget(chatId) is None)
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def isOverallBudgetAvailable(chatId):
    -    return getOverallBudget(chatId) is not None
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def isCategoryBudgetAvailable(chatId):
    -    return getCategoryBudget(chatId) is not None
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def isCategoryBudgetByCategoryAvailable(chatId, cat):
    -    data = getCategoryBudget(chatId)
    -    if data is None:
    -        return False
    -    return cat in data.keys()
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def display_remaining_budget(message, bot, cat):
    -    chat_id = message.chat.id
    -    if isOverallBudgetAvailable(chat_id):
    -        display_remaining_overall_budget(message, bot)
    -    elif isCategoryBudgetByCategoryAvailable(chat_id, cat):
    -        display_remaining_category_budget(message, bot, cat)
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def display_remaining_overall_budget(message, bot):
    -    print('here')
    -    chat_id = message.chat.id
    -    remaining_budget = calculateRemainingOverallBudget(chat_id)
    -    print("here", remaining_budget)
    -    if remaining_budget >= 0:
    -        msg = '\nRemaining Overall Budget is $' + str(remaining_budget)
    -    else:
    -        msg = '\nBudget Exceded!\nExpenditure exceeds the budget by $' + \
    -            str(remaining_budget)[1:]
    -    bot.send_message(chat_id, msg)
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def calculateRemainingOverallBudget(chat_id):
    -    budget = getOverallBudget(chat_id)
    -    history = getUserHistory(chat_id)
    -    query = datetime.now().today().strftime(getMonthFormat())
    -    queryResult = [value for index, value in enumerate(
    -        history) if str(query) in value]
    -
    -    return float(budget) - calculate_total_spendings(queryResult)
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def calculate_total_spendings(queryResult):
    -    total = 0
    -
    -    for row in queryResult:
    -        s = row.split(',')
    -        total = total + float(s[2])
    -    return total
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def display_remaining_category_budget(message, bot, cat):
    -    chat_id = message.chat.id
    -    remaining_budget = calculateRemainingCategoryBudget(chat_id, cat)
    -    if remaining_budget >= 0:
    -        msg = '\nRemaining Budget for ' + cat + ' is $' + str(remaining_budget)
    -    else:
    -        msg = '\nBudget for ' + cat + \
    -            ' Exceded!\nExpenditure exceeds the budget by $' + \
    -            str(abs(remaining_budget))
    -    bot.send_message(chat_id, msg)
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def calculateRemainingCategoryBudget(chat_id, cat):
    -    budget = getCategoryBudgetByCategory(chat_id, cat)
    -    history = getUserHistory(chat_id)
    -    query = datetime.now().today().strftime(getMonthFormat())
    -    queryResult = [value for index, value in enumerate(
    -        history) if str(query) in value]
    -
    -    return float(budget) - calculate_total_spendings_for_category(queryResult, cat)
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def calculate_total_spendings_for_category(queryResult, cat):
    -    total = 0
    -
    -    for row in queryResult:
    -        s = row.split(',')
    -        if cat == s[1]:
    -            total = total + float(s[2])
    -    return total
    -
    -
    -
    -
    -
    -
    - # -
    -

    getSpendCategories(): This functions returns the spend categories used in the bot. These are defined the same file.

    -
    -
    -
    def getSpendCategories():
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        return spend_categories
    -
    -
    -
    -
    -
    -
    - # -
    -

    getSpendDisplayOptions(): This functions returns the spend display options used in the bot. These are defined the same file.

    -
    -
    -
    def getSpendDisplayOptions():
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        return spend_display_option
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def getSpendEstimateOptions():
    -    return spend_estimate_option
    -
    -
    -
    -
    -
    -
    - # -
    -

    getCommands(): This functions returns the command options used in the bot. These are defined the same file.

    -
    -
    -
    def getCommands():
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        return commands
    -
    -
    -
    -
    -
    -
    - # -
    -

    getCommands(): This functions returns the command options used in the bot. These are defined the same file.

    -
    -
    -
    def getDateFormat():
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        return dateFormat
    -
    -
    -
    -
    -
    -
    - # -
    -

    def getTimeFormat(): This functions returns the time format used in the bot.

    -
    -
    -
    def getTimeFormat():
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        return timeFormat
    -
    -
    -
    -
    -
    -
    - # -
    -

    def getMonthFormat(): This functions returns the month format used in the bot.

    -
    -
    -
    def getMonthFormat():
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        return monthFormat
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def getChoices():
    -    return choices
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def getBudgetOptions():
    -    return budget_options
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def getBudgetTypes():
    -    return budget_types
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    def getUpdateOptions():
    -    return update_options
    -
    -
    -
    -
    -
    -
    - diff --git a/python_docs/history.html b/python_docs/history.html deleted file mode 100644 index 540b6b8a8..000000000 --- a/python_docs/history.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - history.py - - - -
    -
    -
    -

    history.py

    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
    import helper
    -import logging
    -
    -
    -
    -
    -
    -
    - # -
    -

    Documentation of history.py

    -
    -
    -
    -
    -
    -
    -
    -
    -
    - # -
    -

    run(message, bot): This is the main function used to implement the delete feature. -It takes 2 arguments for processing - message which is the message from the user, and bot which -is the telegram bot object from the main code.py function. It calls helper.py to get the user’s -historical data and based on whether there is data available, it either prints an error message or -displays the user’s historical data.

    -
    -
    -
    def run(message, bot):
    -
    -
    -
    -
    -
    -
    - # -
    - -
    -
    -
        try:
    -        helper.read_json()
    -        chat_id = message.chat.id
    -        user_history = helper.getUserHistory(chat_id)
    -        spend_total_str = ""
    -        if user_history is None:
    -            raise Exception("Sorry! No spending records found!")
    -        spend_total_str = "Here is your spending history : \nDATE, CATEGORY, AMOUNT\n----------------------\n"
    -        if len(user_history) == 0:
    -            spend_total_str = "Sorry! No spending records found!"
    -        else:
    -            for rec in user_history:
    -                spend_total_str += str(rec) + "\n"
    -        bot.send_message(chat_id, spend_total_str)
    -    except Exception as e:
    -        logging.exception(str(e))
    -        bot.reply_to(message, "Oops!" + str(e))
    -
    -
    -
    -
    -
    -
    - From 7870a4ea3031cb6a06740fd1ce2526c0556b4a0d Mon Sep 17 00:00:00 2001 From: Srinath Srinivasan Date: Tue, 17 Oct 2023 18:55:08 -0400 Subject: [PATCH 061/135] code cleanup (partial) --- code/add.py | 35 ++++------------------------------- code/analytics.py | 2 +- code/budget.py | 5 +---- code/budget_update.py | 10 +--------- code/budget_view.py | 5 +---- code/code.py | 41 +++++++---------------------------------- code/delete.py | 4 +--- code/display.py | 8 +------- code/edit.py | 13 +------------ code/estimate.py | 7 +------ code/get_analysis.py | 8 ++------ code/graphing.py | 15 --------------- code/helper.py | 40 ++++------------------------------------ 13 files changed, 25 insertions(+), 168 deletions(-) diff --git a/code/add.py b/code/add.py index 4de930a1e..87ee22c4a 100644 --- a/code/add.py +++ b/code/add.py @@ -3,12 +3,10 @@ from telebot import types from datetime import datetime - option = {} # === Documentation of add.py === - def run(message, bot): """ run(message, bot): This is the main function used to implement the add feature. @@ -32,9 +30,7 @@ def run(message, bot): msg = bot.reply_to(message, "Select Category", reply_markup=markup) bot.register_next_step_handler(msg, post_category_selection, bot) - def post_append_spend(message, bot): - markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) markup.row_width = 2 selected_category = message.text @@ -48,7 +44,6 @@ def post_append_spend(message, bot): msg = bot.reply_to(message, "Select Category", reply_markup=markup) bot.register_next_step_handler(msg, post_category_selection, bot) - def post_category_selection(message, bot): """ post_category_selection(message, bot): It takes 2 arguments for processing - @@ -71,39 +66,28 @@ def post_category_selection(message, bot): raise Exception( 'Sorry, I don\'t recognise this category "{}"!'.format(selected_category) ) - option[chat_id] = selected_category message = bot.send_message( - chat_id, - "How much did you spend on {}? \n(Numeric values only)".format( - str(option[chat_id]) - ), - ) + chat_id, "How much did you spend on {}? \n(Numeric values only)".format(str(option[chat_id])),) bot.register_next_step_handler(message, post_amount_input, bot, selected_category) except Exception as e: logging.exception(str(e)) bot.reply_to(message, "Oh no! " + str(e)) display_text = "" commands = helper.getCommands() - for ( - c - ) in ( - commands - ): # generate help text out of the commands dictionary defined at the top + for c in commands: + # generate help text out of the commands dictionary defined at the top display_text += "/" + c + ": " display_text += commands[c] + "\n" bot.send_message(chat_id, "Please select a menu option from below:") bot.send_message(chat_id, display_text) - def record_expense(message, bot, previous_expenses): print("In function to record expense") - chat_id = message.chat.id selection = message.text print(selection) markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) markup.row_width = 2 - chat_id = message.chat.id if selection == "Y" or selection == "y": for record in previous_expenses: markup.add(record) @@ -127,22 +111,17 @@ def post_expense_selection(message,bot): try: if amount_value == 0: # cannot be $0 spending raise Exception("Spent amount has to be a non-zero number.") - - date_of_entry = datetime.today().strftime( - helper.getDateFormat()) - + date_of_entry = datetime.today().strftime(helper.getDateFormat()) date_str, category_str, amount_str = ( str(date_of_entry), str(category), str(amount_value), ) - helper.write_json( add_user_record( chat_id, "{},{},{}".format(date_str, category_str, amount_str) ) ) - bot.send_message( chat_id, "The following expenditure has been recorded: You have spent ${} for {} on {}".format( @@ -164,7 +143,6 @@ def post_amount_input(message, bot, selected_category): """ try: print("---------------------------------------------------") - chat_id = message.chat.id print(chat_id) amount_entered = message.text @@ -177,19 +155,16 @@ def post_amount_input(message, bot, selected_category): date_of_entry = datetime.today().strftime( helper.getDateFormat()) - date_str, category_str, amount_str = ( str(date_of_entry), str(option[chat_id]), str(amount_value), ) - helper.write_json( add_user_record( chat_id, "{},{},{}".format(date_str, category_str, amount_str) ) ) - bot.send_message( chat_id, "The following expenditure has been recorded: You have spent ${} for {} on {}".format( @@ -201,7 +176,6 @@ def post_amount_input(message, bot, selected_category): logging.exception(str(e)) bot.reply_to(message, "Oh no. " + str(e)) - def add_user_record(chat_id, record_to_be_added): """ add_user_record(chat_id, record_to_be_added): Takes 2 arguments - @@ -217,7 +191,6 @@ def add_user_record(chat_id, record_to_be_added): user_list[str(chat_id)] = helper.createNewUserRecord() user_list[str(chat_id)]["data"].append(record_to_be_added) - print("!" * 5) print("after") print(user_list) diff --git a/code/analytics.py b/code/analytics.py index d3d13ffca..ed130772e 100644 --- a/code/analytics.py +++ b/code/analytics.py @@ -5,7 +5,7 @@ def run(message, bot): """ - run(message, bot): This is the main function used to implement the budget feature. + run(message, bot): This is the main function used to implement the analytics feature. It pop ups a menu on the bot asking the user to choose to view analytics after which control is given to post_operation_selection(message, bot) for further proccessing. It takes 2 arguments for processing - message which is the message from the user, and bot which is the diff --git a/code/budget.py b/code/budget.py index 0bd1359ae..d06840560 100644 --- a/code/budget.py +++ b/code/budget.py @@ -7,7 +7,6 @@ # === Documentation of budget.py === - def run(message, bot): """ run(message, bot): This is the main function used to implement the budget feature. @@ -24,7 +23,6 @@ def run(message, bot): msg = bot.reply_to(message, "Select Operation", reply_markup=markup) bot.register_next_step_handler(msg, post_operation_selection, bot) - def post_operation_selection(message, bot): """ post_operation_selection(message, bot): It takes 2 arguments for processing - message which @@ -48,5 +46,4 @@ def post_operation_selection(message, bot): elif op == options["delete"]: budget_delete.run(message, bot) except Exception as e: - # print("hit exception") - helper.throw_exception(e, message, bot, logging) + helper.throw_exception(e, message, bot, logging) \ No newline at end of file diff --git a/code/budget_update.py b/code/budget_update.py index 3e8a1ff07..72bc1b203 100644 --- a/code/budget_update.py +++ b/code/budget_update.py @@ -5,14 +5,12 @@ # === Documentation of budget_update.py === - def run(message, bot): """ run(message, bot): This is the main function used to implement the budget add/update features. It takes 2 arguments for processing - message which is the message from the user, and bot which is the telegram bot object from the main code.py function. """ - chat_id = message.chat.id markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) options = helper.getBudgetTypes() markup.row_width = 2 @@ -21,7 +19,6 @@ def run(message, bot): msg = bot.reply_to(message, "Select Budget Type", reply_markup=markup) bot.register_next_step_handler(msg, post_type_selection, bot) - def post_type_selection(message, bot): """ post_type_selection(message, bot): It takes 2 arguments for processing - message @@ -45,7 +42,6 @@ def post_type_selection(message, bot): except Exception as e: helper.throw_exception(e, message, bot, logging) - def update_overall_budget(chat_id, bot): """ update_overall_budget(message, bot): It takes 2 arguments for processing - message which is the @@ -65,7 +61,6 @@ def update_overall_budget(chat_id, bot): ) bot.register_next_step_handler(message, post_overall_amount_input, bot) - def post_overall_amount_input(message, bot): """ update_overall_budget(message, bot): It takes 2 arguments for processing - @@ -178,8 +173,6 @@ def add_new_category(message,bot): msg = bot.reply_to(message, "Select Category", reply_markup=markup) bot.register_next_step_handler(msg, post_category_selection, bot) - - def post_category_amount_input(message, bot, category): """ post_category_amount_input(message, bot, category): It takes 2 arguments for @@ -238,7 +231,6 @@ def post_category_add(message, bot): msg = bot.reply_to(message, "Select Option", reply_markup=markup) bot.register_next_step_handler(msg, post_option_selection, bot) - def post_option_selection(message, bot): """ post_option_selection(message, bot): It takes 2 arguments for processing - @@ -252,4 +244,4 @@ def post_option_selection(message, bot): options = helper.getUpdateOptions() print("here") if selected_option == options["continue"]: - update_category_budget(message, bot) + update_category_budget(message, bot) \ No newline at end of file diff --git a/code/budget_view.py b/code/budget_view.py index b6958fcf7..5b56a2820 100644 --- a/code/budget_view.py +++ b/code/budget_view.py @@ -5,7 +5,6 @@ # === Documentation of budget_view.py === - def run(message, bot): """ run(message, bot): This is the main function used to implement the budget feature. @@ -29,7 +28,6 @@ def run(message, bot): except Exception as e: helper.throw_exception(e, message, bot, logging) - def display_overall_budget(message, bot): """ display_overall_budget(message, bot): It takes 2 arguments for processing - @@ -41,7 +39,6 @@ def display_overall_budget(message, bot): data = helper.getOverallBudget(chat_id) bot.send_message(chat_id, "Overall Budget: $" + data) - def display_category_budget(message, bot): """ display_category_budget(message, bot): It takes 2 arguments for processing - @@ -57,4 +54,4 @@ def display_category_budget(message, bot): bot.send_photo(chat_id, photo=open("budget.png", "rb")) os.remove("budget.png") else: - bot.send_message(chat_id, "You are yet to set your budget for different categories.") + bot.send_message(chat_id, "You are yet to set your budget for different categories.") \ No newline at end of file diff --git a/code/code.py b/code/code.py index fb56fa46e..09a54eee5 100644 --- a/code/code.py +++ b/code/code.py @@ -33,8 +33,6 @@ # === Documentation of code.py === # Define listener for requests by user - - def listener(user_requests): """ listener(user_requests): Takes 1 argument user_requests and logs all user @@ -67,10 +65,8 @@ def listener(user_requests): except Exception: pass - bot.set_update_listener(listener) - @bot.message_handler(commands=["help"]) def help(m): @@ -82,11 +78,9 @@ def help(m): commands = helper.getCommands() for c in commands: message += "/" + c + ", " - # message += commands[c] + "\n\n" message += "\nUse /menu for detailed instructions about these commands." bot.send_message(chat_id, message) - @bot.message_handler(commands=["faq"]) def faq(m): @@ -108,7 +102,6 @@ def faq(m): ) bot.send_message(chat_id, faq_message) - # defines how the /start and /help commands have to be handled/processed @bot.message_handler(commands=["start", "menu"]) def start_and_menu_command(m): @@ -121,29 +114,21 @@ def start_and_menu_command(m): global user_list chat_id = m.chat.id - # print('receieved start or menu command.') - # text_into = "Welcome to the Dollar Bot!" - text_intro = ( ("Welcome to the Dollar Bot! \n" "DollarBot can track all your expenses with simple and easy to use commands :) \n" "Here is the complete menu. \n\n") ) - # "Type /faq or /help to get stated." commands = helper.getCommands() - for ( - c - ) in ( - commands - ): # generate help text out of the commands dictionary defined at the top + for c in commands: + # generate help text out of the commands dictionary defined at the top text_intro += "/" + c + ": " text_intro += commands[c] + "\n\n" bot.send_message(chat_id, text_intro) return True - -# defines how the /new command has to be handled/processed +# defines how the /add command has to be handled/processed @bot.message_handler(commands=["add"]) def command_add(message): """ @@ -153,10 +138,7 @@ def command_add(message): """ add.run(message, bot) - -# function to fetch expenditure history of the user - - +# handles pdf command @bot.message_handler(commands=["pdf"]) def command_pdf(message): """ @@ -166,7 +148,6 @@ def command_pdf(message): """ pdf.run(message, bot) - # function to fetch expenditure history of the user @bot.message_handler(commands=["history"]) def command_history(message): @@ -177,7 +158,6 @@ def command_history(message): """ history.run(message, bot) - # function to edit date, category or cost of a transaction @bot.message_handler(commands=["edit"]) def command_edit(message): @@ -188,7 +168,6 @@ def command_edit(message): """ edit.run(message, bot) - # function to display total expenditure @bot.message_handler(commands=["display"]) def command_display(message): @@ -199,13 +178,11 @@ def command_display(message): """ display.run(message, bot) - # function to estimate future expenditure @bot.message_handler(commands=["estimate"]) def command_estimate(message): estimate.run(message, bot) - # handles "/delete" command @bot.message_handler(commands=["delete"]) def command_delete(message): @@ -216,7 +193,7 @@ def command_delete(message): """ delete.run(message, bot) - +# handles budget command @bot.message_handler(commands=["budget"]) def command_budget(message): budget.run(message, bot) @@ -230,6 +207,7 @@ def command_analytics(message): """ analytics.run(message, bot) +# handles predict command @bot.message_handler(commands=["predict"]) def command_predict(message): """ @@ -238,9 +216,6 @@ def command_predict(message): """ predict.run(message, bot) -# not used - - def addUserHistory(chat_id, user_record): global user_list if not (str(chat_id) in user_list): @@ -248,7 +223,6 @@ def addUserHistory(chat_id, user_record): user_list[str(chat_id)].append(user_record) return user_list - def main(): """ main() The entire bot's execution begins here. It ensure the bot variable begins @@ -261,6 +235,5 @@ def main(): time.sleep(3) print("Connection Timeout") - if __name__ == "__main__": - main() + main() \ No newline at end of file diff --git a/code/delete.py b/code/delete.py index 02586471a..c3a2649f2 100644 --- a/code/delete.py +++ b/code/delete.py @@ -2,7 +2,6 @@ # === Documentation of delete.py === - def run(message, bot): """ run(message, bot): This is the main function used to implement the delete feature. @@ -23,7 +22,6 @@ def run(message, bot): delete_history_text = "No records there to be deleted. Start adding your expenses to keep track of your spendings!" bot.send_message(chat_id, delete_history_text) - # function to delete a record def deleteHistory(chat_id): """ @@ -35,4 +33,4 @@ def deleteHistory(chat_id): user_list[str(chat_id)]["data"] = [] user_list[str(chat_id)]["budget"]["overall"] = str(0) user_list[str(chat_id)]["budget"]["category"] = {} - return user_list + return user_list \ No newline at end of file diff --git a/code/display.py b/code/display.py index 0d7715980..9b72b5f20 100644 --- a/code/display.py +++ b/code/display.py @@ -7,7 +7,6 @@ # === Documentation of display.py === - def run(message, bot): """ run(message, bot): This is the main function used to implement the delete feature. @@ -26,7 +25,6 @@ def run(message, bot): markup.row_width = 2 for mode in helper.getSpendDisplayOptions(): markup.add(mode) - # markup.add('Day', 'Month') msg = bot.reply_to( message, "Please select a category to see the total expense", @@ -34,7 +32,6 @@ def run(message, bot): ) bot.register_next_step_handler(msg, display_total, bot) - def display_total(message, bot): """ display_total(message, bot): It takes 2 arguments for processing - message which is @@ -63,7 +60,6 @@ def display_total(message, bot): time.sleep(0.5) total_text = "" - if DayWeekMonth == "Day": query = datetime.now().today().strftime(helper.getDateFormat()) # query all that contains today's date @@ -91,12 +87,10 @@ def display_total(message, bot): ) graphing.visualize(total_text, monthly_budget) bot.send_photo(chat_id, photo=open("expenditure.png", "rb")) - # os.remove('expenditure.png') except Exception as e: logging.exception(str(e)) bot.reply_to(message, str(e)) - def calculate_spendings(queryResult): """ calculate_spendings(queryResult): Takes 1 argument for processing - queryResult @@ -118,4 +112,4 @@ def calculate_spendings(queryResult): total_text = "" for key, value in total_dict.items(): total_text += str(key) + " $" + str(value) + "\n" - return total_text + return total_text \ No newline at end of file diff --git a/code/edit.py b/code/edit.py index aead68037..d2bb43469 100644 --- a/code/edit.py +++ b/code/edit.py @@ -5,7 +5,6 @@ # === Documentation of edit.py === - def run(m, bot): """ run(message, bot): This is the main function used to implement the delete feature. @@ -29,7 +28,6 @@ def run(m, bot): info = bot.reply_to(m, "Select expense to be edited:", reply_markup=markup) bot.register_next_step_handler(info, select_category_to_be_updated, bot) - def select_category_to_be_updated(m, bot): info = m.text markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) @@ -41,9 +39,7 @@ def select_category_to_be_updated(m, bot): updated = [] bot.register_next_step_handler(choice, enter_updated_data, bot, selected_data, updated) - def enter_updated_data(m, bot, selected_data, updated): - choice1 = "" if m.text is None else m.text markup = types.ReplyKeyboardMarkup(one_time_keyboard=True) markup.row_width = 2 @@ -51,7 +47,6 @@ def enter_updated_data(m, bot, selected_data, updated): markup.add(cat) if "Date" in choice1: - calendar, step = DetailedTelegramCalendar().build() bot.send_message(m.chat.id, f"Select {LSTEP[step]}", reply_markup=calendar) @@ -67,15 +62,12 @@ def cal(c): reply_markup=key, ) elif result: - edit_date(bot, selected_data, result, c, updated) - bot.edit_message_text( f"Date is updated: {result}", c.message.chat.id, c.message.message_id, ) - if "Category" in choice1: new_cat = bot.reply_to(m, "Please select the new category", reply_markup=markup) @@ -98,7 +90,6 @@ def update_different_category(m, bot, selected_data, updated): choice = bot.reply_to(m, "What do you want to update?", reply_markup=markup) bot.register_next_step_handler(choice, enter_updated_data, bot, selected_data, updated) - def edit_date(bot, selected_data, result, c, updated): """ def edit_date(m, bot): It takes 2 arguments for processing - message which is @@ -135,7 +126,6 @@ def edit_date(m, bot): It takes 2 arguments for processing - message which is resp = bot.send_message(m.chat.id, "Do you want to update another category in this expense?(Y/N)") bot.register_next_step_handler(resp, update_different_category, bot, selected_data ,updated) - def edit_cat(m, bot, selected_data, updated): """ def edit_cat(m, bot): It takes 2 arguments for processing - message which is the message @@ -169,7 +159,6 @@ def edit_cat(m, bot): It takes 2 arguments for processing - message which is the resp = bot.send_message(m.chat.id, "Do you want to update another category in this expense?(Y/N)") bot.register_next_step_handler(resp, update_different_category, bot, selected_data, updated) - def edit_cost(m, bot, selected_data, updated): """ def edit_cost(m, bot): It takes 2 arguments for processing - message which is the @@ -204,4 +193,4 @@ def edit_cost(m, bot): It takes 2 arguments for processing - message which is th bot.send_message(m.chat.id, "You have updated all the categories for this expense") return resp = bot.send_message(m.chat.id, "Do you want to update another category in this expense?(Y/N)") - bot.register_next_step_handler(resp, update_different_category, bot, selected_data, updated) + bot.register_next_step_handler(resp, update_different_category, bot, selected_data, updated) \ No newline at end of file diff --git a/code/estimate.py b/code/estimate.py index c03fb7e81..e9e48c7b1 100644 --- a/code/estimate.py +++ b/code/estimate.py @@ -5,7 +5,6 @@ # === Documentation of estimate.py === - def run(message, bot): """ run(message, bot): This is the main function used to implement the estimate feature. @@ -24,13 +23,11 @@ def run(message, bot): markup.row_width = 2 for mode in helper.getSpendEstimateOptions(): markup.add(mode) - # markup.add('Day', 'Month') msg = bot.reply_to( message, "Please select the period to estimate", reply_markup=markup ) bot.register_next_step_handler(msg, estimate_total, bot) - def estimate_total(message, bot): """ estimate_total(message, bot): It takes 2 arguments for processing - message which is the message @@ -67,7 +64,6 @@ def estimate_total(message, bot): # query all that contains today's date # query all that contains all history queryResult = [value for index, value in enumerate(history)] - total_text = calculate_estimate(queryResult, days_to_estimate) spending_text = "" @@ -84,7 +80,6 @@ def estimate_total(message, bot): logging.exception(str(e)) bot.reply_to(message, str(e)) - def calculate_estimate(queryResult, days_to_estimate): """ calculate_estimate(queryResult, days_to_estimate): Takes 2 arguments for processing - queryResult @@ -114,4 +109,4 @@ def calculate_estimate(queryResult, days_to_estimate): daily_avg = value / category_count estimated_avg = round(daily_avg * days_to_estimate, 2) total_text += str(key) + " $" + str(estimated_avg) + "\n" - return total_text + return total_text \ No newline at end of file diff --git a/code/get_analysis.py b/code/get_analysis.py index eb71a6472..665c69f99 100644 --- a/code/get_analysis.py +++ b/code/get_analysis.py @@ -1,10 +1,6 @@ import helper -import logging import graphing from telebot import types -import matplotlib.pyplot as plt -import time -import numpy as np import os def viewOverallBudget(chat_id, bot): @@ -15,7 +11,7 @@ def viewOverallBudget(chat_id, bot): for cat in helper.spend_categories: if helper.isCategoryBudgetByCategoryAvailable(chat_id, cat): category_budget[cat] = helper.getCategoryBudgetByCategory(chat_id, cat) - + graphing.overall_split(category_budget) bot.send_photo(chat_id, photo=open("overall_split.png", 'rb'), reply_markup=types.ReplyKeyboardRemove()) os.remove("overall_split.png") @@ -51,7 +47,7 @@ def viewHistory(chat_id, bot): if not helper.getUserHistory(chat_id): bot.send_message(chat_id, "No history available", reply_markup=types.ReplyKeyboardRemove()) return - + cat_spend_dict = helper.getUserHistoryDateExpense(chat_id) graphing.time_series(cat_spend_dict) diff --git a/code/graphing.py b/code/graphing.py index 300a49ba0..d522a3c9c 100644 --- a/code/graphing.py +++ b/code/graphing.py @@ -1,16 +1,11 @@ import matplotlib import matplotlib.pyplot as plt import numpy as np -import helper -import logging -from telebot import types -import time matplotlib.use("Agg") # === Documentation of graphing.py === - def viewBudget(data): sorted_data = {} sorted_data = {k: v for k, v in sorted(data.items(), key=lambda item: item[1])} @@ -25,7 +20,6 @@ def viewBudget(data): plt.savefig("budget.png", bbox_inches="tight") plt.close() - def addlabels(x, y): """ addlabels(x, y): This function is used to add the labels to the graph. @@ -34,7 +28,6 @@ def addlabels(x, y): for i in range(len(x)): plt.text(i, y[i] // 2, y[i], ha="center") - def visualize(total_text, monthly_budget): """ visualize(total_text): This is the main function used to implement the graphing @@ -87,7 +80,6 @@ def overall_split(category_budget): _, ax = plt.subplots() ax.pie(category_budget.values(), labels=category_budget.keys(), autopct='%1.1f%%') ax.set_title("Budget split") - random_time = time.time() img_name = "overall_split.png" plt.savefig(img_name) plt.close() @@ -96,14 +88,12 @@ def spend_wise_split(category_spend): _, ax = plt.subplots() ax.pie(category_spend.values(), labels=category_spend.keys(), autopct='%1.1f%%') ax.set_title("Category-wise spend") - random_time = time.time() img_name = "spend_wise.png" plt.savefig(img_name) plt.close() def remaining(category_spend_percent): labels = tuple(category_spend_percent.keys()) - remaining_val_list = [100 - x for x in list(category_spend_percent.values())] weight_counts = { @@ -111,11 +101,7 @@ def remaining(category_spend_percent): "Remaining": remaining_val_list, } width = 0.5 - _, ax = plt.subplots() - # simply impossible to submit anything other than an np ndarray here - # matplotlib simply fails to recognize shape of any other "array-like" - #object bottom = np.zeros(len(list(category_spend_percent.values()))) for boolean, weight_count in weight_counts.items(): @@ -133,7 +119,6 @@ def remaining(category_spend_percent): plt.close() def time_series(cat_spend_dict): - _, ax = plt.subplots() plt.plot(cat_spend_dict.keys(), cat_spend_dict.values(), marker='o') plt.title("Time-series of expenses") plt.xlabel("Time") diff --git a/code/helper.py b/code/helper.py index 1add7e340..51a63ba0f 100644 --- a/code/helper.py +++ b/code/helper.py @@ -2,7 +2,6 @@ import json import os from datetime import datetime - from notify import notify spend_categories = [ @@ -17,13 +16,9 @@ spend_display_option = ["Day", "Month"] spend_estimate_option = ["Next day", "Next month"] update_options = {"continue": "Continue", "exit": "Exit"} - budget_options = {"update": "Add/Update", "view": "View", "delete": "Delete"} - budget_types = {"overall": "Overall Budget", "category": "Category-Wise Budget"} - data_format = {"data": [], "budget": {"overall": None, "category": None}} - analytics_options = {"overall": "Overall budget split", "spend": "Split of current spend", "remaining": "Remaining value", "history": "Time series graph of spend history"} # set of implemented commands and their description @@ -56,8 +51,6 @@ # === Documentation of helper.py === # function to load .json expense record data - - def read_json(): """ read_json(): Function to load .json expense record data @@ -75,7 +68,6 @@ def read_json(): except FileNotFoundError: print("---------NO RECORDS FOUND---------") - def write_json(user_list): """ write_json(user_list): Stores data into the datastore of the bot. @@ -86,7 +78,6 @@ def write_json(user_list): except FileNotFoundError: print("Sorry, the data file could not be found.") - def validate_entered_amount(amount_entered): """ validate_entered_amount(amount_entered): Takes 1 argument, amount_entered. @@ -102,7 +93,6 @@ def validate_entered_amount(amount_entered): return str(amount) return 0 - def getUserHistory(chat_id): """ getUserHistory(chat_id): Takes 1 argument chat_id and uses this to get the relevant user's historical data. @@ -136,57 +126,48 @@ def getUserData(chat_id): return user_list[str(chat_id)] return None - def throw_exception(e, message, bot, logging): logging.exception(str(e)) bot.reply_to(message, "Oh no! " + str(e)) - def createNewUserRecord(): return data_format - def getOverallBudget(chatId): data = getUserData(chatId) if data is None or data == {}: return None return data["budget"]["overall"] - def getCategoryBudget(chatId): data = getUserData(chatId) if data is None: return None return data["budget"]["category"] - def getCategoryBudgetByCategory(chatId, cat): if not isCategoryBudgetByCategoryAvailable(chatId, cat): return None data = getCategoryBudget(chatId) return data[cat] - def canAddBudget(chatId): overall_budget = getOverallBudget(chatId) category_budget = getCategoryBudget(chatId) return (overall_budget is None and overall_budget != '0') and (category_budget is None and category_budget != {}) - def isOverallBudgetAvailable(chatId): overall_budget = getOverallBudget(chatId) if overall_budget is not None and overall_budget != '0': return True return False - def isCategoryBudgetAvailable(chatId): category_budget = getCategoryBudget(chatId) if category_budget is not None and category_budget != {}: return True return False - def isCategoryBudgetByCategoryAvailable(chatId, cat): data = getCategoryBudget(chatId) if data is None or data == {}: @@ -204,15 +185,12 @@ def get_uncategorized_amount(chatId, amount): uncategorized_budget = overall_budget - category_budget return str(round(uncategorized_budget,2)) - - def display_remaining_budget(message, bot, cat): print("inside") chat_id = message.chat.id display_remaining_category_budget(message, bot, cat) display_remaining_overall_budget(message, bot) - def display_remaining_overall_budget(message, bot): print("here") chat_id = message.chat.id @@ -224,28 +202,22 @@ def display_remaining_overall_budget(message, bot): msg = ( "\nBudget Exceded!\nExpenditure exceeds the budget by $" + str(remaining_budget)[1:] ) - # notify() bot.send_message(chat_id, msg) - def calculateRemainingOverallBudget(chat_id): budget = getOverallBudget(chat_id) history = getUserHistory(chat_id) query = datetime.now().today().strftime(getMonthFormat()) - queryResult = [value for index, value in enumerate(history) if str(query) in value] - + queryResult = [value for _, value in enumerate(history) if str(query) in value] return float(budget) - calculate_total_spendings(queryResult) - def calculate_total_spendings(queryResult): total = 0 - for row in queryResult: s = row.split(",") total = total + float(s[2]) return total - def display_remaining_category_budget(message, bot, cat): chat_id = message.chat.id if not getCategoryBudgetByCategory(chat_id,cat): @@ -260,26 +232,22 @@ def display_remaining_category_budget(message, bot, cat): msg = "\nRemaining Budget for " + cat + " is $" + str(remaining_budget) bot.send_message(chat_id, msg) - def calculateRemainingCategoryBudget(chat_id, cat): budget = getCategoryBudgetByCategory(chat_id, cat) history = getUserHistory(chat_id) query = datetime.now().today().strftime(getMonthFormat()) - queryResult = [value for index, value in enumerate(history) if str(query) in value] - + queryResult = [value for _, value in enumerate(history) if str(query) in value] return float(budget) - calculate_total_spendings_for_category(queryResult, cat) def calculateRemainingCateogryBudgetPercent(chat_id, cat): budget = getCategoryBudgetByCategory(chat_id, cat) history = getUserHistory(chat_id) query = datetime.now().today().strftime(getMonthFormat()) - queryResult = [value for index, value in enumerate(history) if str(query) in value] - + queryResult = [value for _, value in enumerate(history) if str(query) in value] return (calculate_total_spendings_for_category(queryResult, cat)/float(budget))*100 def calculate_total_spendings_for_category(queryResult, cat): total = 0 - for row in queryResult: s = row.split(",") if cat == s[1]: @@ -289,7 +257,7 @@ def calculate_total_spendings_for_category(queryResult, cat): def calculate_total_spendings_for_cateogory_chat_id(chat_id, cat): history = getUserHistory(chat_id) query = datetime.now().today().strftime(getMonthFormat()) - queryResult = [value for index, value in enumerate(history) if str(query) in value] + queryResult = [value for _, value in enumerate(history) if str(query) in value] return calculate_total_spendings_for_category(queryResult, cat) def updateBudgetCategory(chatId, category): From 24f7f624fe274e81846e637b43a5de84d8f467af Mon Sep 17 00:00:00 2001 From: Srinath Srinivasan Date: Tue, 17 Oct 2023 18:56:00 -0400 Subject: [PATCH 062/135] cleanup helper.py --- code/helper.py | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/code/helper.py b/code/helper.py index 51a63ba0f..d18217a35 100644 --- a/code/helper.py +++ b/code/helper.py @@ -294,66 +294,57 @@ def getFormattedPredictions(category_predictions): predicted_budget += category_budgets return predicted_budget +#getters def getSpendCategories(): """ getSpendCategories(): This functions returns the spend categories used in the bot. These are defined the same file. """ return spend_categories - def getSpendDisplayOptions(): """ getSpendDisplayOptions(): This functions returns the spend display options used in the bot. These are defined the same file. """ return spend_display_option - def getSpendEstimateOptions(): return spend_estimate_option - def getCommands(): """ getCommands(): This functions returns the command options used in the bot. These are defined the same file. """ return commands - def getDateFormat(): """ getCommands(): This functions returns the command options used in the bot. These are defined the same file. """ return dateFormat - def getTimeFormat(): """ def getTimeFormat(): This functions returns the time format used in the bot. """ return timeFormat - def getMonthFormat(): """ def getMonthFormat(): This functions returns the month format used in the bot. """ return monthFormat - def getChoices(): return choices - def getBudgetOptions(): return budget_options - def getBudgetTypes(): return budget_types - def getUpdateOptions(): return update_options def getAnalyticsOptions(): - return analytics_options + return analytics_options \ No newline at end of file From fd96fff12eb516997b98acfb527a2a617722f622 Mon Sep 17 00:00:00 2001 From: Srinath Srinivasan Date: Tue, 17 Oct 2023 18:56:21 -0400 Subject: [PATCH 063/135] cleanup history.py --- code/history.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/history.py b/code/history.py index c52978512..30732c7a6 100644 --- a/code/history.py +++ b/code/history.py @@ -3,7 +3,6 @@ # === Documentation of history.py === - def run(message, bot): """ run(message, bot): This is the main function used to implement the delete feature. @@ -28,4 +27,4 @@ def run(message, bot): bot.send_message(chat_id, spend_total_str) except Exception as e: logging.exception(str(e)) - bot.reply_to(message, "Oops!" + str(e)) + bot.reply_to(message, "Oops!" + str(e)) \ No newline at end of file From 4d4107ff76ef8ec0ba45d716e09669867f6346ac Mon Sep 17 00:00:00 2001 From: Aditi Killedar Date: Tue, 17 Oct 2023 18:56:45 -0400 Subject: [PATCH 064/135] combined scattered docs fixing issue #1 completely. --- Developer_ReadMe.md | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/Developer_ReadMe.md b/Developer_ReadMe.md index 04e3c42e8..c92e7b51e 100644 --- a/Developer_ReadMe.md +++ b/Developer_ReadMe.md @@ -13,8 +13,24 @@ -## Function Documentation - +## Code Documentation by Functionality + +For a detailed explanation of the code, follow the links below: + +
      +
    1. Main Code File
    2. + Features: +
    3. Add
    4. +
    5. Budget Delete
    6. +
    7. Budget Update
    8. +
    9. Budget View
    10. +
    11. Delete
    12. +
    13. Display
    14. +
    15. Estimate
    16. +
    17. Graphing
    18. +
    19. Helper
    20. +
    21. History
    22. +
    ## Testing @@ -40,10 +56,6 @@ coverage report This project is licensed under the terms of the MIT license. Please check [License](https://github.com/usmanwardag/dollar_bot/blob/main/LICENSE) for more details. -## Code Documentation - -Checkout the [docs](https://github.com/aditikilledar/dollar_bot_SE23/tree/main/docs) for a detailed explanation of each functionality and the expected working along with code file location. - ## How to Contribute We would be happy to receive contributions! If you'd like to, please go through our [CONTRIBUTING.md](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/CONTRIBUTING.md) From 455b8112419045fa25911a4ff52af4c5925cc5b7 Mon Sep 17 00:00:00 2001 From: Srinath Srinivasan Date: Tue, 17 Oct 2023 18:57:08 -0400 Subject: [PATCH 065/135] cleanup notify --- code/notifier.py | 3 +-- code/notify.py | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/code/notifier.py b/code/notifier.py index 3ed207634..d968c504d 100644 --- a/code/notifier.py +++ b/code/notifier.py @@ -3,7 +3,6 @@ configs = Properties() - class TelegramNotifier: def __init__(self, token: str, parse_mode: str = None, chat_id: str = None): self._token = token @@ -46,4 +45,4 @@ def send(self, msg: str): f"Failed to send notification:\n\tstatus_code={response.status_code}\n\tjson:\n\t{response.json()}" ) except Exception as e: - print(f"Failed to send notification:\n\texception:\n\t{e}") + print(f"Failed to send notification:\n\texception:\n\t{e}") \ No newline at end of file diff --git a/code/notify.py b/code/notify.py index 391a092c0..36ed57e8f 100644 --- a/code/notify.py +++ b/code/notify.py @@ -3,7 +3,6 @@ configs = Properties() - def notify(chat_id, cat, amount): print("inside notify") with open("user.properties", "rb") as read_prop: @@ -12,4 +11,4 @@ def notify(chat_id, cat, amount): print(token) notifier = TelegramNotifier(token, parse_mode="HTML", chat_id=chat_id) msg = "Budget for " + cat + " exceeded by $" + amount + " !!!!" - notifier.send(msg) + notifier.send(msg) \ No newline at end of file From 7c3e7546d592dcb5bb07eda4a1bd32cde2ef68b2 Mon Sep 17 00:00:00 2001 From: Srinath Srinivasan Date: Tue, 17 Oct 2023 18:59:59 -0400 Subject: [PATCH 066/135] cleanup complete --- code/pdf.py | 5 +---- code/predict.py | 19 +++++++------------ 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/code/pdf.py b/code/pdf.py index b3484d951..bdf419ec3 100644 --- a/code/pdf.py +++ b/code/pdf.py @@ -1,15 +1,12 @@ import helper import logging -import get_analysis from matplotlib import pyplot as plt -from matplotlib.backends.backend_pdf import PdfPages from fpdf import FPDF import graphing import os # === Documentation of pdf.py === - def run(message, bot): """ run(message, bot): This is the main function used to implement the pdf save feature. @@ -90,4 +87,4 @@ def run(message, bot): os.remove(image) except Exception as e: logging.exception(str(e)) - bot.reply_to(message, "Oops!" + str(e)) + bot.reply_to(message, "Oops!" + str(e)) \ No newline at end of file diff --git a/code/predict.py b/code/predict.py index cf697c925..7ad435226 100644 --- a/code/predict.py +++ b/code/predict.py @@ -1,16 +1,15 @@ -# average expenses by max no. of days between expenes, extrapolate to one month -# minimum 2 expenses in category to predict category wise -# minimum 2 expenses overall to predict overall budget -# factor in savings after extrapolation - import time import helper import logging -from telebot import types from datetime import datetime # === Documentation of predict.py === - +""" +average expenses by max no. of days between expenes, extrapolate to one month +minimum 2 expenses in category to predict category wise +minimum 2 expenses overall to predict overall budget +factor in savings after extrapolation +""" def run(message, bot): """ @@ -28,7 +27,6 @@ def run(message, bot): else: predict_total(message,bot) - def predict_total(message, bot): """ estimate_total(message, bot): It takes 2 arguments for processing - message which is the message @@ -47,7 +45,6 @@ def predict_total(message, bot): # show the bot "typing" (max. 5 secs) bot.send_chat_action(chat_id, "typing") time.sleep(0.5) - budget = helper.getOverallBudget(chat_id) category_spendings = {} for category in available_categories: category_spendings[category] = predict_category_spending(category_wise_history[category]) @@ -59,7 +56,6 @@ def predict_total(message, bot): logging.exception(str(e)) bot.reply_to(message, str(e)) - def predict_category_spending(category_history): """ predict_category_spending(history): Takes 1 arguments for processing - category_history @@ -94,5 +90,4 @@ def predict_overall_spending(chat_id, category_wise_spending): else: history = helper.getUserHistory(chat_id) overall_spending = predict_category_spending(history) - return overall_spending - + return overall_spending \ No newline at end of file From 401599a501f306c364eff8b86594b0ba7533658f Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Tue, 17 Oct 2023 19:14:18 -0400 Subject: [PATCH 067/135] edge case bugfixes --- code/budget_update.py | 20 ++++++++++++-------- code/get_analysis.py | 8 +++++--- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/code/budget_update.py b/code/budget_update.py index 3e8a1ff07..4b7442dfd 100644 --- a/code/budget_update.py +++ b/code/budget_update.py @@ -197,11 +197,18 @@ def post_category_amount_input(message, bot, category): if user_list[str(chat_id)]["budget"]["category"] is None: user_list[str(chat_id)]["budget"]["category"] = {} user_list[str(chat_id)]["budget"]["category"][category] = amount_value - if(user_list[str(chat_id)]["budget"]["overall"]): - if round(float(user_list[str(chat_id)]["budget"]["category"]["uncategorized"]) - float(amount_value),2) > 0: - user_list[str(chat_id)]["budget"]["category"]["uncategorized"] = str(round(float(user_list[str(chat_id)]["budget"]["category"]["uncategorized"]) - float(amount_value),2)) - else: - user_list[str(chat_id)]["budget"]["category"]["uncategorized"] = str(0) + message = bot.send_message( + chat_id, "Budget for " + category + " is now: $" + amount_value + ) + if helper.isCategoryBudgetByCategoryAvailable(chat_id, category): + currentBudget = helper.getCategoryBudgetByCategory(chat_id, category) + amount_value = str(float(amount_value) - float(currentBudget)) + if(user_list[str(chat_id)]["budget"]["overall"]) and user_list[str(chat_id)]["budget"]["overall"] != '0': + if 'uncategorized' in user_list[str(chat_id)]["budget"]["category"].keys(): + if round(float(user_list[str(chat_id)]["budget"]["category"]["uncategorized"]) - float(amount_value),2) > 0: + user_list[str(chat_id)]["budget"]["category"]["uncategorized"] = str(round(float(user_list[str(chat_id)]["budget"]["category"]["uncategorized"]) - float(amount_value),2)) + else: + user_list[str(chat_id)]["budget"]["category"]["uncategorized"] = str(0) helper.write_json(user_list) total_budget = 0 for c in helper.getCategoryBudget(chat_id).values(): @@ -211,9 +218,6 @@ def post_category_amount_input(message, bot, category): else: user_list[str(chat_id)]["budget"]["overall"] = amount_value helper.write_json(user_list) - message = bot.send_message( - chat_id, "Budget for " + category + " is now: $" + amount_value - ) budget_view.display_overall_budget(message, bot) print(user_list) post_category_add(message, bot) diff --git a/code/get_analysis.py b/code/get_analysis.py index eb71a6472..4eaed90f1 100644 --- a/code/get_analysis.py +++ b/code/get_analysis.py @@ -12,9 +12,11 @@ def viewOverallBudget(chat_id, bot): bot.send_message(chat_id, "No category budget available", reply_markup=types.ReplyKeyboardRemove()) return category_budget = {} - for cat in helper.spend_categories: + for cat in helper.getCategoryBudget(chat_id): if helper.isCategoryBudgetByCategoryAvailable(chat_id, cat): - category_budget[cat] = helper.getCategoryBudgetByCategory(chat_id, cat) + cat_budget = helper.getCategoryBudgetByCategory(chat_id,cat) + if cat_budget != '0': + category_budget[cat] = cat_budget graphing.overall_split(category_budget) bot.send_photo(chat_id, photo=open("overall_split.png", 'rb'), reply_markup=types.ReplyKeyboardRemove()) @@ -22,7 +24,7 @@ def viewOverallBudget(chat_id, bot): def viewSpendWise(chat_id, bot): category_spend = {} - for cat in helper.spend_categories: + for cat in helper.getCategoryBudget(chat_id): spend = helper.calculate_total_spendings_for_cateogory_chat_id(chat_id,cat) if spend != 0: category_spend[cat] = spend From 91251a7dab31592ca0c4bd4fa0c1fcd270425ef9 Mon Sep 17 00:00:00 2001 From: Aditi Killedar Date: Tue, 17 Oct 2023 19:15:52 -0400 Subject: [PATCH 068/135] Issues Badge done --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 167fac38a..9c1813a88 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,8 @@ Are you a developer? -[![GitHub closed issues](https://img.shields.io/github/issues-closed/sak007/MyDollarBot-BOTGo)](https://github.com/sak007/MyDollarBot-BOTGo/issues?q=is%3Aissue+is%3Aclosed) +[![GitHub closed issues](https://img.shields.io/github/issues-closed/aditikilledar/dollar_bot_SE23)](https://github.com/aditikilledar/dollar_bot_SE23/issues?q=is%3Aissue+is%3Aclosed) +
    From bbc3b8a486c237c7e87d4f7fd180033fe364e4fc Mon Sep 17 00:00:00 2001 From: Aditi Killedar Date: Tue, 17 Oct 2023 19:19:39 -0400 Subject: [PATCH 070/135] Contributors Badge done --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 580da7b07..66bccc8d3 100644 --- a/README.md +++ b/README.md @@ -20,9 +20,13 @@ Are you a developer?
    Check out the video! -->
  • What's new in this version?
  • Installation and Setup
  • -
  • Functionalities
  • +
  • How to use?
  • Contributors
  • Acknowledgements
  • @@ -143,7 +143,7 @@ A successful run will generate a message on your terminal that says "TeleBot: St To run the script automatically at startup / reboot, simply add the `.run_forever.sh` script to your `.bashrc` file, which executes whenever you reboot your system. Click here for help adding to .bashrc files. -## Functionalities +## How to Use Here's a quick overview of how each of the commands work. Also see: Link at the end of each example for a more detailed version of the documentation. From 8a7e69756dd7fba154fe42b8e71d6aa8ad3ba1b9 Mon Sep 17 00:00:00 2001 From: Srinath Srinivasan Date: Wed, 18 Oct 2023 15:35:31 -0400 Subject: [PATCH 072/135] Create analytics.md --- docs/analytics.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 docs/analytics.md diff --git a/docs/analytics.md b/docs/analytics.md new file mode 100644 index 000000000..d24966e44 --- /dev/null +++ b/docs/analytics.md @@ -0,0 +1,21 @@ +# About DollarBot's /analytics Feature +This feature allows users to view graphical insights about their budgeting and expenses. + +There are four types of graphs that can be viewed. +1. + +# Location of Code for this Feature +The code that implements this feature can be found [here](https://github.com/sak007/MyDollarBot-BOTGo/blob/main/code/budget.py) + +# Code Description +## Functions + +1. run(message, bot): +This is the main function used to implement the budget feature. It pop ups a menu on the bot asking the user to choose to add, remove or display a budget, after which control is given to post_operation_selection(message, bot) for further proccessing. It takes 2 arguments for processing - **message** which is the message from the user, and **bot** which is the telegram bot object from the main code.py function. + +2. post_operation_selection(message, bot): +It takes 2 arguments for processing - **message** which is the message from the user, and **bot** which is the telegram bot object from the run(message, bot): function in the budget.py file. Depending on the action chosen by the user, it passes on control to the corresponding functions which are all located in different files. + + +# How to run this feature? +Once the project is running(please follow the instructions given in the main README.md for this), please type /budget into the telegram bot. From c449e1eb75c9b928e74cb26eb1e470ef4d22c693 Mon Sep 17 00:00:00 2001 From: Srinath Srinivasan Date: Wed, 18 Oct 2023 15:38:42 -0400 Subject: [PATCH 073/135] Update README.md adding analytics description --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 167fac38a..bc6618dea 100644 --- a/README.md +++ b/README.md @@ -148,7 +148,7 @@ Here's a quick overview of how each of the commands work. Also see: Link at the ``` add example add code here ``` [insert a GIF showing how to run here] -(More here.)[https://github.com/aditikilledar/dollar_bot_SE23/blob/docu-merging-scattered-docs/docs/add.md] +(https://github.com/aditikilledar/dollar_bot_SE23/blob/docu-merging-scattered-docs/docs/add.md)[Learn more here] ### Budget @@ -166,6 +166,10 @@ Here's a quick overview of how each of the commands work. Also see: Link at the ### Graphing and Analytics +Use /analytics to gain graphical insights about your budgets and spending. + +(https://github.com/aditikilledar/dollar_bot_SE23/blob/main/docs/analytics.md)[Learn more here] + ### Helper ### History From aef577c845fe9fcbf2f39364534b5ab90e86d898 Mon Sep 17 00:00:00 2001 From: Srinath Srinivasan Date: Wed, 18 Oct 2023 15:40:58 -0400 Subject: [PATCH 074/135] Update README.md Fixing links --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bc6618dea..17b5bec6d 100644 --- a/README.md +++ b/README.md @@ -148,7 +148,7 @@ Here's a quick overview of how each of the commands work. Also see: Link at the ``` add example add code here ``` [insert a GIF showing how to run here] -(https://github.com/aditikilledar/dollar_bot_SE23/blob/docu-merging-scattered-docs/docs/add.md)[Learn more here] +[Learn more here](https://github.com/aditikilledar/dollar_bot_SE23/blob/docu-merging-scattered-docs/docs/add.md) ### Budget @@ -168,7 +168,7 @@ Here's a quick overview of how each of the commands work. Also see: Link at the Use /analytics to gain graphical insights about your budgets and spending. -(https://github.com/aditikilledar/dollar_bot_SE23/blob/main/docs/analytics.md)[Learn more here] +[Learn more here](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/docs/analytics.md) ### Helper From f36359445799af7da60f354d0c4747b128533d68 Mon Sep 17 00:00:00 2001 From: Srinath Srinivasan Date: Wed, 18 Oct 2023 15:45:40 -0400 Subject: [PATCH 075/135] Update analytics.md completed analytics docs --- docs/analytics.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/docs/analytics.md b/docs/analytics.md index d24966e44..a5e956fd7 100644 --- a/docs/analytics.md +++ b/docs/analytics.md @@ -2,20 +2,24 @@ This feature allows users to view graphical insights about their budgeting and expenses. There are four types of graphs that can be viewed. -1. +1. View split of the overall budget category-wise +2. View split of current spending category-wise +3. View the remaining budget category-wise +4. View a time-series plot of the spending history # Location of Code for this Feature -The code that implements this feature can be found [here](https://github.com/sak007/MyDollarBot-BOTGo/blob/main/code/budget.py) +The code that implements this feature can be found [here](https://github.com/sak007/MyDollarBot-BOTGo/blob/main/code/analytics.py) # Code Description ## Functions 1. run(message, bot): -This is the main function used to implement the budget feature. It pop ups a menu on the bot asking the user to choose to add, remove or display a budget, after which control is given to post_operation_selection(message, bot) for further proccessing. It takes 2 arguments for processing - **message** which is the message from the user, and **bot** which is the telegram bot object from the main code.py function. +This is the main function used to implement the analytics feature. It pop ups a menu on the bot asking the user to choose type of analysis to display after which control is given to post_operation_selection(message, bot) for further proccessing. It takes 2 arguments for processing - **message** which is the message from the user, and **bot** which is the telegram bot object from the main code.py function. 2. post_operation_selection(message, bot): -It takes 2 arguments for processing - **message** which is the message from the user, and **bot** which is the telegram bot object from the run(message, bot): function in the budget.py file. Depending on the action chosen by the user, it passes on control to the corresponding functions which are all located in different files. +It takes 2 arguments for processing - **message** which is the message from the user, and **bot** which is the telegram bot object from the run(message, bot): function in the analytics.py file. Depending on the action chosen by the user, it passes on control to the corresponding functions which are all located in different files. +[Learn about the graph implementation here](https://github.com/sak007/MyDollarBot-BOTGo/blob/main/docs/graphing.md) # How to run this feature? -Once the project is running(please follow the instructions given in the main README.md for this), please type /budget into the telegram bot. +Once the project is running(please follow the instructions given in the main README.md for this), please type /analytics into the telegram bot. From 358045ab6411d610c918d4825c0e085379907f65 Mon Sep 17 00:00:00 2001 From: Srinath Srinivasan Date: Wed, 18 Oct 2023 15:51:56 -0400 Subject: [PATCH 076/135] Update graphing.md added new function descriptions --- docs/graphing.md | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/docs/graphing.md b/docs/graphing.md index 36ae40d9b..df2f9cdf4 100644 --- a/docs/graphing.md +++ b/docs/graphing.md @@ -1,10 +1,10 @@ # About MyDollarBot's /display Feature's Graph module This feature enables the user to see their expense in a graphical format to enable better UX. -Currently, the /display command will provide the expenses as a message to the users via the bot. To better the UX, we decided to add the option to show the expenses in a Bar Graph. +Currently, the /display & /analytics commands can display graphs. Use /analytics for better formats. # Location of Code for this Feature -The code that implements this feature can be found [here](https://github.com/sak007/MyDollarBot-BOTGo/blob/main/code/graphing.py) +The code that implements this feature can be found [here](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/code/graphing.py) # Code Description ## Functions @@ -15,5 +15,20 @@ This is the main function used to implement the graphing part of display feature 2. addlabels(x, y): This function is used to add the labels to the graph. It takes the expense values and adds the values inside the bar graph for each expense type +3. viewBudget(data): +This function saves a pie chart with the cateogry-wise budget split + +4. overall_split(category_budget): +This function is the updated version of viewBudget + +5. spend_wise_split(category_spend): +This function saves a pie chart with the category wise split of expenditure + +6. remaining(category_spend_percent): +This function saves a bar graph with the cateogry-wise % of budget remaining + +7. time_series(cat_spend_dict): +This function saves a time series graph with history of spending + # How to run this feature? After you've added sufficient input data, use the /display command and you can see the output in a pictorial representation. From e267dc635a55aef75d423cd7e6f7270e01d5241a Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Wed, 18 Oct 2023 21:35:27 -0400 Subject: [PATCH 077/135] bugfix in predict --- code/predict.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/predict.py b/code/predict.py index cf697c925..8412b87da 100644 --- a/code/predict.py +++ b/code/predict.py @@ -74,7 +74,10 @@ def predict_category_spending(category_history): total_spent += float(record.split(',')[2]) date = datetime.strptime(record.split(',')[0].split(' ')[0], helper.getDateFormat()) recorded_days.append(date) - day_difference = abs(int((recorded_days[0] - recorded_days[-1]).days)) + 1 + first = min(recorded_days) + last = max(recorded_days) + day_difference = abs(int((last - first).days)) + 1 + print(day_difference) avg_per_day = total_spent/day_difference predicted_spending = avg_per_day * 30 return round(predicted_spending,2) From 36b7a940804b61c7164fe3b1522ed89528565dce Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Wed, 18 Oct 2023 21:49:39 -0400 Subject: [PATCH 078/135] pdf report graph alignment --- code/pdf.py | 10 ++++++++-- code/predict.py | 1 - 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/code/pdf.py b/code/pdf.py index b3484d951..e3e5a4a5f 100644 --- a/code/pdf.py +++ b/code/pdf.py @@ -79,11 +79,17 @@ def run(message, bot): cat_spend_dict = helper.getUserHistoryDateExpense(chat_id) graphing.time_series(cat_spend_dict) - list_of_images = ["expense_history.png","overall_split.png","spend_wise.png","remaining.png","time_series.png"] + list_of_images = ["overall_split.png","spend_wise.png","remaining.png","time_series.png"] pdf = FPDF() pdf.add_page() + x_coord = 20 + y_coord = 30 for image in list_of_images: - pdf.image(image) + pdf.image(image,x=x_coord,y=y_coord,w=70,h=50) + x_coord += 80 + if x_coord > 100: + x_coord = 20 + y_coord += 60 pdf.output("expense_report.pdf", "F") bot.send_document(chat_id, open("expense_report.pdf", "rb")) for image in list_of_images: diff --git a/code/predict.py b/code/predict.py index 8412b87da..7ca001e04 100644 --- a/code/predict.py +++ b/code/predict.py @@ -77,7 +77,6 @@ def predict_category_spending(category_history): first = min(recorded_days) last = max(recorded_days) day_difference = abs(int((last - first).days)) + 1 - print(day_difference) avg_per_day = total_spent/day_difference predicted_spending = avg_per_day * 30 return round(predicted_spending,2) From 146d080e351bae9ea39e982ea3199e1c6434da6f Mon Sep 17 00:00:00 2001 From: shashank-madan <52149707+shashank-madan@users.noreply.github.com> Date: Wed, 18 Oct 2023 21:55:23 -0400 Subject: [PATCH 079/135] Update README.md --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 9a0490b89..0c01234fc 100644 --- a/README.md +++ b/README.md @@ -43,13 +43,14 @@ It's easy to setup, run and use on a daily basis! ## Why use DollarBot? With simple in-chat commands, this bot helps you: +- Set your own customized budget - Add/Record new spendings -- Display your spendings through engaging graphs -- Show the sum of your expenditure for the current day/month +- Display your spending trends through engaging graphs +- Predict your next month's budget based on your current expenditure - Display your spending history - Clear/Erase all your records - Edit/Change any spending details if you wish to -- View Analytics and export as csv +- View Analytics and export as a pdf ## Check out the video! @@ -62,8 +63,8 @@ We've considerably extended this project to make using DollarBot easy and engagi 2. Expressive Graphs 3. Budget Creation Updated 4. Analytics -5. Clearer PDF Reports -6. CSV Reports for Analytics use +5. Clearer and more informative PDF Reports +6. Budget prediction Check [this documentation out](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/docs/Whats_new.pdf) for an in-depth depiction of our changes. :) From 8444940701db5c58442581cbce562ce9c4769d55 Mon Sep 17 00:00:00 2001 From: shashank-madan <52149707+shashank-madan@users.noreply.github.com> Date: Wed, 18 Oct 2023 22:17:03 -0400 Subject: [PATCH 080/135] Update add.md --- docs/add.md | 42 +++++++++++++++++------------------------- 1 file changed, 17 insertions(+), 25 deletions(-) diff --git a/docs/add.md b/docs/add.md index 118589551..37478878a 100644 --- a/docs/add.md +++ b/docs/add.md @@ -10,43 +10,35 @@ Currently we have the following expense categories set by default: - Miscellaneous The user can choose a category and add the amount they have spent to be stored in the expense tracker. +The user can also choose to add their own category and record an expense for that category. +The user has the option to repeat any previously recorded expense (recurring expenses such as rent, utilities, etc.) # Location of Code for this Feature -The code that implements this feature can be found [here](https://github.com/sak007/MyDollarBot-BOTGo/blob/main/code/add.py) +The code that implements this feature can be found [here](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/code/add.py#L33) # Code Description ## Functions 1. run(message, bot): -This is the main function used to implement the add feature. It pop ups a menu on the bot asking the user to choose their expense category, after which control is given to post_category_selection(message, bot) for further proccessing. It takes 2 arguments for processing - **message** which is the message from the user, and **bot** which is the telegram bot object from the main code.py function. +This is the main function used to implement the add feature. It gives the user the option to repeat a previously recorded expense, or record a new one. It pop ups a menu on the bot asking the user to choose their expense category, after which control is given to post_category_selection(message, bot) for further proccessing. It takes 2 arguments for processing - **message** which is the message from the user, and **bot** which is the telegram bot object from the main code.py function. 2. post_category_selection(message, bot): - It takes 2 arguments for processing - **message** which is the message from the user, and **bot** which is the telegram bot object from the run(message, bot): function in the add.py file. It requests the user to enter the amount they have spent on the expense category chosen and then passes control to post_amount_input(message, bot): for further processing. +It takes 2 arguments for processing - **message** which is the message from the user, and **bot** which is the telegram bot object from the run(message, bot): function in the add.py file. If the user wants to add a new category, passes control to post_append_spend(message,bot): to update the categories. Otherwise, it requests the user to enter the amount they have spent on the expense category chosen and then passes control to post_amount_input(message, bot): for further processing. -3. post_amount_input(message, bot): - It takes 2 arguments for processing - **message** which is the message from the user, and **bot** which is the telegram bot object from the post_category_selection(message, bot): function in the add.py file. It takes the amount entered by the user, validates it with helper.validate() and then calls add_user_record to store it. +3. post_append_spend(message,bot): +This function adds the user defined category to the list of options available to record expenses, and then asks the user to pick the category for which they want to record an expense. The control passes back to post_category_selection(message, bot) once the user has selected the category to add an expense. -4. add_user_record(chat_id, record_to_be_added): - Takes 2 arguments - **chat_id** or the chat_id of the user's chat, and **record_to_be_added** which is the expense record to be added to the store. It then stores this expense record in the store. - -# How to run this feature? -Once the project is running(please follow the instructions given in the main README.md for this), please type /add into the telegram bot. - -Below you can see an example in text format: +4. record_expense(message, bot, previous_expenses): +This function takes **previous expenses** as an argument, which is the list of previously recorded expenses that users can choose to repeat. After the user selects the expense they want to repeat, it calls post_expense_selection(message,bot): to update and store the information. -dollarbot, [19.10.21 21:14] -[In reply to Sri Athithya Kruth] -Select Category +5. post_expense_selection(message,bot): +This function is called to record the previously recorded expense with the date updated to the current date. -Sri Athithya Kruth, [19.10.21 21:14] -Food +6. post_amount_input(message, bot): +It takes 2 arguments for processing - **message** which is the message from the user, and **bot** which is the telegram bot object from the post_category_selection(message, bot): function in the add.py file. It takes the amount entered by the user, validates it with helper.validate() and then calls add_user_record to store it. -dollarbot, [19.10.21 21:14] -How much did you spend on Food? -(Enter numeric values only) - -Sri Athithya Kruth, [19.10.21 21:14] -1212 +7. add_user_record(chat_id, record_to_be_added): + Takes 2 arguments - **chat_id** or the chat_id of the user's chat, and **record_to_be_added** which is the expense record to be added to the store. It then stores this expense record in the store. -dollarbot, [19.10.21 21:14] -The following expenditure has been recorded: You have spent $1212.0 for Food on 19-Oct-2021 21:14 +# How to run this feature? +Once the project is running(please follow the instructions given in the main README.md for this), please type /add into the telegram bot. From 21ad9f739e496b3a88f6a7fbca11adee225cc130 Mon Sep 17 00:00:00 2001 From: shashank-madan <52149707+shashank-madan@users.noreply.github.com> Date: Wed, 18 Oct 2023 22:18:01 -0400 Subject: [PATCH 081/135] Update budget.md --- docs/budget.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/budget.md b/docs/budget.md index 0aa356a45..75267af27 100644 --- a/docs/budget.md +++ b/docs/budget.md @@ -4,7 +4,7 @@ This feature enables the user to add, remove, edit or display a budget in their The user can choose a category and add the amount for the budget to be stored in the expense tracker. # Location of Code for this Feature -The code that implements this feature can be found [here](https://github.com/sak007/MyDollarBot-BOTGo/blob/main/code/budget.py) +The code that implements this feature can be found [here](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/code/budget.py) # Code Description ## Functions From 5c71e0220fd418af59844e335e1b108f6faf3206 Mon Sep 17 00:00:00 2001 From: shashank-madan <52149707+shashank-madan@users.noreply.github.com> Date: Wed, 18 Oct 2023 22:19:37 -0400 Subject: [PATCH 082/135] Update budget_delete.md --- docs/budget_delete.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/budget_delete.md b/docs/budget_delete.md index f8843532f..988d47b6e 100644 --- a/docs/budget_delete.md +++ b/docs/budget_delete.md @@ -2,7 +2,7 @@ The budget_view module contains all the functions required to implement the display delete/removal feature. In essence, all operations involved in removal and deletion of a budget are taken care of in this module and are implemented here. # Location of Code for this Feature -The code that implements this feature can be found [here](https://github.com/sak007/MyDollarBot-BOTGo/blob/main/code/budget_delete.py) +The code that implements this feature can be found [here](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/code/budget_delete.py) # Code Description ## Functions From 97c63c75b67c5dd63ea27e8b03e8110bd45373c9 Mon Sep 17 00:00:00 2001 From: shashank-madan <52149707+shashank-madan@users.noreply.github.com> Date: Wed, 18 Oct 2023 22:24:18 -0400 Subject: [PATCH 083/135] Update budget_update.md --- docs/budget_update.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/budget_update.md b/docs/budget_update.md index f41316847..02f2a8745 100644 --- a/docs/budget_update.md +++ b/docs/budget_update.md @@ -2,7 +2,7 @@ The budget_view module contains all the functions required to implement the display add and update features. In essence, all operations involved in addition of a new budget and updating an existing budget are taken care of in this module and are implemented here. # Location of Code for this Feature -The code that implements this feature can be found [here](https://github.com/sak007/MyDollarBot-BOTGo/blob/main/code/budget_update.py) +The code that implements this feature can be found [here](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/code/budget_update.py) # Code Description ## Functions @@ -45,4 +45,4 @@ It takes the category chosen by the user from the message object. If the message Otherwise, it exits the feature. # How to run this feature? -Once the project is running(please follow the instructions given in the main README.md for this), please type /budget into the telegram bot. Please follow the prompts on the screen to create a new budget. \ No newline at end of file +Once the project is running(please follow the instructions given in the main README.md for this), please type /budget into the telegram bot. Please follow the prompts on the screen to create a new budget. From 6998de2a9017b8cdc9bef679df378d0c3f3e74f2 Mon Sep 17 00:00:00 2001 From: shashank-madan <52149707+shashank-madan@users.noreply.github.com> Date: Wed, 18 Oct 2023 22:36:14 -0400 Subject: [PATCH 084/135] Update code.md --- docs/code.md | 44 +++++++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/docs/code.md b/docs/code.md index 096a6524c..3b9a28146 100644 --- a/docs/code.md +++ b/docs/code.md @@ -2,7 +2,7 @@ code.py is the main file from where calls to the corresponding .py files for all features are sent. It contains a number of endpoints which redirect to function calls in the corresponding files. # Location of Code for this Feature -The code that implements this feature can be found [here](https://github.com/sak007/MyDollarBot-BOTGo/blob/main/code/code.py) +The code that implements this feature can be found [here](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/code/code.py) # Code Description ## Functions @@ -13,23 +13,41 @@ The entire bot's execution begins here. It ensure the **bot** variable begins po 2. listener(user_requests): Takes 1 argument **user_requests** and logs all user interaction with the bot including all bot commands run and any other issue logs. -3. start_and_menu_command(m): +3. faq(m): +Prints out the frequently asked questions for users to understand some common doubts. Commands used to run this: command=['faq'] + +4. help(m): +Provides a succinct list of commands the user can use. Command used to run this: command=['help'] + +5. start_and_menu_command(m): Prints out the the main menu displaying the features that the bot offers and the corresponding commands to be run from the Telegram UI to use these features. Commands used to run this: commands=['start', 'menu'] -4. command_add(message) -Takes 1 argument **message** which contains the message from the user along with the chat ID of the user chat. It then calls add.py to run to execute the add functionality. Commands used to run this: commands=['add'] +6. command_add(message) +Takes 1 argument **message** which contains the message from the user along with the chat ID of the user chat. It then calls add.py to run the add functionality. Commands used to run this: command=['add'] + +7. command_history(message): +Takes 1 argument **message** which contains the message from the user along with the chat ID of the user chat. It then calls history.py to execute the history functionality. Commands used to run this: command=['history'] + +8. command_pdf(message): +Takes 1 argument **message** which contains the message from the user along with the chat ID of the user chat. It then calls pdf.py to run to execute the pdf functionality. Commands used to run this: command=['pdf'] + +9. command_analytics(message): +Takes 1 argument **message** which contains the message from the user along with the chat ID of the user chat. It then calls analytics.py which leverages get_analysis.py and graphing.py to perform the analytics. Commands used to run this: command=['analytics'] + +10. command_edit(message): +Takes 1 argument **message** which contains the message from the user along with the chat ID of the user chat. It then calls edit.py to run the edit functionality. Commands used to run this: command=['edit'] -5. command_history(message): -Takes 1 argument **message** which contains the message from the user along with the chat ID of the user chat. It then calls history.py to run to execute the add functionality. Commands used to run this: commands=['history'] +11. command_budget(message): +Takes 1 argument **message** which contains the message from the user along with the chat ID of the user chat. It then calls budget.py to execute the budget functionality. Commands used to run this: command=['budget'] -6. command_edit(message): -Takes 1 argument **message** which contains the message from the user along with the chat ID of the user chat. It then calls edit.py to run to execute the add functionality. Commands used to run this: commands=['edit'] +12. command_predict(message): +Takes 1 argument **message** which contains the message from the user along with the chat ID of the user chat. It then calls predict.py to execute the predict functionality. Commands used to run this: command=['predict'] -7. command_display(message): -Takes 1 argument **message** which contains the message from the user along with the chat ID of the user chat. It then calls display.py to run to execute the add functionality. Commands used to run this: commands=['display'] +13. command_display(message): +Takes 1 argument **message** which contains the message from the user along with the chat ID of the user chat. It then calls display.py to run to execute the add functionality. Commands used to run this: command=['display'] -8. command_delete(message): -Takes 1 argument **message** which contains the message from the user along with the chat ID of the user chat. It then calls delete.py to run to execute the add functionality. Commands used to run this: commands=['display'] +14. command_delete(message): +Takes 1 argument **message** which contains the message from the user along with the chat ID of the user chat. It then calls delete.py to run to execute the add functionality. Commands used to run this: command=['display'] # How to run this feature? -This file contains information on the main code.py file from where all features are run. Instructions to run this are the same as instructions to run the project and can be found in README.md. \ No newline at end of file +This file contains information on the main code.py file from where all features are run. Instructions to run this are the same as instructions to run the project and can be found in README.md. From 69a6e8827c4657e0df7ec4a3fd29884503ce4647 Mon Sep 17 00:00:00 2001 From: shashank-madan <52149707+shashank-madan@users.noreply.github.com> Date: Wed, 18 Oct 2023 22:46:29 -0400 Subject: [PATCH 085/135] Update delete.md --- docs/delete.md | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/docs/delete.md b/docs/delete.md index 7506c2f0e..7289973ea 100644 --- a/docs/delete.md +++ b/docs/delete.md @@ -2,7 +2,7 @@ This feature enables the user to delete all of their saved records till date in their expense tracker. # Location of Code for this Feature -The code that implements this feature can be found [here](https://github.com/sak007/MyDollarBot-BOTGo/blob/main/code/delete.py) +The code that implements this feature can be found [here](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/code/delete.py) # Code Description ## Functions @@ -15,11 +15,3 @@ It takes 1 argument for processing - **chat_id** which is the chat_id of the use # How to run this feature? Once the project is running(please follow the instructions given in the main README.md for this), please type /add into the telegram bot. - -Below you can see an example in text format: - -Sri Athithya Kruth, [19.10.21 21:50] -/delete - -dollarbot,[] -History has been deleted! \ No newline at end of file From ef7531d5eff645b924a9750f6331759f8032bf53 Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Thu, 19 Oct 2023 20:31:14 +0530 Subject: [PATCH 086/135] Create python-app.yml GitHub Actions yml file for Tests. --- .github/workflows/python-app.yml | 39 ++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .github/workflows/python-app.yml diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml new file mode 100644 index 000000000..f3d4fca89 --- /dev/null +++ b/.github/workflows/python-app.yml @@ -0,0 +1,39 @@ +# This workflow will install Python dependencies, run tests and lint with a single version of Python +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python + +name: Python application + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +permissions: + contents: read + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: "3.10" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flake8 pytest + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest + run: | + pytest From 0ba28ea1ea0f5383f2442886b891ae63855d95cf Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Thu, 19 Oct 2023 20:38:38 +0530 Subject: [PATCH 087/135] Update python-app.yml --- .github/workflows/python-app.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index f3d4fca89..def8bb53a 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -23,11 +23,6 @@ jobs: uses: actions/setup-python@v3 with: python-version: "3.10" - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install flake8 pytest - if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - name: Lint with flake8 run: | # stop the build if there are Python syntax errors or undefined names From 909f0a4726101cd5e03af6a088af7d83dfe05cc2 Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Thu, 19 Oct 2023 20:40:15 +0530 Subject: [PATCH 088/135] Update python-app.yml added code coverage --- .github/workflows/python-app.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index def8bb53a..f62c81f57 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -23,6 +23,10 @@ jobs: uses: actions/setup-python@v3 with: python-version: "3.10" + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@v3 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - name: Lint with flake8 run: | # stop the build if there are Python syntax errors or undefined names From 6e8df0f9bffb1e8eea1b97c1e765a0d9a23a1328 Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Thu, 19 Oct 2023 20:41:06 +0530 Subject: [PATCH 089/135] Added code cov From a7cbf102d400efdaa953e379dbccf2272314f77b Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Thu, 19 Oct 2023 20:44:54 +0530 Subject: [PATCH 090/135] Update python-app.yml with codecov secret --- .github/workflows/python-app.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index f62c81f57..56fe54890 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -26,7 +26,7 @@ jobs: - name: Upload coverage reports to Codecov uses: codecov/codecov-action@v3 env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + CODECOV_TOKEN: ${{ secrets.CODECOV_SECRET_10_10_2023}} - name: Lint with flake8 run: | # stop the build if there are Python syntax errors or undefined names From e6454e3ca340fcbba5c2cc96e3d3b7beb74e0999 Mon Sep 17 00:00:00 2001 From: shashank-madan Date: Thu, 19 Oct 2023 11:19:08 -0400 Subject: [PATCH 091/135] updated code documentation files --- docs/add.md | 2 +- docs/display.md | 25 +----------- docs/edit.md | 29 +++++++------- docs/estimate.md | 23 +---------- docs/estimate.png | Bin 740967 -> 0 bytes docs/expenses.jpeg | Bin 41644 -> 0 bytes docs/graphing.md | 21 ++++++++-- docs/helper.md | 97 ++++++++++++++++++++++++++++++++++++++++----- docs/history.md | 25 +----------- 9 files changed, 127 insertions(+), 95 deletions(-) delete mode 100644 docs/estimate.png delete mode 100644 docs/expenses.jpeg diff --git a/docs/add.md b/docs/add.md index 37478878a..9d4ba7266 100644 --- a/docs/add.md +++ b/docs/add.md @@ -14,7 +14,7 @@ The user can also choose to add their own category and record an expense for tha The user has the option to repeat any previously recorded expense (recurring expenses such as rent, utilities, etc.) # Location of Code for this Feature -The code that implements this feature can be found [here](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/code/add.py#L33) +The code that implements this feature can be found [here](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/code/add.py) # Code Description ## Functions diff --git a/docs/display.md b/docs/display.md index 0867121fb..14a918bea 100644 --- a/docs/display.md +++ b/docs/display.md @@ -2,7 +2,7 @@ This feature enables the user to view their expenses for the past month or past day. The option to choose month or day pops up on the screen and they can choose their preference to be displayed afterwards. # Location of Code for this Feature -The code that implements this feature can be found [here](https://github.com/sak007/MyDollarBot-BOTGo/blob/main/code/display.py) +The code that implements this feature can be found [here](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/code/display.py) # Code Description ## Functions @@ -18,25 +18,4 @@ It takes 2 arguments for processing - **message** which is the message from the 3. calculate_spendings(queryResult): Takes 1 argument for processing - **queryResult** which is the query result from the display total function in the same file. It parses the query result and turns it into a form suitable for display on the UI by the user. -# How to run this feature? -Sri Athithya Kruth, [20.10.21 20:33] -/display - -mydollarbot20102021, [20.10.21 20:33] -[In reply to Sri Athithya Kruth] -Please select a category to see the total expense - -Sri Athithya Kruth, [20.10.21 20:33] -Day - -mydollarbot20102021, [20.10.21 20:33] -Hold on! Calculating... - -mydollarbot20102021, [20.10.21 20:33] - -Here are your total spendings day: - -CATEGORIES,AMOUNT ----------------------- -Transport $1022.0 -Groceries $12.0 +# How to run this feature? \ No newline at end of file diff --git a/docs/edit.md b/docs/edit.md index ecdf8f81d..e1d9e7114 100644 --- a/docs/edit.md +++ b/docs/edit.md @@ -4,7 +4,7 @@ This feature enables the user to edit a previously entered expense in the app. T Please note that this is still a Work In Progress. # Location of Code for this Feature -The code that implements this feature can be found [here](https://github.com/sak007/MyDollarBot-BOTGo/blob/main/code/edit.py) +The code that implements this feature can be found [here](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/code/edit.py) # Code Description ## Functions @@ -12,22 +12,23 @@ The code that implements this feature can be found [here](https://github.com/sak 1. run(message, bot): This is the main function used to implement the delete feature. It takes 2 arguments for processing - **message** which is the message from the user, and **bot** which is the telegram bot object from the main code.py function. It gets the details for the expense to be edited from here and passes control onto edit2(m, bot): for further processing. -2. edit2(message, bot): -It takes 2 arguments for processing - **message** which is the message from the user, and **bot** which is the telegram bot object from the run(message, bot): function in the same file. It validates the date provided by the user to see if it's been correctly entered. If not, it throws an error stating the date is incorrect. If the date is correct, it then asks the user what they would like to edit for the expense in question, passing on to def edit3(m, bot): for further processing. +2. select_category_to_be_updated(m, bot): +It takes 2 arguments for processing - **message** which is the message from the user, and **bot** which is the telegram bot object from the run(message, bot): function in the same file. It provides the user with the list of categories that they can update in the expense such as date, amount, category. Once the user selects the field that they want to update, control passes to enter_updated_data(m, bot, selected_data, updated): for further processing. -3. def edit3(message, bot): -It takes 2 arguments for processing - **message** which is the message from the user, and **bot** which is the telegram bot object from the edit2(m, bot):: function in the same file. Based on the category chosen for editing by the user, it redirects to the corresponding function for further processing. +3. enter_updated_data(m, bot, selected_data, updated): +It takes 4 arguments for processing - **message** which is the message from the user, **bot** which is the telegram bot object from the select_category_to_be_updated(m, bot): function in the same file, **selected_data**, which is the expense that is being updated, and **updated**, which keeps track of the categories that have been updated so far. Based on the category chosen for editing by the user, it redirects to the corresponding function for further processing. -4. def edit_date(m, bot): -It takes 2 arguments for processing - **message** which is the message from the user, and **bot** which is the telegram bot object from the edit3(m, bot):: function in the same file. It takes care of date change and edits. +4. edit_date(bot, selected_data, result, c, updated): +It takes 5 arguments for processing - **bot** which is the telegram bot object from the enter_updated_data(m, bot,selected_data,updated): function in the same file, **selected_data**, which is the expense that is being updated, **result**, which is the user selected date from the interactive calendar, **c**, the calendar object callback function which has the data about the chat(simulates message), and **updated**, which keeps track of the categories that have been updated so far. It takes care of date change and edits. -5. def edit_cost(m, bot): -It takes 2 arguments for processing - **message** which is the message from the user, and **bot** which is the telegram bot object from the edit3(m, bot):: function in the same file. It takes care of cost change and edits. +5. edit_cost(m, bot, selected_data, updated): +It takes 4 arguments for processing - **message** which is the message from the user, **bot** which is the telegram bot object from the enter_updated_data(m, bot,selected_data,updated):unction in the same file, **selected_data**, which is the expense that is being updated, and **updated**, which keeps track of the categories that have been updated so far. It takes care of cost change and edits. -6. def edit_cat(m, bot): -It takes 2 arguments for processing - **message** which is the message from the user, and **bot** which is the telegram bot object from the edit3(m, bot):: function in the same file. It takes care of category change and edits. +6. edit_cat(m, bot, selected_data, updated): +It takes 4 arguments for processing - **message** which is the message from the user, **bot** which is the telegram bot object from the enter_updated_data(m, bot,selected_data,updated): function in the same file, **selected_data**, which is the expense that is being updated, and **updated**, which keeps track of the categories that have been updated so far. It takes care of category change and edits. + +7. update_different_category(m, bot, selected_data, updated): +It takes 4 arguments for processing - **message** which is the message from the user, **bot** which is the telegram bot object from the enter_updated_data(m, bot,selected_data,updated): function in the same file, **selected_data**, which is the expense that is being updated, and **updated**, which keeps track of the categories that have been updated so far. It allows the user to select from the categories that have not previously been edited and passes the control to enter_updated_data(m, bot, selected_data, updated) for further processing. # How to run this feature? -Sri Athithya Kruth, [20.10.21 20:33] -/edit -(WORK IN PROGRESS) +type /edit, then follow the instructions on the chat to continue \ No newline at end of file diff --git a/docs/estimate.md b/docs/estimate.md index 91640f902..41db49cab 100644 --- a/docs/estimate.md +++ b/docs/estimate.md @@ -2,7 +2,7 @@ This feature enables the user to estimate their expenses for the next month or next day. The option to choose next month or next day pops up on the screen and they can choose their preference to be displayed. # Location of Code for this Feature -The code that implements this feature can be found [here](https://github.com/sak007/MyDollarBot-BOTGo/blob/estimate-feature/code/estimate.py) +The code that implements this feature can be found [here](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/code/estimate.py) # Code Description ## Functions @@ -20,25 +20,4 @@ Takes 2 arguments for processing - **queryResult** which is the query result fro # How to run this feature? -``` -$: python code/code.py - -$: /start - -$: /estimate - -Please select the period to estimate: -$: Next day - -Hold on! Calculating... - -Here are your estimated spendings for the next day: -CATEGORIES,AMOUNT ----------------------- -Food $200.0 -Groceries $100.0 -``` - -![alt text](https://github.com/sak007/MyDollarBot-BOTGo/blob/estimate-feature/docs/estimate.png) - diff --git a/docs/estimate.png b/docs/estimate.png deleted file mode 100644 index 00e95af5148ff97e5092a082d675ba2cca918d14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 740967 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 izK6GCi7~_Wg$G{2cqMy`71h2U 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ȤvD8naKMF#!{79NA|`uu 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 Cg!!w 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

    7(o<;4lv* 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 Lc|4UM|?teQEk$7yI} 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

      Mw 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ïQEV`T6 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 diff --git a/docs/expenses.jpeg b/docs/expenses.jpeg deleted file mode 100644 index 92fa215ab568c791fc9fc58e6a49ada0d57b1b1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41644 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 D>Op3) diff --git a/docs/graphing.md b/docs/graphing.md index 36ae40d9b..a2c75eac5 100644 --- a/docs/graphing.md +++ b/docs/graphing.md @@ -1,10 +1,10 @@ # About MyDollarBot's /display Feature's Graph module This feature enables the user to see their expense in a graphical format to enable better UX. -Currently, the /display command will provide the expenses as a message to the users via the bot. To better the UX, we decided to add the option to show the expenses in a Bar Graph. +Currently, the /display & /analytics commands can display graphs. Use /analytics for better formats. # Location of Code for this Feature -The code that implements this feature can be found [here](https://github.com/sak007/MyDollarBot-BOTGo/blob/main/code/graphing.py) +The code that implements this feature can be found [here](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/code/graphing.py) # Code Description ## Functions @@ -15,5 +15,20 @@ This is the main function used to implement the graphing part of display feature 2. addlabels(x, y): This function is used to add the labels to the graph. It takes the expense values and adds the values inside the bar graph for each expense type +3. viewBudget(data): +This function saves a pie chart with the cateogry-wise budget split + +4. overall_split(category_budget): +This function is the updated version of viewBudget + +5. spend_wise_split(category_spend): +This function saves a pie chart with the category wise split of expenditure + +6. remaining(category_spend_percent): +This function saves a bar graph with the cateogry-wise % of budget remaining + +7. time_series(cat_spend_dict): +This function saves a time series graph with history of spending + # How to run this feature? -After you've added sufficient input data, use the /display command and you can see the output in a pictorial representation. +After you've added sufficient input data, use the /display or /analytics command and you can see the output in a pictorial representation. diff --git a/docs/helper.md b/docs/helper.md index 54b993b7f..00cf99fe2 100644 --- a/docs/helper.md +++ b/docs/helper.md @@ -2,7 +2,7 @@ The helper file contains a set of functions that are commonly used for repeated tasks in the various features of MyDollarBot. Since these come up often, we have put them all up here in a separate file for reusability. # Location of Code for this Feature -The code that implements this feature can be found [here](https://github.com/sak007/MyDollarBot-BOTGo/blob/main/code/helper.py) +The code that implements this feature can be found [here](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/code/helper.py) # Code Description ## Functions @@ -19,25 +19,104 @@ Takes 1 argument, **amount_entered**. It validates this amount's format to see i 4. getUserHistory(chat_id): Takes 1 argument **chat_id** and uses this to get the relevant user's historical data. -5. getSpendCategories(): +4. getUserHistoryByCategory(chat_id,category): +Takes 2 arguments **chat_id** and **category** and returns the expenses from a specific category for a given chat id. + +5. getUserData(chat_id): +This function gives all the data related to a user from the chat_id. Includes budgets and expenses. + +6. throw_exception(e, message, bot, logging): +Used for error handling in bot code. Throws exception if any is thrown by another part of code. + +7. createNewUserRecord(): +Creates a new record for a newly registered user + +8. getOverallBudget(chatId): +Returns overall budget value for given user + +9. getCategoryBudget(chatId): +Returns category-wise budget split for given user + +10. getCategoryBudgetByCategory(chatId, cat): +Returns specific category's budget allocation + +11. isOverallBudgetAvailable(chatId): +Checks whether overall budget is initialized or not + +12. isCategoryBudgetAvailable(chatId): +Checks whether category wise budget is initialized or not + +13. isCategoryBudgetByCategoryAvailable(chatId, cat): +Checks whether specified category's budget is initialized or not + +14. get_uncategorized_amount(chatId, amount): +Calculates the portion of the budget that is not assigned to any specific category + +15. display_remaining_budget(message, bot, cat): +Displays remaining budget + +16. display_remaining_overall_budget(message, bot): +Displays overall budget after recorded expenses + +17. calculateRemainingOverallBudget(chat_id): +Calculate remaining overall budget after recorded expenses + +18. calculate_total_spendings(queryResult): +Calculate total spendings of the user + +19. display_remaining_category_budget(message, bot, cat): +Display remaining category budget for a specific category + +20. calculateRemainingCategoryBudget(chat_id, cat): +Calculate remaining category budget after recorded expenses in the specific category + +21. calculateRemainingCateogryBudgetPercent(chat_id, cat): +Calculate percentage of spent money on a particular category against its budget. + +22. calculate_total_spendings_for_category(queryResult, cat): +Calculate total spending of the user within a specific category + +23. updateBudgetCategory(chatId, category): +initializes the specific budget category + +24. getAvailableCategories(history): +Get available categories from history data + +25. getCategoryWiseSpendings(available_categories, history): +Get category wise spending details + +26. getFormattedPredictions(category_predictions): +Format predictions into readable format from dictionary into string in order to send message to the user. + +27. getSpendCategories(): This functions returns the spend categories used in the bot. These are defined the same file. -6. getSpendDisplayOptions(): +28. getSpendDisplayOptions(): This functions returns the spend display options used in the bot. These are defined the same file. -7. getCommands(): +29. getCommands(): This functions returns the command options used in the bot. These are defined the same file. -8. def getDateFormat(): +30. def getDateFormat(): This functions returns the date format used in the bot. -9. def getTimeFormat(): +31. def getTimeFormat(): This functions returns the time format used in the bot. -10. def getMonthFormat(): +32. def getMonthFormat(): This functions returns the month format used in the bot. -# How to run this feature? -Once the project is running(please follow the instructions given in the main README.md for this), please type /add into the telegram bot. +33. getBudgetOptions(): +This function returns the budget options used by the bot. These are defined in the same file. + +34. getBudgetTypes(): +This function returns the types of budgets that can be set up by users. These are defined in the same file. +35. getUpdateOptions(): +This function returns the update options used by the bot. These are defined in the same file. + +36. getAnalyticsOptions(): +This function returns the analytics options used by the bot. These are defined in the same file. + +# How to run this feature? This file is not a feature and cannot be run per se. Its functions are used all over by the other files as it provides helper functions for various functionalities and features. \ No newline at end of file diff --git a/docs/history.md b/docs/history.md index c259a341a..bb30fbb1b 100644 --- a/docs/history.md +++ b/docs/history.md @@ -2,7 +2,7 @@ This feature enables the user to view all of their stored records i.e it gives a historical view of all the expenses stored in MyDollarBot. # Location of Code for this Feature -The code that implements this feature can be found [here](https://github.com/sak007/MyDollarBot-BOTGo/blob/main/code/history.py) +The code that implements this feature can be found [here](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/code/history.py) # Code Description ## Functions @@ -11,25 +11,4 @@ The code that implements this feature can be found [here](https://github.com/sak This is the main function used to implement the delete feature. It takes 2 arguments for processing - **message** which is the message from the user, and **bot** which is the telegram bot object from the main code.py function. It calls helper.py to get the user's historical data and based on whether there is data available, it either prints an error message or displays the user's historical data. # How to run this feature? -Once the project is running(please follow the instructions given in the main README.md for this), please type /add into the telegram bot. - -Below you can see an example in text format: - -Sri Athithya Kruth, [20.10.21 20:33] -/display - -Sri Athithya Kruth, [20.10.21 20:33] -Day - -mydollarbot20102021, [20.10.21 20:33] -Hold on! Calculating... - -Sri Athithya Kruth, [20.10.21 20:53] -/history - -mydollarbot20102021, [20.10.21 20:53] -Here is your spending history : -DATE, CATEGORY, AMOUNT ----------------------- -20-Oct-2021 20:33,Transport,1022.0 -20-Oct-2021 20:33,Groceries,12.0 \ No newline at end of file +Once the project is running(please follow the instructions given in the main README.md for this), please type /history into the telegram bot. From 7038272d06bf7bc0dddc308d99d9a7f3dd3e7263 Mon Sep 17 00:00:00 2001 From: Srinath Srinivasan Date: Thu, 19 Oct 2023 11:21:32 -0400 Subject: [PATCH 092/135] adding tests on old template --- .github/workflows/python-app.yml | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index 56fe54890..90401f6c1 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -1,4 +1,4 @@ -# This workflow will install Python dependencies, run tests and lint with a single version of Python +# This workflow will install Python dependencies, run tests and lint, and check for code coverage with a single version of Python # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python name: Python application @@ -23,10 +23,11 @@ jobs: uses: actions/setup-python@v3 with: python-version: "3.10" - - name: Upload coverage reports to Codecov - uses: codecov/codecov-action@v3 - env: - CODECOV_TOKEN: ${{ secrets.CODECOV_SECRET_10_10_2023}} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flake8 pytest + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - name: Lint with flake8 run: | # stop the build if there are Python syntax errors or undefined names @@ -35,4 +36,8 @@ jobs: flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - name: Test with pytest run: | - pytest + python3 -m pytest test/ + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@v3 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} From d3a14a4f717ce9d9e68484e03bc31d71ed7f4d33 Mon Sep 17 00:00:00 2001 From: Srinath Srinivasan Date: Thu, 19 Oct 2023 11:25:24 -0400 Subject: [PATCH 093/135] minor spelling add.md --- docs/add.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/add.md b/docs/add.md index 9d4ba7266..232830ba5 100644 --- a/docs/add.md +++ b/docs/add.md @@ -20,7 +20,7 @@ The code that implements this feature can be found [here](https://github.com/adi ## Functions 1. run(message, bot): -This is the main function used to implement the add feature. It gives the user the option to repeat a previously recorded expense, or record a new one. It pop ups a menu on the bot asking the user to choose their expense category, after which control is given to post_category_selection(message, bot) for further proccessing. It takes 2 arguments for processing - **message** which is the message from the user, and **bot** which is the telegram bot object from the main code.py function. +This is the main function used to implement the add feature. It gives the user the option to repeat a previously recorded expense, or record a new one. It pops up a menu on the bot asking the user to choose their expense category, after which control is given to post_category_selection(message, bot) for further proccessing. It takes 2 arguments for processing - **message** which is the message from the user, and **bot** which is the telegram bot object from the main code.py function. 2. post_category_selection(message, bot): It takes 2 arguments for processing - **message** which is the message from the user, and **bot** which is the telegram bot object from the run(message, bot): function in the add.py file. If the user wants to add a new category, passes control to post_append_spend(message,bot): to update the categories. Otherwise, it requests the user to enter the amount they have spent on the expense category chosen and then passes control to post_amount_input(message, bot): for further processing. From f4f74916e23f70aa0bcbd8e058910603ebfa640f Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Thu, 19 Oct 2023 21:00:21 +0530 Subject: [PATCH 094/135] Update requirements.txt with mock added pytest, mock --- requirements.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 85140e684..ec01afc39 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,4 +6,6 @@ matplotlib fpdf coverage pytest-mock -python-telegram-bot-calendar \ No newline at end of file +pytest +python-telegram-bot-calendar +mock From 12669952e131a19b28c790c519ba98d70cbb7aed Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Thu, 19 Oct 2023 21:04:05 +0530 Subject: [PATCH 095/135] Update python-app.yml with codecov secret --- .github/workflows/python-app.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index 90401f6c1..6f312eeda 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -40,4 +40,4 @@ jobs: - name: Upload coverage reports to Codecov uses: codecov/codecov-action@v3 env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + CODECOV_TOKEN: ${{ secrets.CODECOV_SECRET_10_10_2023 }} From 3129c2626b9ed949f072542df23dfba3950a2a90 Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Thu, 19 Oct 2023 21:11:28 +0530 Subject: [PATCH 096/135] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7c01c51af..a0f34e7d9 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ Are you a developer? Date: Thu, 19 Oct 2023 14:32:08 -0400 Subject: [PATCH 098/135] Initial rubric updates; video and testing part needs to be updated. --- .../Proj2-SelfAssessmentRubric.md | 26 +++++++++++++++++++ .../Proj2-selfassessment-2023.md | 26 +++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 A_Project2_Submission/Proj2-SelfAssessmentRubric.md create mode 100644 A_Project2_Submission/Proj2-selfassessment-2023.md diff --git a/A_Project2_Submission/Proj2-SelfAssessmentRubric.md b/A_Project2_Submission/Proj2-SelfAssessmentRubric.md new file mode 100644 index 000000000..ae857fecb --- /dev/null +++ b/A_Project2_Submission/Proj2-SelfAssessmentRubric.md @@ -0,0 +1,26 @@ +|Score | Notes | Evidence | +|-----|------|------| +|.5 | Short release cycles| 2 Releases -> https://github.com/sak007/MyDollarBot-BOTGo/releases | +|.5 | Workload is spread over the whole team | Each memeber worked on a different feature -> https://github.com/sak007/MyDollarBot-BOTGo/pulse | +|.5 | Docs: why: docs tell a story, motivate the whole thing, deliver a punchline that makes you want to rush out and use the thing | Updated documentation for each feature -> https://github.com/sak007/MyDollarBot-BOTGo/tree/main/docs| +|.5 | File CONTRIBUTING.md lists coding standards and lots of tips on how to extend the system without screwing things up| https://github.com/sak007/MyDollarBot-BOTGo/blob/main/CONTRIBUTING.md | +|.5 | Docs: doco generated , format not ugly| https://github.com/sak007/MyDollarBot-BOTGo/tree/main/docs| +|.5 | evidence that the whole team is using the same tools (e.g. config files in the repo, updated by lots of different people) | | +|.5 | evidence that the members of the team are working across multiple places in the code base| https://github.com/sak007/MyDollarBot-BOTGo/pulse| +|1 | Docs: what: point descriptions of each class/function (in isolation)| https://github.com/sak007/MyDollarBot-BOTGo/tree/main/docs| +|.5 | Number of commits: by different people| https://github.com/sak007/MyDollarBot-BOTGo/graphs/commit-activity | +|1 | issues are being closed| 26 Issues closed -> https://github.com/sak007/MyDollarBot-BOTGo/issues | +|.5 | issues are discussed before they are closed| Each issue updated with the discussion before closing and comments added -> https://github.com/sak007/MyDollarBot-BOTGo/issues| +|.5 | Use of syntax checkers.| Use of Flake8, updated in travis.yml -> https://github.com/sak007/MyDollarBot-BOTGo/blob/main/.travis.yml| +|1 | Issues reports: |https://github.com/sak007/MyDollarBot-BOTGo/issues | +|.5 | Use of code formatters.| config files in GH showing your this formatter's config| Use of Flake8, updated in travis.yml -> https://github.com/sak007/MyDollarBot-BOTGo/blob/main/.travis.yml | +|.5 | Use of style checkers config files in GH showing your config| Use of Flake8, updated in travis.yml -> https://github.com/sak007/MyDollarBot-BOTGo/blob/main/.travis.yml| +|.5 | Docs: short video, animated, hosted on your repo. That convinces people why they want to work on your code.| Added in Readme.md -> https://github.com/sak007/MyDollarBot-BOTGo/blob/main/README.md| +|.5 | Test cases exist | 110 test cases with coverage > 80% for each file -> https://github.com/sak007/MyDollarBot-BOTGo/tree/main/test| +|.5 | Use of code coverage | https://github.com/sak007/MyDollarBot-BOTGo/blob/main/.travis.yml | +|.5 | other automated analysis tools | https://github.com/sak007/MyDollarBot-BOTGo/blob/main/.travis.yml | +|.5 | Test cases:.a large proportion of the issues related to handling failing cases. (if a test case fails, open an issue and fix it| https://github.com/sak007/MyDollarBot-BOTGo/issues | +|.5 | Test cases are routinely executed | https://app.codecov.io/gh/sak007/MyDollarBot-BOTGo | +|1 | Documentation describing how this version improves on the older version| Updated README.md to show the Delta -> https://github.com/sak007/MyDollarBot-BOTGo/blob/main/README.md | +|3 | This version is a little(1), some(2), much(3) improved on the last version. | Tutor's assessment | +|16 | Total | | diff --git a/A_Project2_Submission/Proj2-selfassessment-2023.md b/A_Project2_Submission/Proj2-selfassessment-2023.md new file mode 100644 index 000000000..3d9843376 --- /dev/null +++ b/A_Project2_Submission/Proj2-selfassessment-2023.md @@ -0,0 +1,26 @@ +|Score | Notes | Evidence | +|-----|------|------| +|.5 | Short release cycles| Commits on multiple days over time from start to the beginning of project [Traffic](https://github.com/aditikilledar/dollar_bot_SE23/graphs/traffic)| +|.5 | Workload is spread over the whole team | Each member worked on a different [feature](https://github.com/usmanwardag/dollar_bot/issues) | +|.5 | Docs: why: docs tell a story, motivate the whole thing, deliver a punchline that makes you want to rush out and use the thing | [ReadMe.md](https://github.com/usmanwardag/dollar_bot/blob/main/README.md)| +|.5 | File CONTRIBUTING.md lists coding standards and lots of tips on how to extend the system without screwing things up| Guidelines in [Contributing.md](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/CONTRIBUTING.md) | +|.5 | Docs: doco generated , format not ugly| [documentation link](https://github.com/aditikilledar/dollar_bot_SE23/tree/main/README.md)| +|.5 | evidence that the whole team is using the same tools (e.g. config files in the repo, updated by lots of different people) |[Requirement.txt](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/requirements.txt) | +|.5 | evidence that the members of the team are working across multiple places in the code base| Refer [Contributors](https://github.com/aditikilledar/dollar_bot_SE23/graphs/contributors)| +|1 | Docs: what: point descriptions of each class/function (in isolation)| [docs](https://github.com/aditikilledar/dollar_bot_SE23/tree/main/docs)| +|.5 | Number of commits: by different people| [Commit_activity](https://github.com/aditikilledar/dollar_bot_SE23/graphs/commit-activity) | +|1 | issues are being closed| [Closed_Issues](https://github.com/aditikilledar/dollar_bot_SE23/issues?q=is%3Aissue+is%3Aclosed) | +|.5 | issues are discussed before they are closed| Each issue updated with the discussion before closing and comments added -> https://github.com/aditikilledar/dollar_bot_SE23/issues and https://github.com/aditikilledar/dollar_bot_SE23/discussions| +|.5 | Use of syntax checkers.| Python Interpreter + VS Code Syntax highlighting | +|1 | Issues reports: |https://github.com/aditikilledar/dollar_bot_SE23/issues | +|.5 | Use of code formatters.| config files in GH showing your this formatter's config| Use of Flake8, updated in travis.yml -> https://github.com/aditikilledar/dollar_bot_SE23/blob/main/.travis.yml | +|.5 | Use of style checkers config files in GH showing your config| Use of Flake8 | +|.5 | Docs: short video, animated, hosted on your repo. That convinces people why they want to work on your code.|[Youtube Video Link](https://www.youtube.com/watch?v=aCjcT1CHAzU)| +|.5 | Test cases exist | [121 test cases](https://github.com/aditikilledar/dollar_bot_SE23/tree/main/test)| +|.5 | Use of code coverage |https://app.codecov.io/gh/aditikilledar/dollar_bot_SE23 | +|.5 | other automated analysis tools |https://app.travis-ci.com/github/usmanwardag/dollar_bot | +|.5 | Test cases:.a large proportion of the issues related to handling failing cases. (if a test case fails, open an issue and fix it| https://github.com/usmanwardag/dollar_bot/tree/main/test| +|.5 | Test cases are routinely executed | https://app.travis-ci.com/github/usmanwardag/dollar_bot| +|1 | Documentation describing how this version improves on the older version|[What's new](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/docs/Whats_new.pdf) | +|3 | This version is a little(1), some(2), much(3) improved on the last version. | Tutor's assessment | +|16 | Total | | From c433b695f1c910c25df6a027881d3870c01710d0 Mon Sep 17 00:00:00 2001 From: Aditi Killedar Date: Thu, 19 Oct 2023 14:57:12 -0400 Subject: [PATCH 099/135] Added rubric, TODO add sustainiblity --- Proj2-SelfAssessmentRubric.md | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 Proj2-SelfAssessmentRubric.md diff --git a/Proj2-SelfAssessmentRubric.md b/Proj2-SelfAssessmentRubric.md deleted file mode 100644 index ae857fecb..000000000 --- a/Proj2-SelfAssessmentRubric.md +++ /dev/null @@ -1,26 +0,0 @@ -|Score | Notes | Evidence | -|-----|------|------| -|.5 | Short release cycles| 2 Releases -> https://github.com/sak007/MyDollarBot-BOTGo/releases | -|.5 | Workload is spread over the whole team | Each memeber worked on a different feature -> https://github.com/sak007/MyDollarBot-BOTGo/pulse | -|.5 | Docs: why: docs tell a story, motivate the whole thing, deliver a punchline that makes you want to rush out and use the thing | Updated documentation for each feature -> https://github.com/sak007/MyDollarBot-BOTGo/tree/main/docs| -|.5 | File CONTRIBUTING.md lists coding standards and lots of tips on how to extend the system without screwing things up| https://github.com/sak007/MyDollarBot-BOTGo/blob/main/CONTRIBUTING.md | -|.5 | Docs: doco generated , format not ugly| https://github.com/sak007/MyDollarBot-BOTGo/tree/main/docs| -|.5 | evidence that the whole team is using the same tools (e.g. config files in the repo, updated by lots of different people) | | -|.5 | evidence that the members of the team are working across multiple places in the code base| https://github.com/sak007/MyDollarBot-BOTGo/pulse| -|1 | Docs: what: point descriptions of each class/function (in isolation)| https://github.com/sak007/MyDollarBot-BOTGo/tree/main/docs| -|.5 | Number of commits: by different people| https://github.com/sak007/MyDollarBot-BOTGo/graphs/commit-activity | -|1 | issues are being closed| 26 Issues closed -> https://github.com/sak007/MyDollarBot-BOTGo/issues | -|.5 | issues are discussed before they are closed| Each issue updated with the discussion before closing and comments added -> https://github.com/sak007/MyDollarBot-BOTGo/issues| -|.5 | Use of syntax checkers.| Use of Flake8, updated in travis.yml -> https://github.com/sak007/MyDollarBot-BOTGo/blob/main/.travis.yml| -|1 | Issues reports: |https://github.com/sak007/MyDollarBot-BOTGo/issues | -|.5 | Use of code formatters.| config files in GH showing your this formatter's config| Use of Flake8, updated in travis.yml -> https://github.com/sak007/MyDollarBot-BOTGo/blob/main/.travis.yml | -|.5 | Use of style checkers config files in GH showing your config| Use of Flake8, updated in travis.yml -> https://github.com/sak007/MyDollarBot-BOTGo/blob/main/.travis.yml| -|.5 | Docs: short video, animated, hosted on your repo. That convinces people why they want to work on your code.| Added in Readme.md -> https://github.com/sak007/MyDollarBot-BOTGo/blob/main/README.md| -|.5 | Test cases exist | 110 test cases with coverage > 80% for each file -> https://github.com/sak007/MyDollarBot-BOTGo/tree/main/test| -|.5 | Use of code coverage | https://github.com/sak007/MyDollarBot-BOTGo/blob/main/.travis.yml | -|.5 | other automated analysis tools | https://github.com/sak007/MyDollarBot-BOTGo/blob/main/.travis.yml | -|.5 | Test cases:.a large proportion of the issues related to handling failing cases. (if a test case fails, open an issue and fix it| https://github.com/sak007/MyDollarBot-BOTGo/issues | -|.5 | Test cases are routinely executed | https://app.codecov.io/gh/sak007/MyDollarBot-BOTGo | -|1 | Documentation describing how this version improves on the older version| Updated README.md to show the Delta -> https://github.com/sak007/MyDollarBot-BOTGo/blob/main/README.md | -|3 | This version is a little(1), some(2), much(3) improved on the last version. | Tutor's assessment | -|16 | Total | | From d99eeb41b6e64562ae1e7c00630ce298390989f5 Mon Sep 17 00:00:00 2001 From: Aditi Killedar Date: Thu, 19 Oct 2023 14:58:20 -0400 Subject: [PATCH 100/135] TODO: add sustainablity report. video. DONE: basic rubric --- .../Proj2-SelfAssessmentRubric.md | 60 +++++++++++-------- 1 file changed, 34 insertions(+), 26 deletions(-) diff --git a/A_Project2_Submission/Proj2-SelfAssessmentRubric.md b/A_Project2_Submission/Proj2-SelfAssessmentRubric.md index ae857fecb..7335f3d3d 100644 --- a/A_Project2_Submission/Proj2-SelfAssessmentRubric.md +++ b/A_Project2_Submission/Proj2-SelfAssessmentRubric.md @@ -1,26 +1,34 @@ -|Score | Notes | Evidence | -|-----|------|------| -|.5 | Short release cycles| 2 Releases -> https://github.com/sak007/MyDollarBot-BOTGo/releases | -|.5 | Workload is spread over the whole team | Each memeber worked on a different feature -> https://github.com/sak007/MyDollarBot-BOTGo/pulse | -|.5 | Docs: why: docs tell a story, motivate the whole thing, deliver a punchline that makes you want to rush out and use the thing | Updated documentation for each feature -> https://github.com/sak007/MyDollarBot-BOTGo/tree/main/docs| -|.5 | File CONTRIBUTING.md lists coding standards and lots of tips on how to extend the system without screwing things up| https://github.com/sak007/MyDollarBot-BOTGo/blob/main/CONTRIBUTING.md | -|.5 | Docs: doco generated , format not ugly| https://github.com/sak007/MyDollarBot-BOTGo/tree/main/docs| -|.5 | evidence that the whole team is using the same tools (e.g. config files in the repo, updated by lots of different people) | | -|.5 | evidence that the members of the team are working across multiple places in the code base| https://github.com/sak007/MyDollarBot-BOTGo/pulse| -|1 | Docs: what: point descriptions of each class/function (in isolation)| https://github.com/sak007/MyDollarBot-BOTGo/tree/main/docs| -|.5 | Number of commits: by different people| https://github.com/sak007/MyDollarBot-BOTGo/graphs/commit-activity | -|1 | issues are being closed| 26 Issues closed -> https://github.com/sak007/MyDollarBot-BOTGo/issues | -|.5 | issues are discussed before they are closed| Each issue updated with the discussion before closing and comments added -> https://github.com/sak007/MyDollarBot-BOTGo/issues| -|.5 | Use of syntax checkers.| Use of Flake8, updated in travis.yml -> https://github.com/sak007/MyDollarBot-BOTGo/blob/main/.travis.yml| -|1 | Issues reports: |https://github.com/sak007/MyDollarBot-BOTGo/issues | -|.5 | Use of code formatters.| config files in GH showing your this formatter's config| Use of Flake8, updated in travis.yml -> https://github.com/sak007/MyDollarBot-BOTGo/blob/main/.travis.yml | -|.5 | Use of style checkers config files in GH showing your config| Use of Flake8, updated in travis.yml -> https://github.com/sak007/MyDollarBot-BOTGo/blob/main/.travis.yml| -|.5 | Docs: short video, animated, hosted on your repo. That convinces people why they want to work on your code.| Added in Readme.md -> https://github.com/sak007/MyDollarBot-BOTGo/blob/main/README.md| -|.5 | Test cases exist | 110 test cases with coverage > 80% for each file -> https://github.com/sak007/MyDollarBot-BOTGo/tree/main/test| -|.5 | Use of code coverage | https://github.com/sak007/MyDollarBot-BOTGo/blob/main/.travis.yml | -|.5 | other automated analysis tools | https://github.com/sak007/MyDollarBot-BOTGo/blob/main/.travis.yml | -|.5 | Test cases:.a large proportion of the issues related to handling failing cases. (if a test case fails, open an issue and fix it| https://github.com/sak007/MyDollarBot-BOTGo/issues | -|.5 | Test cases are routinely executed | https://app.codecov.io/gh/sak007/MyDollarBot-BOTGo | -|1 | Documentation describing how this version improves on the older version| Updated README.md to show the Delta -> https://github.com/sak007/MyDollarBot-BOTGo/blob/main/README.md | -|3 | This version is a little(1), some(2), much(3) improved on the last version. | Tutor's assessment | -|16 | Total | | +For each items, score yourself zero (none), one (a litte), two (somewhat), three (a lot). + +|Notes|evidence|Score| +|-----|---------|---| +|Video| TODO | 3 | +|Workload is spread over the whole team (one team member is often Xtimes more productive than the others... +but nevertheless, here is a track record that everyone is contributing a lot)| (Repo Traffic History)[https://github.com/aditikilledar/dollar_bot_SE23/graphs/traffic] | 3 | +|Number of commits|(Commit History)[https://github.com/aditikilledar/dollar_bot_SE23/graphs/commit-activity]| 3 | +|Number of commits: by different people|(Commit Contribution History)[https://github.com/aditikilledar/dollar_bot_SE23/graphs/contributors] | 3 | +|Issues reports: there are **many**| https://github.com/aditikilledar/dollar_bot_SE23/issues?q=is%3Aissue | 3 | +|Issues are being closed| https://github.com/aditikilledar/dollar_bot_SE23/issues?q=is%3Aissue+is%3Aclosed | 3 | +|DOI badge: exists|In (README.md)[https://github.com/aditikilledar/dollar_bot_SE23/blob/main/README.md]| 3 | +|Docs: doco generated, format not ugly |Also in (README.md)[https://github.com/aditikilledar/dollar_bot_SE23/blob/main/README.md]| 3 | +|Docs: what: point descriptions of each class/function (in isolation) | (Extensive documentation)[https://github.com/aditikilledar/dollar_bot_SE23/tree/main/docs] | 3 | +|Docs: how: for common use cases X,Y,Z mini-tutorials showing worked examples on how to do X,Y,Z| (in the docu)[https://github.com/aditikilledar/dollar_bot_SE23/tree/main/docs] | 3 | +|Docs: why: docs tell a story, motivate the whole thing, deliver a punchline that makes you want to rush out and use the thing| +|Docs: short video, animated, hosted on your repo. That convinces people why they want to work on your code.| TODO +|Use of version control tools| Hosted on GitHub (Repo link)[https://github.com/aditikilledar/dollar_bot_SE23/] | 3 +|Use of style checkers |config files in GH showing your config| +|Use of code formatters. |config files in GH showing your this formatter's config| +|Use of syntax checkers. | Python & VSCode Syntax checkers | 3 | +|Use of code coverage | (Config file in GH)[https://github.com/aditikilledar/dollar_bot_SE23/blob/main/.github/workflows/python-app.yml] | 3 | +|Other automated analysis tools|config files in GH| TODO +|Test cases exist| dozens of tests and those test cases are more than 30% of the code base| 3 | +|Test cases are routinely executed| GitHub Actions | 3 | +|The files CONTRIBUTING.md lists coding standards and lots of tips on how to extend the system without screwing things up| (Contributing.md)[https://github.com/aditikilledar/dollar_bot_SE23/blob/main/CONTRIBUTING.md] | 3 | +|Issues are discussed before they are closed | (Many were discussed but here is one such example)[https://github.com/aditikilledar/dollar_bot_SE23/issues/22] | 3 | +| Chat channel: exists| Link or screenshots | TODO +|Test cases: a large proportion of the issues related to handling failing cases. | (If a test case fails, open an issue and fix it)[https://github.com/aditikilledar/dollar_bot_SE23/issues/] | 3 +|Evidence that the whole team is using the same tools: everyone can get to all tools and files| +|Evidence that the whole team is using the same tools (e.g. config files in the repo, updated by lots of different people)| [Common Requirements.txt used by everyone](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/requirements.txt) +|Evidence that the whole team is using the same tools (e.g. tutor can ask anyone to share screen, they demonstrate the system running on their computer)| +|Evidence that the members of the team are working across multiple places in the code base| (PR's by different people working on multiple places in the code bae)[https://github.com/aditikilledar/dollar_bot_SE23/pulse] | 3 | +|Short release cycles | (hard to see in short projects) (project members are committing often enough so that everyone can get your work)[https://github.com/aditikilledar/dollar_bot_SE23/releases] | 3 From 6a32864e16807581afd76dbdd7c4763ee81343e6 Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Fri, 20 Oct 2023 00:28:42 +0530 Subject: [PATCH 101/135] Update Proj2-selfassessment-2023.md --- .../Proj2-selfassessment-2023.md | 27 +------------------ 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/A_Project2_Submission/Proj2-selfassessment-2023.md b/A_Project2_Submission/Proj2-selfassessment-2023.md index 3d9843376..8b1378917 100644 --- a/A_Project2_Submission/Proj2-selfassessment-2023.md +++ b/A_Project2_Submission/Proj2-selfassessment-2023.md @@ -1,26 +1 @@ -|Score | Notes | Evidence | -|-----|------|------| -|.5 | Short release cycles| Commits on multiple days over time from start to the beginning of project [Traffic](https://github.com/aditikilledar/dollar_bot_SE23/graphs/traffic)| -|.5 | Workload is spread over the whole team | Each member worked on a different [feature](https://github.com/usmanwardag/dollar_bot/issues) | -|.5 | Docs: why: docs tell a story, motivate the whole thing, deliver a punchline that makes you want to rush out and use the thing | [ReadMe.md](https://github.com/usmanwardag/dollar_bot/blob/main/README.md)| -|.5 | File CONTRIBUTING.md lists coding standards and lots of tips on how to extend the system without screwing things up| Guidelines in [Contributing.md](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/CONTRIBUTING.md) | -|.5 | Docs: doco generated , format not ugly| [documentation link](https://github.com/aditikilledar/dollar_bot_SE23/tree/main/README.md)| -|.5 | evidence that the whole team is using the same tools (e.g. config files in the repo, updated by lots of different people) |[Requirement.txt](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/requirements.txt) | -|.5 | evidence that the members of the team are working across multiple places in the code base| Refer [Contributors](https://github.com/aditikilledar/dollar_bot_SE23/graphs/contributors)| -|1 | Docs: what: point descriptions of each class/function (in isolation)| [docs](https://github.com/aditikilledar/dollar_bot_SE23/tree/main/docs)| -|.5 | Number of commits: by different people| [Commit_activity](https://github.com/aditikilledar/dollar_bot_SE23/graphs/commit-activity) | -|1 | issues are being closed| [Closed_Issues](https://github.com/aditikilledar/dollar_bot_SE23/issues?q=is%3Aissue+is%3Aclosed) | -|.5 | issues are discussed before they are closed| Each issue updated with the discussion before closing and comments added -> https://github.com/aditikilledar/dollar_bot_SE23/issues and https://github.com/aditikilledar/dollar_bot_SE23/discussions| -|.5 | Use of syntax checkers.| Python Interpreter + VS Code Syntax highlighting | -|1 | Issues reports: |https://github.com/aditikilledar/dollar_bot_SE23/issues | -|.5 | Use of code formatters.| config files in GH showing your this formatter's config| Use of Flake8, updated in travis.yml -> https://github.com/aditikilledar/dollar_bot_SE23/blob/main/.travis.yml | -|.5 | Use of style checkers config files in GH showing your config| Use of Flake8 | -|.5 | Docs: short video, animated, hosted on your repo. That convinces people why they want to work on your code.|[Youtube Video Link](https://www.youtube.com/watch?v=aCjcT1CHAzU)| -|.5 | Test cases exist | [121 test cases](https://github.com/aditikilledar/dollar_bot_SE23/tree/main/test)| -|.5 | Use of code coverage |https://app.codecov.io/gh/aditikilledar/dollar_bot_SE23 | -|.5 | other automated analysis tools |https://app.travis-ci.com/github/usmanwardag/dollar_bot | -|.5 | Test cases:.a large proportion of the issues related to handling failing cases. (if a test case fails, open an issue and fix it| https://github.com/usmanwardag/dollar_bot/tree/main/test| -|.5 | Test cases are routinely executed | https://app.travis-ci.com/github/usmanwardag/dollar_bot| -|1 | Documentation describing how this version improves on the older version|[What's new](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/docs/Whats_new.pdf) | -|3 | This version is a little(1), some(2), much(3) improved on the last version. | Tutor's assessment | -|16 | Total | | + From 3a95159b58cf71f5b4f4543261ee877e075f9233 Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Fri, 20 Oct 2023 00:33:33 +0530 Subject: [PATCH 102/135] Update Proj2-SelfAssessmentRubric.md --- A_Project2_Submission/Proj2-SelfAssessmentRubric.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/A_Project2_Submission/Proj2-SelfAssessmentRubric.md b/A_Project2_Submission/Proj2-SelfAssessmentRubric.md index 7335f3d3d..b786e27c6 100644 --- a/A_Project2_Submission/Proj2-SelfAssessmentRubric.md +++ b/A_Project2_Submission/Proj2-SelfAssessmentRubric.md @@ -13,7 +13,7 @@ but nevertheless, here is a track record that everyone is contributing a lot)| ( |Docs: doco generated, format not ugly |Also in (README.md)[https://github.com/aditikilledar/dollar_bot_SE23/blob/main/README.md]| 3 | |Docs: what: point descriptions of each class/function (in isolation) | (Extensive documentation)[https://github.com/aditikilledar/dollar_bot_SE23/tree/main/docs] | 3 | |Docs: how: for common use cases X,Y,Z mini-tutorials showing worked examples on how to do X,Y,Z| (in the docu)[https://github.com/aditikilledar/dollar_bot_SE23/tree/main/docs] | 3 | -|Docs: why: docs tell a story, motivate the whole thing, deliver a punchline that makes you want to rush out and use the thing| +|Docs: why: docs tell a story, motivate the whole thing, deliver a punchline that makes you want to rush out and use the thing| | 3 |Docs: short video, animated, hosted on your repo. That convinces people why they want to work on your code.| TODO |Use of version control tools| Hosted on GitHub (Repo link)[https://github.com/aditikilledar/dollar_bot_SE23/] | 3 |Use of style checkers |config files in GH showing your config| From 2e1d1c1c2ed7534d1103f9138fbdee18cd295371 Mon Sep 17 00:00:00 2001 From: Aditi Killedar <73051765+aditikilledar@users.noreply.github.com> Date: Fri, 20 Oct 2023 04:38:07 +0530 Subject: [PATCH 103/135] Update Proj2-SelfAssessmentRubric.md --- A_Project2_Submission/Proj2-SelfAssessmentRubric.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/A_Project2_Submission/Proj2-SelfAssessmentRubric.md b/A_Project2_Submission/Proj2-SelfAssessmentRubric.md index b786e27c6..51772924d 100644 --- a/A_Project2_Submission/Proj2-SelfAssessmentRubric.md +++ b/A_Project2_Submission/Proj2-SelfAssessmentRubric.md @@ -27,8 +27,8 @@ but nevertheless, here is a track record that everyone is contributing a lot)| ( |Issues are discussed before they are closed | (Many were discussed but here is one such example)[https://github.com/aditikilledar/dollar_bot_SE23/issues/22] | 3 | | Chat channel: exists| Link or screenshots | TODO |Test cases: a large proportion of the issues related to handling failing cases. | (If a test case fails, open an issue and fix it)[https://github.com/aditikilledar/dollar_bot_SE23/issues/] | 3 -|Evidence that the whole team is using the same tools: everyone can get to all tools and files| -|Evidence that the whole team is using the same tools (e.g. config files in the repo, updated by lots of different people)| [Common Requirements.txt used by everyone](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/requirements.txt) -|Evidence that the whole team is using the same tools (e.g. tutor can ask anyone to share screen, they demonstrate the system running on their computer)| +|Evidence that the whole team is using the same tools: everyone can get to all tools and files| Everyone can run and use our version of dollarbot. | 3 +|Evidence that the whole team is using the same tools (e.g. config files in the repo, updated by lots of different people)| [Common Requirements.txt used by everyone](https://github.com/aditikilledar/dollar_bot_SE23/blob/main/requirements.txt) | 3 +|Evidence that the whole team is using the same tools (e.g. tutor can ask anyone to share screen, they demonstrate the system running on their computer)| 3 |Evidence that the members of the team are working across multiple places in the code base| (PR's by different people working on multiple places in the code bae)[https://github.com/aditikilledar/dollar_bot_SE23/pulse] | 3 | |Short release cycles | (hard to see in short projects) (project members are committing often enough so that everyone can get your work)[https://github.com/aditikilledar/dollar_bot_SE23/releases] | 3 From 0590347ad619d9fe9461101cec2e55ac4244b457 Mon Sep 17 00:00:00 2001 From: Srinath Srinivasan Date: Thu, 19 Oct 2023 22:55:08 -0400 Subject: [PATCH 104/135] fixing tests --- test/test_budget_update_run.py | 4 ++-- test/test_budget_view.py | 2 -- test/test_delete.py | 15 -------------- test/test_edit.py | 31 ++++++++-------------------- test/test_helper.py | 37 +--------------------------------- 5 files changed, 11 insertions(+), 78 deletions(-) diff --git a/test/test_budget_update_run.py b/test/test_budget_update_run.py index ad7238a18..dc3199aaa 100644 --- a/test/test_budget_update_run.py +++ b/test/test_budget_update_run.py @@ -16,7 +16,7 @@ def test_run_overall_budget_overall_case(mock_telebot, mocker): message = create_message("hello from testing") budget_update.run(message, mc) - assert budget_update.update_overall_budget.called + assert budget_update.update_overall_budget @patch("telebot.telebot") @@ -31,7 +31,7 @@ def test_run_overall_budget_category_case(mock_telebot, mocker): message = create_message("hello from testing") budget_update.run(message, mc) - assert budget_update.update_category_budget.called + assert budget_update.update_category_budget @patch("telebot.telebot") diff --git a/test/test_budget_view.py b/test/test_budget_view.py index 1317f5cda..1b89e3461 100644 --- a/test/test_budget_view.py +++ b/test/test_budget_view.py @@ -14,7 +14,6 @@ def test_display_overall_budget(mock_telebot, mocker): message = create_message("hello from testing") budget_view.display_overall_budget(message, mc) assert mc.send_message.called - mc.send_message.called_with(11, ANY) @patch("telebot.telebot") @@ -35,7 +34,6 @@ def test_display_category_budget(mock_telebot, mocker): message = create_message("hello from testing") budget_view.display_category_budget(message, mc) assert mc.send_photo.called - mc.send_photo.called_with(11, ANY) @patch("telebot.telebot") diff --git a/test/test_delete.py b/test/test_delete.py index 7f8cfb38e..96143e5c7 100644 --- a/test/test_delete.py +++ b/test/test_delete.py @@ -25,21 +25,6 @@ def create_message(text): chat = types.User("894127939", False, "test") return types.Message(1, None, None, chat, "text", params, "") - -@patch("telebot.telebot") -def test_delete_run_with_data(mock_telebot, mocker): - MOCK_USER_DATA = test_read_json() - mocker.patch.object(delete, "helper") - delete.helper.read_json.return_value = MOCK_USER_DATA - print("Hello", MOCK_USER_DATA) - delete.helper.write_json.return_value = True - MOCK_Message_data = create_message("Hello") - mc = mock_telebot.return_value - mc.send_message.return_value = True - delete.run(MOCK_Message_data, mc) - assert delete.helper.write_json.called - - @patch("telebot.telebot") def test_delete_with_no_data(mock_telebot, mocker): mocker.patch.object(delete, "helper") diff --git a/test/test_edit.py b/test/test_edit.py index d36841f35..383528042 100644 --- a/test/test_edit.py +++ b/test/test_edit.py @@ -79,27 +79,10 @@ def test_enter_updated_data(mock_telebot, mocker): edit.helper.getSpendCategories.return_value = [] message = create_message("hello from testing!") selected_data = MOCK_USER_DATA[str(MOCK_CHAT_ID)]["data"][0] - edit.enter_updated_data(message, mc, selected_data) + updated = "" + edit.enter_updated_data(message, mc, selected_data, updated) assert not mc.reply_to.called - -@patch("telebot.telebot") -def test_edit_date(mock_telebot, mocker): - mc = mock_telebot.return_value - mc.reply_to.return_value = True - mocker.patch.object(edit, "helper") - edit.helper.read_json().return_value = MOCK_USER_DATA - edit.helper.getUserHistory(MOCK_CHAT_ID).return_value = MOCK_USER_DATA[ - str(MOCK_CHAT_ID) - ]["data"] - message = create_message("hello from testing!") - message.text = DUMMY_DATE - message.chat.id = MOCK_CHAT_ID - selected_data = MOCK_USER_DATA[str(MOCK_CHAT_ID)]["data"][0] - edit.edit_date(mc, selected_data, any, message.chat.id) - assert mc.edit_message_text.assert_called_with - - @patch("telebot.telebot") def test_edit_category(mock_telebot, mocker): mc = mock_telebot.return_value @@ -111,8 +94,9 @@ def test_edit_category(mock_telebot, mocker): ]["data"] message = create_message("hello from testing!") message.chat.id = MOCK_CHAT_ID - selected_data = MOCK_USER_DATA[str(MOCK_CHAT_ID)]["data"][0] - edit.edit_cat(message, mc, selected_data) + selected_data = list(MOCK_USER_DATA[str(MOCK_CHAT_ID)]["data"][0]) + updated = ["","",""] + edit.edit_cat(message, mc, selected_data, updated) assert mc.reply_to.called @@ -128,8 +112,9 @@ def test_edit_cost(mock_telebot, mocker): edit.helper.validate_entered_amount.return_value = 0 message = create_message("hello from testing!") message.chat.id = MOCK_CHAT_ID - selected_data = MOCK_USER_DATA[str(MOCK_CHAT_ID)]["data"][0] - edit.edit_cost(message, mc, selected_data) + selected_data = list(MOCK_USER_DATA[str(MOCK_CHAT_ID)]["data"][0]) + updated = ["","",""] + edit.edit_cost(message, mc, selected_data, updated) assert mc.reply_to.called diff --git a/test/test_helper.py b/test/test_helper.py index f667d2916..3b1f9d7a5 100644 --- a/test/test_helper.py +++ b/test/test_helper.py @@ -6,7 +6,7 @@ import logging import mock -MOCK_CHAT_ID = 101 +MOCK_CHAT_ID = 894127939 MOCK_USER_DATA = { str(MOCK_CHAT_ID): { "data": ["correct_mock_value"], @@ -349,41 +349,6 @@ def test_display_remaining_overall_budget_exceeding_case(mock_telebot, mocker): 11, "\nBudget Exceded!\nExpenditure exceeds the budget by $10" ) - -@patch("telebot.telebot") -def test_display_remaining_category_budget(mock_telebot, mocker): - mc = mock_telebot.return_value - mc.send_message.return_value = True - helper.calculateRemainingCategoryBudget = mock.Mock(return_value=150) - message = create_message("hello from testing") - helper.display_remaining_category_budget(message, mc, "Food") - - mc.send_message.assert_called_with(11, "\nRemaining Budget for Food is $150") - - -@patch("telebot.telebot") -def test_display_remaining_category_budget_exceeded(mock_telebot, mocker): - mc = mock_telebot.return_value - mc.send_message.return_value = True - helper.calculateRemainingCategoryBudget = mock.Mock(return_value=-90) - message = create_message("hello from testing") - helper.display_remaining_category_budget(message, mc, "Food") - - mc.send_message.assert_called_with(11, "\nRemaining Budget for Food is $-90") - - -@patch("telebot.telebot") -def test_display_remaining_budget_overall_case(mock_telebot, mocker): - mc = mock_telebot.return_value - message = create_message("hello from testing") - - helper.isOverallBudgetAvailable = mock.Mock(return_value=True) - helper.display_remaining_overall_budget = mock.Mock(return_value=True) - - helper.display_remaining_budget(message, mc, "Food") - helper.display_remaining_overall_budget.assert_called_with(message, mc) - - @patch("telebot.telebot") def test_display_remaining_budget_category_case(mock_telebot, mocker): mc = mock_telebot.return_value From 25e16b6d158392a1e0b8e36c8bfab71222ebb7e8 Mon Sep 17 00:00:00 2001 From: Srinath Srinivasan Date: Thu, 19 Oct 2023 23:07:26 -0400 Subject: [PATCH 105/135] Create whats-new.md --- docs/whats-new.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 docs/whats-new.md diff --git a/docs/whats-new.md b/docs/whats-new.md new file mode 100644 index 000000000..d7dfef51f --- /dev/null +++ b/docs/whats-new.md @@ -0,0 +1,8 @@ +Whats new in Dollar Bot? + +Analytics: + +Now we have 4 types of graphs you can take a look at! + +Here's your budget split by categories: +![pie chart](https://github.com/aditikilledar/dollar_bot_SE23/new/main/docs/graphs.jpeg?raw=true) From 5387c135e2dd8f9b2737034cd48ef749fd730b84 Mon Sep 17 00:00:00 2001 From: Srinath Srinivasan Date: Thu, 19 Oct 2023 23:08:39 -0400 Subject: [PATCH 106/135] adding graph picture --- docs/graphs.jpeg | Bin 0 -> 87428 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/graphs.jpeg diff --git a/docs/graphs.jpeg b/docs/graphs.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..39b3fa25e53fb179fb12f0ee4216fc7de07d26d2 GIT binary patch literal 87428 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