monopyly 1.5.1__py3-none-any.whl → 1.6.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- monopyly/CHANGELOG.md +27 -0
- monopyly/README.md +3 -3
- monopyly/__init__.py +22 -27
- monopyly/_version.py +2 -2
- monopyly/auth/blueprint.py +2 -0
- monopyly/auth/routes.py +2 -3
- monopyly/banking/accounts.py +7 -7
- monopyly/banking/actions.py +20 -17
- monopyly/banking/banks.py +1 -1
- monopyly/banking/blueprint.py +2 -0
- monopyly/banking/filters.py +6 -6
- monopyly/banking/forms.py +3 -5
- monopyly/banking/routes.py +72 -10
- monopyly/banking/transactions.py +15 -7
- monopyly/common/forms/__init__.py +8 -0
- monopyly/common/forms/_forms.py +1 -2
- monopyly/common/forms/fields.py +0 -2
- monopyly/common/forms/utils.py +1 -1
- monopyly/common/transactions.py +89 -14
- monopyly/core/actions.py +2 -8
- monopyly/core/blueprint.py +2 -0
- monopyly/core/filters.py +0 -2
- monopyly/core/routes.py +1 -1
- monopyly/credit/accounts.py +1 -1
- monopyly/credit/actions.py +4 -5
- monopyly/credit/blueprint.py +2 -0
- monopyly/credit/cards.py +7 -3
- monopyly/credit/forms.py +3 -5
- monopyly/credit/routes.py +65 -87
- monopyly/credit/statements.py +1 -1
- monopyly/credit/transactions/__init__.py +2 -0
- monopyly/credit/transactions/_transactions.py +18 -8
- monopyly/credit/transactions/activity/__init__.py +6 -0
- monopyly/credit/transactions/activity/parser.py +0 -1
- monopyly/credit/transactions/activity/reconciliation.py +25 -4
- monopyly/database/__init__.py +1 -59
- monopyly/database/models.py +198 -276
- monopyly/database/preloads.sql +6 -1
- monopyly/scripts/screenshot_application.py +100 -0
- monopyly/static/chartist-1.5.0.min.js +8 -0
- monopyly/static/css/style.css +35 -14
- monopyly/static/img/about/bank-account-details.png +0 -0
- monopyly/static/img/about/bank-account-summaries.png +0 -0
- monopyly/static/img/about/bank-accounts.png +0 -0
- monopyly/static/img/about/credit-account-details.png +0 -0
- monopyly/static/img/about/credit-statement-details.png +0 -0
- monopyly/static/img/about/credit-transactions.png +0 -0
- monopyly/static/img/about/homepage-user.png +0 -0
- monopyly/static/img/about/homepage.png +0 -0
- monopyly/static/jquery-3.7.1.min.js +2 -0
- monopyly/static/js/add-transfer.js +8 -9
- monopyly/static/js/bind-tag-actions.js +6 -0
- monopyly/static/js/create-balance-chart.js +2 -2
- monopyly/static/js/create-category-chart.js +1 -1
- monopyly/static/js/load-more-transactions.js +27 -0
- monopyly/static/js/modules/expand-transaction.js +7 -6
- monopyly/static/js/modules/update-display-ajax.js +20 -1
- monopyly/static/js/update-transactions-display.js +8 -2
- monopyly/templates/banking/account_page.html +15 -16
- monopyly/templates/banking/account_summaries.html +2 -2
- monopyly/templates/banking/account_summary.html +1 -1
- monopyly/templates/banking/accounts_page.html +2 -2
- monopyly/templates/banking/transactions_table/table.html +3 -0
- monopyly/templates/banking/transactions_table/transactions.html +0 -1
- monopyly/templates/common/tag_tree.html +25 -0
- monopyly/templates/{credit → common}/tags_page.html +7 -3
- monopyly/templates/common/transactions_table/linked_bank_transaction.html +2 -2
- monopyly/templates/common/transactions_table/table.html +6 -0
- monopyly/templates/common/transactions_table/transactions.html +9 -15
- monopyly/templates/core/index.html +112 -101
- monopyly/templates/core/profile.html +1 -1
- monopyly/templates/credit/statement_page.html +2 -2
- monopyly/templates/credit/statement_reconciliation/statement_reconciliation_inquiry.html +1 -1
- monopyly/templates/credit/statement_reconciliation/statement_reconciliation_page.html +3 -3
- monopyly/templates/credit/statement_summary.html +2 -2
- monopyly/templates/credit/transaction_submission_page.html +3 -3
- monopyly/templates/credit/transactions_page.html +19 -3
- monopyly/templates/credit/transactions_table/condensed_row_content.html +2 -3
- monopyly/templates/credit/transactions_table/expanded_row_content.html +5 -5
- monopyly/templates/credit/transactions_table/table.html +3 -0
- monopyly/templates/credit/transactions_table/transactions.html +0 -1
- monopyly/templates/layout.html +9 -4
- {monopyly-1.5.1.dist-info → monopyly-1.6.0.dist-info}/METADATA +12 -13
- {monopyly-1.5.1.dist-info → monopyly-1.6.0.dist-info}/RECORD +88 -87
- monopyly-1.6.0.dist-info/entry_points.txt +3 -0
- monopyly/cli/apps.py +0 -108
- monopyly/cli/launch.py +0 -135
- monopyly/config/__init__.py +0 -1
- monopyly/config/default_settings.py +0 -56
- monopyly/config/settings.py +0 -59
- monopyly/static/jquery-3.7.0.min.js +0 -2
- monopyly/templates/credit/tag_tree/subtag_tree.html +0 -22
- monopyly/templates/credit/tag_tree/tag_tree.html +0 -13
- monopyly-1.5.1.dist-info/entry_points.txt +0 -2
- {monopyly-1.5.1.dist-info → monopyly-1.6.0.dist-info}/WHEEL +0 -0
- {monopyly-1.5.1.dist-info → monopyly-1.6.0.dist-info}/licenses/COPYING +0 -0
- {monopyly-1.5.1.dist-info → monopyly-1.6.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -43,11 +43,11 @@
|
|
|
43
43
|
<div id="receipt-card">
|
|
44
44
|
<div class="receipt-item">
|
|
45
45
|
<div class="receipt-key">Card:</div>
|
|
46
|
-
<div class="receipt-value">{{ transaction.
|
|
46
|
+
<div class="receipt-value">{{ transaction.statement_view.card.account.bank.bank_name }} ****-{{ transaction.statement_view.card.last_four_digits }}</div>
|
|
47
47
|
</div>
|
|
48
48
|
<div class="receipt-item">
|
|
49
49
|
<div class="receipt-key">Statement Date:</div>
|
|
50
|
-
<div class="receipt-value">{{ transaction.
|
|
50
|
+
<div class="receipt-value">{{ transaction.statement_view.issue_date }}</div>
|
|
51
51
|
</div>
|
|
52
52
|
</div>
|
|
53
53
|
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
<a class="submission button" href="{{ url_for('credit.add_transaction') }}">
|
|
63
63
|
Create a new transaction
|
|
64
64
|
</a>
|
|
65
|
-
<a class="submission button" href="{{ url_for('credit.add_transaction', card_id=transaction.
|
|
65
|
+
<a class="submission button" href="{{ url_for('credit.add_transaction', card_id=transaction.statement_view.card_id, statement_id=transaction.statement_id) }}">
|
|
66
66
|
Create a new transaction on this statement
|
|
67
67
|
</a>
|
|
68
68
|
<a class="submission button" href="{{ url_for('credit.load_statement_details', statement_id=transaction.statement_id) }}">
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
{% extends 'layout.html' %}
|
|
2
|
+
{% set full_view = True %}
|
|
2
3
|
|
|
3
4
|
|
|
4
5
|
{% block left_sidebar %}
|
|
@@ -60,11 +61,17 @@
|
|
|
60
61
|
</div>
|
|
61
62
|
|
|
62
63
|
<div class="transactions-container">
|
|
63
|
-
{%
|
|
64
|
-
|
|
65
|
-
{%
|
|
64
|
+
{% include 'credit/transactions_table/table.html' %}
|
|
65
|
+
|
|
66
|
+
{% if transactions|length < total_transactions %}
|
|
67
|
+
<div id="more-transactions" class="button">
|
|
68
|
+
<img class="icon" src="{{ url_for('static', filename='img/icons/plus-thick.png') }}">
|
|
69
|
+
<div>Load more transactions</div>
|
|
70
|
+
</div>
|
|
71
|
+
{% endif %}
|
|
66
72
|
</div>
|
|
67
73
|
|
|
74
|
+
|
|
68
75
|
<a name="bottom"></a>
|
|
69
76
|
|
|
70
77
|
{% endblock %}
|
|
@@ -78,9 +85,18 @@
|
|
|
78
85
|
const FILTER_ENDPOINT = "{{ url_for('credit.update_transactions_display') }}";
|
|
79
86
|
const EXPAND_TRANSACTION_ENDPOINT = "{{ url_for('credit.expand_transaction') }}";
|
|
80
87
|
const LINKED_TRANSACTION_ENDPOINT = "{{ url_for('credit.show_linked_transaction') }}";
|
|
88
|
+
const LOAD_TRANSACTIONS_ENDPOINT = "{{ url_for('credit.load_more_transactions') }}";
|
|
89
|
+
const LOAD_TRANSACTIONS_SELECTORS = {
|
|
90
|
+
"selected_card_ids": {{ selected_card_ids }},
|
|
91
|
+
"sort_order": "{{ sort_order }}",
|
|
92
|
+
"block_count": 1,
|
|
93
|
+
"full_view": {{ full_view|tojson }}
|
|
94
|
+
}
|
|
81
95
|
</script>
|
|
82
96
|
<script type="module" src="{{ url_for('static', filename='js/update-transactions-display.js') }}">
|
|
83
97
|
</script>
|
|
98
|
+
<script type="module" src="{{ url_for('static', filename='js/load-more-transactions.js') }}">
|
|
99
|
+
</script>
|
|
84
100
|
<script type="module" src="{{ url_for('static', filename='js/expand-transaction.js') }}">
|
|
85
101
|
</script>
|
|
86
102
|
<script type="module" src="{{ url_for('static', filename='js/show-linked-transaction.js') }}">
|
|
@@ -19,8 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
{% if full_view %}
|
|
21
21
|
<div class="card column">
|
|
22
|
-
<span class="bank">{{ transaction.
|
|
23
|
-
-<span class="digits">{{ transaction.
|
|
22
|
+
<span class="bank">{{ transaction.statement_view.card.account.bank.bank_name }}</span>
|
|
23
|
+
-<span class="digits">{{ transaction.statement_view.card.last_four_digits }}</span>
|
|
24
24
|
</div>
|
|
25
25
|
{% endif %}
|
|
26
|
-
|
|
@@ -46,21 +46,21 @@
|
|
|
46
46
|
<a href="{{ url_for('credit.load_statement_details', statement_id=transaction.statement_id) }}">
|
|
47
47
|
<img src="{{ url_for('static', filename='img/statement.png') }}" />
|
|
48
48
|
<div class="date">
|
|
49
|
-
<div class="month">{{ transaction.
|
|
50
|
-
<div class="year">{{ transaction.
|
|
49
|
+
<div class="month">{{ transaction.statement_view.issue_date.strftime('%b')|upper }}</div>
|
|
50
|
+
<div class="year">{{ transaction.statement_view.issue_date.year }}</div>
|
|
51
51
|
</div>
|
|
52
52
|
</a>
|
|
53
53
|
</div>
|
|
54
54
|
|
|
55
55
|
<div class="card">
|
|
56
|
-
<a href="{{ url_for('credit.load_account', account_id=transaction.
|
|
56
|
+
<a href="{{ url_for('credit.load_account', account_id=transaction.statement_view.card.account_id) }}">
|
|
57
57
|
{% with %}
|
|
58
58
|
{% set img_base = url_for('static', filename='img/cards/') %}
|
|
59
|
-
{% set card_url = img_base + transaction.
|
|
59
|
+
{% set card_url = img_base + transaction.statement_view.card.account.bank.bank_name.lower() + '-card.png' %}
|
|
60
60
|
{% set template_url = img_base + 'template-card.png' %}
|
|
61
61
|
<img class="card-background" src="{{ card_url }}" onerror="if (this.src != '{{ template_url }}') this.src = '{{ template_url }}'" />
|
|
62
62
|
<div class="card-number">
|
|
63
|
-
{{ transaction.
|
|
63
|
+
{{ transaction.statement_view.card.last_four_digits }}
|
|
64
64
|
</div>
|
|
65
65
|
{% endwith %}
|
|
66
66
|
</a>
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
{% set field_title_template = 'credit/transactions_table/transaction_field_titles.html' %}
|
|
2
1
|
{% set condensed_row_content_template = 'credit/transactions_table/condensed_row_content.html' %}
|
|
3
2
|
{% set expanded_row_content_template = 'credit/transactions_table/expanded_row_content.html' %}
|
|
4
3
|
{% set update_transaction_function = 'credit.update_transaction' %}
|
monopyly/templates/layout.html
CHANGED
|
@@ -33,11 +33,16 @@
|
|
|
33
33
|
<meta name="msapplication-config" content="{{ url_for('static', filename='favicon/browserconfig.xml') }}" />
|
|
34
34
|
<!-- ****** faviconit.com favicons ****** -->
|
|
35
35
|
<!-- Use Google JQuery CDN -->
|
|
36
|
-
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.
|
|
37
|
-
<script>
|
|
36
|
+
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
|
|
37
|
+
<script>
|
|
38
|
+
window.jQuery || document.write('<script src="{{ url_for('static', filename='jquery-3.7.1.min.js') }}"><\/script>')
|
|
39
|
+
</script>
|
|
38
40
|
<!-- Use Chartist via CDN -->
|
|
39
|
-
<link rel="stylesheet" href="
|
|
40
|
-
<script src="
|
|
41
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/chartist@1.5.0/dist/index.min.css" />
|
|
42
|
+
<script src="https://cdn.jsdelivr.net/npm/chartist@1.5.0/dist/index.umd.min.js"></script>
|
|
43
|
+
<script>
|
|
44
|
+
window.Chartist || document.write('<script src="{{ url_for('static', filename='chartist-1.5.0.min.js') }}"><\/script>')
|
|
45
|
+
</script>
|
|
41
46
|
</head>
|
|
42
47
|
<body>
|
|
43
48
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: monopyly
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.6.0
|
|
4
4
|
Summary: A homemade personal finance manager.
|
|
5
5
|
Project-URL: Download, https://pypi.org/project/monopyly
|
|
6
6
|
Project-URL: Homepage, http://monopyly.com
|
|
@@ -22,17 +22,16 @@ Classifier: Programming Language :: Python
|
|
|
22
22
|
Classifier: Topic :: Office/Business :: Financial
|
|
23
23
|
Classifier: Topic :: Office/Business :: Financial :: Accounting
|
|
24
24
|
Classifier: Topic :: Office/Business :: Financial :: Spreadsheet
|
|
25
|
-
Requires-Python:
|
|
26
|
-
Requires-Dist:
|
|
27
|
-
Requires-Dist: flask-wtf==1.2.
|
|
28
|
-
Requires-Dist: flask==3.
|
|
29
|
-
Requires-Dist: fuisce==1.0.2
|
|
25
|
+
Requires-Python: >=3.10
|
|
26
|
+
Requires-Dist: dry-foundation==1.4.1
|
|
27
|
+
Requires-Dist: flask-wtf==1.2.2
|
|
28
|
+
Requires-Dist: flask==3.1.2
|
|
30
29
|
Requires-Dist: gunicorn==23.0.0
|
|
31
|
-
Requires-Dist: markdown==3.
|
|
32
|
-
Requires-Dist: nltk==3.9.
|
|
30
|
+
Requires-Dist: markdown==3.9
|
|
31
|
+
Requires-Dist: nltk==3.9.2
|
|
33
32
|
Requires-Dist: python-dateutil==2.9.0
|
|
34
|
-
Requires-Dist: rich==
|
|
35
|
-
Requires-Dist: sqlalchemy==2.0.
|
|
33
|
+
Requires-Dist: rich==14.1.0
|
|
34
|
+
Requires-Dist: sqlalchemy==2.0.43
|
|
36
35
|
Description-Content-Type: text/markdown
|
|
37
36
|
|
|
38
37
|
<div id="header">
|
|
@@ -64,10 +63,10 @@ The package requires a recent version of Python (3.10+).
|
|
|
64
63
|
|
|
65
64
|
## Getting started
|
|
66
65
|
|
|
67
|
-
Once the package is properly installed,
|
|
66
|
+
Once the package is properly installed, launch the app in local mode from the command line (the default options should be sensible, but you may customize the host and port if necessary):
|
|
68
67
|
|
|
69
68
|
```
|
|
70
|
-
$ monopyly local --browser [--host HOST] [--port PORT]
|
|
69
|
+
$ monopyly launch local --browser [--host HOST] [--port PORT]
|
|
71
70
|
```
|
|
72
71
|
|
|
73
72
|
Local mode indicates that the app is just going to be run using a locally hosted server, accessible to just your machine.
|
|
@@ -160,7 +159,7 @@ Card balances are also visible by visiting the pages for individual statements.
|
|
|
160
159
|
A full history of statements for each card is available off the homepage.
|
|
161
160
|
Each statement's page gives the statement's balance, transactions, and due date.
|
|
162
161
|
|
|
163
|
-
<img class="screenshot" src="https://raw.githubusercontent.com/mitchnegus/monopyly/main/monopyly/static/img/about/statement-details.png" alt="statement details" width="800px" />
|
|
162
|
+
<img class="screenshot" src="https://raw.githubusercontent.com/mitchnegus/monopyly/main/monopyly/static/img/about/credit-statement-details.png" alt="statement details" width="800px" />
|
|
164
163
|
|
|
165
164
|
Payments can be made directly from a statement's page and can be linked to a bank account in the _Monopyly_ system for simplified tracking.
|
|
166
165
|
(Note that even linked transactions must be edited independently, as there are times when a user may wish to have separate values for linked transactions. For example, a credit card payment may be processed on a given date while it is only registered as a bank account transaction several days later.)
|
|
@@ -1,58 +1,55 @@
|
|
|
1
|
-
monopyly/CHANGELOG.md,sha256=
|
|
2
|
-
monopyly/README.md,sha256=
|
|
3
|
-
monopyly/__init__.py,sha256=
|
|
4
|
-
monopyly/_version.py,sha256=
|
|
1
|
+
monopyly/CHANGELOG.md,sha256=A2g6f7hzAPPlLvovUvPsT_SgCqi-L3CPMFb3W3P7vp0,9540
|
|
2
|
+
monopyly/README.md,sha256=TBuObVJnYFYIiSvYUrcAsCtXCUz7D9ZpIHmhDzdPD9k,9045
|
|
3
|
+
monopyly/__init__.py,sha256=fC8Z7V4uGJMPfA4MeC94EPA8Tq5qgUE33vLngYg2ut8,2046
|
|
4
|
+
monopyly/_version.py,sha256=Ry70pc5l-IBhT9gahlkNwZPp4g0CzVEWqsat9H-UASY,411
|
|
5
5
|
monopyly/auth/actions.py,sha256=uwXg0LVz3QVJxKkiI-YCJMT8OSjUK7R-aEy-XTM0Ghs,702
|
|
6
|
-
monopyly/auth/blueprint.py,sha256=
|
|
7
|
-
monopyly/auth/routes.py,sha256=
|
|
6
|
+
monopyly/auth/blueprint.py,sha256=xA2vC10uu0ekFYPj0q0z2er1-v0G7juVI35RKNN0GQw,266
|
|
7
|
+
monopyly/auth/routes.py,sha256=V9c0omnvLKOp-B5EL14waUF-4QrkoriFVKMjPaRph2w,3345
|
|
8
8
|
monopyly/auth/tools.py,sha256=CDMcvRY0A-cJxvKUKOUkDzZHDxveHl-8TzhKyOzsXEs,792
|
|
9
|
-
monopyly/banking/accounts.py,sha256=
|
|
10
|
-
monopyly/banking/actions.py,sha256=
|
|
11
|
-
monopyly/banking/banks.py,sha256=
|
|
12
|
-
monopyly/banking/blueprint.py,sha256=
|
|
13
|
-
monopyly/banking/filters.py,sha256=
|
|
14
|
-
monopyly/banking/forms.py,sha256=
|
|
15
|
-
monopyly/banking/routes.py,sha256
|
|
16
|
-
monopyly/banking/transactions.py,sha256=
|
|
17
|
-
monopyly/
|
|
18
|
-
monopyly/cli/launch.py,sha256=nPCW3Yx4e35sAQ_K6YH3pqmWCdvnt-NHG90hUV7QKPg,4103
|
|
19
|
-
monopyly/common/transactions.py,sha256=AEe86_XoDHzTaGEN5ByzPo0dQD6tA9dq3M9TCHMYPvE,18080
|
|
9
|
+
monopyly/banking/accounts.py,sha256=Fcfo2N3KoSKW7pTbHxwUw7oAYDS4K4Af-KONSkIQ3FE,9835
|
|
10
|
+
monopyly/banking/actions.py,sha256=jPwLHJp2g0wpwEjaMbjnUD7iWd2ZlVYycGYTUSNs6Yw,3456
|
|
11
|
+
monopyly/banking/banks.py,sha256=a-GaBtLu2v-8Bl5Q3lOVKUhK9dgpHdsr1sMs0uYcLOg,1751
|
|
12
|
+
monopyly/banking/blueprint.py,sha256=kOV9x7UjzZasGMDBlwoBV4mDHswDxaD5cct91hD8nXU,288
|
|
13
|
+
monopyly/banking/filters.py,sha256=EJ9qDAqDNWINc5FZ-7nddN18QFjDcKEa2heoev7_OYY,722
|
|
14
|
+
monopyly/banking/forms.py,sha256=p4kWeAZeWWLThoOffFk6kCKMN0jXT8dml2ccfDLYC7Q,10450
|
|
15
|
+
monopyly/banking/routes.py,sha256=-sqUDsuXVQiDqG5ChVeu_UvTHoga5pGHHHbcKxdD1Bs,10394
|
|
16
|
+
monopyly/banking/transactions.py,sha256=WtviQ8ukZEIool9G94Q0-AOm1Fgqg2kwJTQ0SqOxGPU,8884
|
|
17
|
+
monopyly/common/transactions.py,sha256=Oxt1ONyhWnw7g4GxuTDndYj-uO5ZdBkPxsgBxDqlAdY,20529
|
|
20
18
|
monopyly/common/utils.py,sha256=BjXhfNXGWkAPt-ebldvmZ2z00P8MhKJzjxrJJ6mzRQY,5867
|
|
21
|
-
monopyly/common/forms/__init__.py,sha256=
|
|
22
|
-
monopyly/common/forms/_forms.py,sha256=
|
|
23
|
-
monopyly/common/forms/fields.py,sha256=
|
|
24
|
-
monopyly/common/forms/utils.py,sha256=
|
|
19
|
+
monopyly/common/forms/__init__.py,sha256=hq_WYBvVxMcPqG80-mxooMVYkUCvF1wT_GNuDWC3gBc,241
|
|
20
|
+
monopyly/common/forms/_forms.py,sha256=7E34nq1YukFLz8TVx13pB6kHtLg-hXuAnJFn5d8SHx4,10053
|
|
21
|
+
monopyly/common/forms/fields.py,sha256=bKADQ-HqtOXVxhsj1DraBUPXWozjubm6bC-w1yJtPIo,4009
|
|
22
|
+
monopyly/common/forms/utils.py,sha256=kuCvuNMQx9jY4SXKLtxa0DpNQXaq4Zmpw45Aqf1jmUM,5645
|
|
25
23
|
monopyly/common/forms/validators.py,sha256=C5_NN8ktvBw6MrSXwv_x9_SQohCNmnp4brNQFELHBlI,1205
|
|
26
|
-
monopyly/
|
|
27
|
-
monopyly/
|
|
28
|
-
monopyly/config/settings.py,sha256=YEctSb8mRDvuMA1tTs1N7862Z2bMY7DPf0xo4Ist2pg,1984
|
|
29
|
-
monopyly/core/actions.py,sha256=jkrR5bBN1RG1S4Gtumnk51TkCNf4gfsUZkTi8LKHVHA,4172
|
|
30
|
-
monopyly/core/blueprint.py,sha256=pZyK8ly0UR1BbHx4xwYk1UzakzkVCS8wiMSM8XdCG2U,260
|
|
24
|
+
monopyly/core/actions.py,sha256=qzuL7e4QTMcYG0jaYNFuyGB6GwptrIbAzDqhz5ve0sY,4079
|
|
25
|
+
monopyly/core/blueprint.py,sha256=oDqVD5XA6-l--MFGPPVNgdhhT3rXNibnObpvWfIAgTI,325
|
|
31
26
|
monopyly/core/context_processors.py,sha256=ByQGQpOJIpxG3WM3Kv34LbBY0H8HVeR81TDYkdOwJgs,1166
|
|
32
27
|
monopyly/core/errors.py,sha256=xF4gA3Hv99op3EMV_f2CskHWVLrV-9ckaHKJMWR2h7o,200
|
|
33
|
-
monopyly/core/filters.py,sha256=
|
|
28
|
+
monopyly/core/filters.py,sha256=LMrqGgJE1sJUH0ojSVcn5ioGrY1OmE_OJtn-vEbNI10,1253
|
|
34
29
|
monopyly/core/internal_transactions.py,sha256=PImeViMU9rdDDPLXld1xC6bdAoulzRDr0zci4pUQY8I,459
|
|
35
|
-
monopyly/core/routes.py,sha256=
|
|
36
|
-
monopyly/credit/accounts.py,sha256=
|
|
37
|
-
monopyly/credit/actions.py,sha256=
|
|
38
|
-
monopyly/credit/blueprint.py,sha256=
|
|
39
|
-
monopyly/credit/cards.py,sha256=
|
|
40
|
-
monopyly/credit/forms.py,sha256=
|
|
41
|
-
monopyly/credit/routes.py,sha256=
|
|
42
|
-
monopyly/credit/statements.py,sha256=
|
|
43
|
-
monopyly/credit/transactions/__init__.py,sha256=
|
|
44
|
-
monopyly/credit/transactions/_transactions.py,sha256=
|
|
45
|
-
monopyly/credit/transactions/activity/__init__.py,sha256=
|
|
30
|
+
monopyly/core/routes.py,sha256=IxO1opdVQ1ad3jO-UQvx0B7Gb2IzOrX9WItwdSu5-ic,2651
|
|
31
|
+
monopyly/credit/accounts.py,sha256=6BvQiPvFMWqdDHp-heYXmcjgzzaGMvrHmwCoNQ3CcvM,1904
|
|
32
|
+
monopyly/credit/actions.py,sha256=Ba55-2i8Fh84DABshDUNTZskwQhRubsYhLlYWgN-CJY,7223
|
|
33
|
+
monopyly/credit/blueprint.py,sha256=mn7kI4ZAYZpOjkkCoMfW7BcZnDvUjbCvsmhDaJRKrTM,273
|
|
34
|
+
monopyly/credit/cards.py,sha256=8fOK_Wpgdn484OV95_JJ7hX_oyFDTHkDhETuRdKfVWU,5709
|
|
35
|
+
monopyly/credit/forms.py,sha256=ZcKpQ-1jl8oRUPXb_foew5I6BV3tAJMorj-KibkGYLE,13531
|
|
36
|
+
monopyly/credit/routes.py,sha256=h0djqZ4eVxLTMkWWuU7RM0NfZk_sa0o5XcpUe8yJZxE,21598
|
|
37
|
+
monopyly/credit/statements.py,sha256=_kJDqF8WT_bFaVcuklSXiqaLUtP7XSCtVmCfCEILo34,7225
|
|
38
|
+
monopyly/credit/transactions/__init__.py,sha256=LnixNzeUV3jzZqxB2xdxBBRu94F1oZh9SynkrgvGGPI,245
|
|
39
|
+
monopyly/credit/transactions/_transactions.py,sha256=4K1_QUYUMAikaYicXsm5GsojUL5UjA6x8Jjemf2rbwY,9621
|
|
40
|
+
monopyly/credit/transactions/activity/__init__.py,sha256=hT1VaqPQQz0qxpgJyy46kSHbiBE5crg4pxW2Xvg_2KE,248
|
|
46
41
|
monopyly/credit/transactions/activity/data.py,sha256=6ND7fz5L1aH2g_2drGz2Xf7maUaJ6RyItLdBeWXBIlA,5849
|
|
47
|
-
monopyly/credit/transactions/activity/parser.py,sha256=
|
|
48
|
-
monopyly/credit/transactions/activity/reconciliation.py,sha256=
|
|
49
|
-
monopyly/database/__init__.py,sha256=
|
|
50
|
-
monopyly/database/models.py,sha256=
|
|
51
|
-
monopyly/database/preloads.sql,sha256=
|
|
42
|
+
monopyly/credit/transactions/activity/parser.py,sha256=bwJF-Z3kDJnUTQT5iAf88SNsITMnf3dwpA3hE_fKC9M,11581
|
|
43
|
+
monopyly/credit/transactions/activity/reconciliation.py,sha256=1CIeaVBhJ-2wufyk7OBo40X6Ql627_I-rZ8axOFeFpM,19449
|
|
44
|
+
monopyly/database/__init__.py,sha256=GMbtb8FQM_gdvClzVLue7g1dkQIOfc0YnA_vRK-9edI,1582
|
|
45
|
+
monopyly/database/models.py,sha256=9QCZZNXfe0JWtX33Jtk94m0cEBd-Lxk1SUWeawWgbDw,14667
|
|
46
|
+
monopyly/database/preloads.sql,sha256=M4rMl5fMFBRcB3eLszGFdHES9lO6NbRm0U0r3IqpCyU,484
|
|
52
47
|
monopyly/database/schema.sql,sha256=cdl9b5CnYrnQ-lck147GtwArx_JJbX1vF9YYLivTeyw,4660
|
|
53
48
|
monopyly/database/views.sql,sha256=UTO2QRkVTfQ12bMVkR-O6Qv80DvYo8hngPHn2A1_1F8,3853
|
|
54
|
-
monopyly/
|
|
55
|
-
monopyly/static/
|
|
49
|
+
monopyly/scripts/screenshot_application.py,sha256=CTp9LwCji17H5y4hxzyqzhj6-SVbrb3dLee_Eii0bTg,3560
|
|
50
|
+
monopyly/static/chartist-1.5.0.min.js,sha256=Rj91J3cXWPKNNW_89vKXqUIDA6LNgJDx8qEBTttcSvs,38065
|
|
51
|
+
monopyly/static/jquery-3.7.1.min.js,sha256=_JqT3SQfawRcv_BIHPThkBvs0OEvtFFmqPF_lYI_Cxo,87533
|
|
52
|
+
monopyly/static/css/style.css,sha256=0sX-6PyeEOjDJA-XjZCb-s6AWmGVn9f5Q_foN497B9I,73979
|
|
56
53
|
monopyly/static/favicon/browserconfig.xml,sha256=Zt_AVOxiritWWXoUwPsHpx4vu4kM_butdFVzoYCYbM8,315
|
|
57
54
|
monopyly/static/favicon/favicon-114.png,sha256=kjElVFiix-kFCMdADkLpJsi8kL3GDsFm85oJhyCH-C0,20601
|
|
58
55
|
monopyly/static/favicon/favicon-120.png,sha256=g4uzHMdW0MlJhcgWfrOsj2MB2D-HdLa4t60_hvyICkM,22077
|
|
@@ -75,13 +72,14 @@ monopyly/static/favicon/favicon-96.png,sha256=I4up74EQSFN-PqnWDX4ZjuUd3AAu8UCxjo
|
|
|
75
72
|
monopyly/static/favicon/favicon.ico,sha256=l0APKVVdnMLqqL8xIfQpprpgbGriR2U2RU1wlRQDr1Y,22382
|
|
76
73
|
monopyly/static/favicon/favicon.png,sha256=_HZfmjDU8hMVlkWuzAQrT7XTbUareW-K6o8mYPolYQo,263409
|
|
77
74
|
monopyly/static/img/statement.png,sha256=O1qdR0enBAmtPMJPphJ7tEllBq2xrpRTrASMS1n8jAI,19863
|
|
78
|
-
monopyly/static/img/about/bank-account-details.png,sha256=
|
|
79
|
-
monopyly/static/img/about/bank-account-summaries.png,sha256=
|
|
80
|
-
monopyly/static/img/about/bank-accounts.png,sha256=
|
|
81
|
-
monopyly/static/img/about/credit-account-details.png,sha256=
|
|
82
|
-
monopyly/static/img/about/credit-
|
|
83
|
-
monopyly/static/img/about/
|
|
84
|
-
monopyly/static/img/about/homepage.png,sha256=
|
|
75
|
+
monopyly/static/img/about/bank-account-details.png,sha256=mD6Fd7GE9QkEkR3e2KHExN7hJj-gpiy0gJjB55is_PY,269666
|
|
76
|
+
monopyly/static/img/about/bank-account-summaries.png,sha256=Kny2rPRgk5KHUNxa-vSgd3Kcs_aMdvTcYTM6wAIcH7Y,228909
|
|
77
|
+
monopyly/static/img/about/bank-accounts.png,sha256=VYdTqhdc0j7ReccQkkweK_zdPhyTwkRIghTZZXTjJm0,250746
|
|
78
|
+
monopyly/static/img/about/credit-account-details.png,sha256=0ZgNzsxm6iZb1RnmsH_HGuHpcJUnlOK6MZIeURu2M4U,224999
|
|
79
|
+
monopyly/static/img/about/credit-statement-details.png,sha256=9KXgBNVHdpXLdQ7l85cF4ihVi1WXQtpiCZYscw6EJqA,313612
|
|
80
|
+
monopyly/static/img/about/credit-transactions.png,sha256=hQAVoZat7grpcMwMHj9TXGuS3zoTaeHFUA9vQ3QFWzM,348372
|
|
81
|
+
monopyly/static/img/about/homepage-user.png,sha256=fBgYk7ztgTMzJsEodJ4Z7CnG4foWKnQPWberwV_Qqzc,425319
|
|
82
|
+
monopyly/static/img/about/homepage.png,sha256=OFLSOlDJN3_1RpDxxmlrFarrB8VGVw03CJFncTJRu-A,178526
|
|
85
83
|
monopyly/static/img/about/statement-details.png,sha256=R7gjHDvP1QKLLs4br8-Owd9O7aYpWX9Koss0YDZkY0A,434617
|
|
86
84
|
monopyly/static/img/cards/chase-card.png,sha256=LWQ23qinIZQufQ9vAFqbdCm8Y0WTcy8vSPSUeVJCE2Y,325208
|
|
87
85
|
monopyly/static/img/cards/discover-card.png,sha256=Ip1iSXONhC0NmH3dBKOaALxvDNfn0aGuNYCAecv_Iok,326928
|
|
@@ -110,11 +108,11 @@ monopyly/static/img/icons/statement-thick.png,sha256=3OkDcfvEgsmEgasS3cbd6lIv-Pa
|
|
|
110
108
|
monopyly/static/img/icons/statement.png,sha256=x9y4Wqm8zMqen4Q5WkhTPQAEa3uSFfluKzU2YdKZNj8,20292
|
|
111
109
|
monopyly/static/img/icons/x-thick.png,sha256=Fs9bVUFDVUCjWZQbicFGYZMcsUwerxf6KlXPSBHkKfc,38482
|
|
112
110
|
monopyly/static/js/add-subtransaction.js,sha256=BoLvpahd__YHOwodqJXg10OCY7CJJX0k7yJpYAVW9iw,1465
|
|
113
|
-
monopyly/static/js/add-transfer.js,sha256=
|
|
111
|
+
monopyly/static/js/add-transfer.js,sha256=3ve8v-7g-LIVi9Mij68CGCLnIesjhR0vtmsnkVbtNzE,1496
|
|
114
112
|
monopyly/static/js/autocomplete-transaction.js,sha256=pZQ7v04WEHcJ7riPparhdF70W3ZDSz9Z0j0N_OVgZ9k,2753
|
|
115
|
-
monopyly/static/js/bind-tag-actions.js,sha256=
|
|
116
|
-
monopyly/static/js/create-balance-chart.js,sha256=
|
|
117
|
-
monopyly/static/js/create-category-chart.js,sha256=
|
|
113
|
+
monopyly/static/js/bind-tag-actions.js,sha256=ev0WMvkatJFlvvTyMuGAcstYJ2cziOKXZzXLmhDdqr0,3776
|
|
114
|
+
monopyly/static/js/create-balance-chart.js,sha256=LX4mbEPf1b6QayEkAj1L1b-zPE4Pxr84V4rQ_Es2OqA,2452
|
|
115
|
+
monopyly/static/js/create-category-chart.js,sha256=SfWQrs4c0QT4whr7KvrvWVdyYfeGu-ENscpoPjEYcqc,519
|
|
118
116
|
monopyly/static/js/define-filter.js,sha256=nz64sha6G9QXOyVEqxd_xYK0F_fXxzXxIHiQfpvUo7A,1133
|
|
119
117
|
monopyly/static/js/display-new-account-type-inputs.js,sha256=iHh7zSnyHc_-FIPO1Uuffjd8mFvfqfECMzO34FB_WF4,555
|
|
120
118
|
monopyly/static/js/display-new-bank-inputs.js,sha256=yI6wOof9aMI_8k06hSzPszzb1SOvf0WTHyEwiiJnIt4,472
|
|
@@ -127,6 +125,7 @@ monopyly/static/js/hide-homepage-block.js,sha256=Yw3m5sc5dO6pDh2VUzJu1re4NXZcuSL
|
|
|
127
125
|
monopyly/static/js/highlight-discrepant-transactions.js,sha256=jnbs6HSh4Byq46xJuDNseGHOnf_KuVH-wYRr_dsj_Y8,4188
|
|
128
126
|
monopyly/static/js/infer-card.js,sha256=WIDXWhfF4gXdlRCo2OA0IpSsszxDTkV7ZSb6Qo7pheA,1790
|
|
129
127
|
monopyly/static/js/infer-statement.js,sha256=ufcYJ2z6halVXpiZHviI_4JN48jOBAM4NbSDtWH9BoU,1896
|
|
128
|
+
monopyly/static/js/load-more-transactions.js,sha256=PhhYVW3mDQo_hYz5vhbLK-BtB1k6NluGAxPFY44rqf0,671
|
|
130
129
|
monopyly/static/js/make-payment.js,sha256=fvCSHrsUuRFJ299icIklEch8SQLnYL2cfcTwkW4fzw4,3276
|
|
131
130
|
monopyly/static/js/show-credit-activity-loader.js,sha256=glNYtiL4R8Rko1K6Og6KB9a7tKlbMRos35vedp42Zjk,815
|
|
132
131
|
monopyly/static/js/show-linked-transaction.js,sha256=AM7d2PISUMbS2UcSNZQuW8n24pcDG0hD8BjFjAyWUOk,1085
|
|
@@ -136,28 +135,28 @@ monopyly/static/js/update-bank-name.js,sha256=4nEkCTEK32y9v7WAgjQymKFxM_HTFRwdfG
|
|
|
136
135
|
monopyly/static/js/update-card-status.js,sha256=3Ecdz4c4KYsyaJtqU0YmiOSoLB4ceiWR6f3SCKWpCq8,1296
|
|
137
136
|
monopyly/static/js/update-statement-parameters.js,sha256=Mb8WN1BZZeoGn-9TTDDU_vULBemttersznpjQksT5X8,792
|
|
138
137
|
monopyly/static/js/update-statements-display.js,sha256=aaOa254und1lkzGIL8uDiezGpY6iUqKFtxTWdfRBFQA,1321
|
|
139
|
-
monopyly/static/js/update-transactions-display.js,sha256=
|
|
138
|
+
monopyly/static/js/update-transactions-display.js,sha256=6Mz_2O-fv8kjpD-_BuEVDrwATHLzh-6R-yMVm19nS6M,2725
|
|
140
139
|
monopyly/static/js/use-suggested-amount.js,sha256=O8CJ-GF3YUV9cSa6hJUFGZiePWhoZxykrr5LVhA3Jls,272
|
|
141
140
|
monopyly/static/js/use-suggested-merchant.js,sha256=KJdz5zYGaQlbPMdl32JY_k3wdIYrHF0QMtzqNNJC6RY,269
|
|
142
141
|
monopyly/static/js/modules/ajax.js,sha256=nIVPaedJ-KanhEqsF74K5Zo89SFHg1eEC7FFa4etbNw,759
|
|
143
142
|
monopyly/static/js/modules/autocomplete-input.js,sha256=cJJSP-pv7F9SL6cCudYMjMKIp7h7YzFrmeKg00tPPNo,8035
|
|
144
143
|
monopyly/static/js/modules/expand-box-row.js,sha256=KO7ojKhEYB52wQLDHB2hRUEGGtukjpdpHMJMNM5nr40,708
|
|
145
|
-
monopyly/static/js/modules/expand-transaction.js,sha256=
|
|
144
|
+
monopyly/static/js/modules/expand-transaction.js,sha256=PGW-fTgKXJUNNKnRQToanpKfrhF_6QGHvoU0ZScn1Cg,4263
|
|
146
145
|
monopyly/static/js/modules/form-suggestions.js,sha256=RIeHMkHkAKDoXm5xp914GbNdIDAaKOoLEANw4oQx9nY,1341
|
|
147
146
|
monopyly/static/js/modules/manage-acquisition-form.js,sha256=hJCg5Fc2UXDgRL-jFIirKeYQ4vFvlG6IfLE_zH_Ety0,2089
|
|
148
147
|
monopyly/static/js/modules/manage-overlays.js,sha256=nl-UlmZh22RnX648Nb_ybpt0Wfi3xDQsM8Wg-cGPTJE,1832
|
|
149
148
|
monopyly/static/js/modules/manage-subforms.js,sha256=-yKA7l8ZI0294auTI307LrKkw_Bl6I8suwK4VLuLhMc,2197
|
|
150
149
|
monopyly/static/js/modules/update-database-widget.js,sha256=S67hmqaGwzbPy94IjYrag0ZPOur4r5y_tb3_5t7xuYI,1581
|
|
151
|
-
monopyly/static/js/modules/update-display-ajax.js,sha256=
|
|
152
|
-
monopyly/templates/layout.html,sha256=
|
|
150
|
+
monopyly/static/js/modules/update-display-ajax.js,sha256=mku6cCHq8wf2bPFhZMTAOx4sgu8kI4iLS2S0CzwdpaY,1336
|
|
151
|
+
monopyly/templates/layout.html,sha256=BEjwpibxmVQ8V-YPsAegRdh_pUSRFh4ztjoWwob3x54,5964
|
|
153
152
|
monopyly/templates/auth/change_password.html,sha256=yf8Zg2QYmBd9U-MHQXoI8d6pwrnWokDRjbVMxMIJTdU,652
|
|
154
153
|
monopyly/templates/auth/login.html,sha256=Cr16HB8FkYb7jT4ueCsEoOtSM84Lh4e9Jombsb6UPr8,457
|
|
155
154
|
monopyly/templates/auth/register.html,sha256=rZh1IUhCN_67vcSHPHm4LS1rJTo8kcaNc2EEnCTrmoQ,774
|
|
156
|
-
monopyly/templates/banking/account_page.html,sha256=
|
|
157
|
-
monopyly/templates/banking/account_summaries.html,sha256=
|
|
155
|
+
monopyly/templates/banking/account_page.html,sha256=st8n6FnVsqUDC1xpQV_D5PC3LBH7XbN9kzRQXPBM45I,2300
|
|
156
|
+
monopyly/templates/banking/account_summaries.html,sha256=_NPs5Udx7mZEdKJZdKyOsSOIlbW5spXZEfwMvhFEeQE,1145
|
|
158
157
|
monopyly/templates/banking/account_summaries_page.html,sha256=puBlB52WMZR_Dhz6_rSLomNa9QSChsItsshrKT5Aixs,1113
|
|
159
|
-
monopyly/templates/banking/account_summary.html,sha256=
|
|
160
|
-
monopyly/templates/banking/accounts_page.html,sha256=
|
|
158
|
+
monopyly/templates/banking/account_summary.html,sha256=401NaZQJJrzYkkg3uoPDN-h0k4pnmBDkQBKthhxwAO0,944
|
|
159
|
+
monopyly/templates/banking/accounts_page.html,sha256=qLbCX2mT4XLcrX38A3CG6g61vnwT8mLKRciZZYbnV2g,2162
|
|
161
160
|
monopyly/templates/banking/account_form/account_form.html,sha256=v8AH6DTBW-4XVffcmr-sRRBl1k0e-30Q7Vy5sXHkrPM,1226
|
|
162
161
|
monopyly/templates/banking/account_form/account_form_page_new.html,sha256=aCahQlbJfIM_vzvHJb81dG_ORpXFmOw5QzYFNep7LxY,533
|
|
163
162
|
monopyly/templates/banking/transaction_form/bank_info_form.html,sha256=RkEjEgbD5zw4QlvpJ6koA8TxE0ZRTGmfmCy8SC2RVd0,670
|
|
@@ -168,22 +167,26 @@ monopyly/templates/banking/transaction_form/transaction_form_page_update.html,sh
|
|
|
168
167
|
monopyly/templates/banking/transaction_form/transfer_form.html,sha256=ar3ttK7kgEWQpvnD23-ud8OcLPgtvGDrKRIp4UWGoQw,168
|
|
169
168
|
monopyly/templates/banking/transactions_table/condensed_row_content.html,sha256=5eHwrdoGxNouRWSPe-NxTtvcpiZafw1WPSR_d_O3YTc,416
|
|
170
169
|
monopyly/templates/banking/transactions_table/expanded_row_content.html,sha256=WaGZ6doBs0FmCe1Bqbxb2q613D8A-idTTzxy2xF4T5g,1405
|
|
170
|
+
monopyly/templates/banking/transactions_table/table.html,sha256=1zxNJOOXmc6RkMkBb2f7yzGyqnOoyyJeTiXsETHprCk,226
|
|
171
171
|
monopyly/templates/banking/transactions_table/transaction_field_titles.html,sha256=WvjcRAByg1xSHqfNEkcJYB1eFnNfm4-qfHZben_YApI,600
|
|
172
|
-
monopyly/templates/banking/transactions_table/transactions.html,sha256=
|
|
172
|
+
monopyly/templates/banking/transactions_table/transactions.html,sha256=UuBCMXwDqKlHdxUy07O_hVQjJ8V5nhM4O5trfF4zJYg,394
|
|
173
173
|
monopyly/templates/common/form_page.html,sha256=Sx2Y6dhNsjkDQBaepTBPBvVeIe7N730llhgbcAQOrCk,107
|
|
174
|
+
monopyly/templates/common/tag_tree.html,sha256=sCmyVNGJBaBtfuvl9PepYhfV9HPYn5aL79reGhpl6H4,644
|
|
175
|
+
monopyly/templates/common/tags_page.html,sha256=7w7VrxilJ0QLz_RspHLZkvy6XKib1vWYYPljEEYsxEA,803
|
|
174
176
|
monopyly/templates/common/transaction_form/subform.html,sha256=BjwJA0-ZOeBhrLdZAkddl5F5ElMN2MSykD2hZu8PNEA,370
|
|
175
177
|
monopyly/templates/common/transaction_form/subtransaction_subform.html,sha256=WBCGnkKNGC0x7KSJeKA1g8Xbm5sO9N3jY5Nt2WiWpUk,827
|
|
176
178
|
monopyly/templates/common/transaction_form/transaction_form_page.html,sha256=gZ7uWIgaVo67m4F9cgXnrjwQ3_nEk_F2E1jT_C1yy8s,294
|
|
177
|
-
monopyly/templates/common/transactions_table/linked_bank_transaction.html,sha256=
|
|
179
|
+
monopyly/templates/common/transactions_table/linked_bank_transaction.html,sha256=zyFdQAHnYZB4KbSFu3QEv4q4AVJQpvVAmeQwG9mum8A,913
|
|
178
180
|
monopyly/templates/common/transactions_table/linked_credit_transaction.html,sha256=SpZS7CKO4IbVf2wbEi29TngIWNeVRIJZXt7ZDxCUI-M,795
|
|
179
181
|
monopyly/templates/common/transactions_table/linked_transaction_overlay.html,sha256=oqXGBdQaVvS9LPUKZrCqDMLO5F9aUtf-Npf-lR7ccIQ,1119
|
|
180
182
|
monopyly/templates/common/transactions_table/subtransactions.html,sha256=6vf9M2jMDVHDbGoI6GToKf1mgDw7VS1aYbNu4Ol_saw,492
|
|
183
|
+
monopyly/templates/common/transactions_table/table.html,sha256=5dYdxg1WOsFrc1C4GRjYFRVuwaiWx4_sYYDC-QCoxvc,117
|
|
181
184
|
monopyly/templates/common/transactions_table/transaction_condensed.html,sha256=V-HAol3kEMvIiAEmCU0jmdbDwOzzoQGV3thMGxEGtXw,364
|
|
182
185
|
monopyly/templates/common/transactions_table/transaction_expanded.html,sha256=mLUg9lSMEtoRwqHoheUObj-wrj9Xo2MvsBkkuZLVcHo,1261
|
|
183
|
-
monopyly/templates/common/transactions_table/transactions.html,sha256=
|
|
186
|
+
monopyly/templates/common/transactions_table/transactions.html,sha256=yZ6AStD_aFvzfObYXsgqH6IYFnZA5SLsCSOfjGIV0Gk,433
|
|
184
187
|
monopyly/templates/core/credits.html,sha256=5XO5foZ_J1RA42BEOzN20bZRcWm9xhZe125BCKudoUc,1166
|
|
185
|
-
monopyly/templates/core/index.html,sha256=
|
|
186
|
-
monopyly/templates/core/profile.html,sha256=
|
|
188
|
+
monopyly/templates/core/index.html,sha256=fZPEdUavOWK3F-cJws7RzAqdJ7Yl-1MY9vemQ7Ter6w,5061
|
|
189
|
+
monopyly/templates/core/profile.html,sha256=Gnv5wAFMerbpniKZ_TM907bauJM1YVSCzJ_X3LzeFq4,2350
|
|
187
190
|
monopyly/templates/core/story.html,sha256=iEKfX1aHxXrstAeeQ6J8Gnvg1zGt95c-iLELUhG-AtE,3331
|
|
188
191
|
monopyly/templates/core/errors/400.html,sha256=whUYO3b6UIQWfN8y563umccU8GLxqXu0A5nb5uNM-XY,152
|
|
189
192
|
monopyly/templates/core/errors/401.html,sha256=3HH9TSDZfhyxZVcVnT0PNe524ADvEHIj6BsllQYFFOQ,154
|
|
@@ -199,36 +202,34 @@ monopyly/templates/credit/account_page.html,sha256=HxQzRfEejFXjmZwtZD-EdHipQ7zOe
|
|
|
199
202
|
monopyly/templates/credit/card_submission_page.html,sha256=7OU6PB01jACSKSzXGySWL8ccwfCT00SeX2KkdwW3K4Q,345
|
|
200
203
|
monopyly/templates/credit/cards.html,sha256=lvuKip2nHDmPi2Wj8zmO9ZXKXY22Dlv9fDrtHuYCSqA,598
|
|
201
204
|
monopyly/templates/credit/cards_page.html,sha256=HTrTQwF-Y5Z9oWqt72i6HbAaRhQibTEt3TJKavm6_2M,250
|
|
202
|
-
monopyly/templates/credit/statement_page.html,sha256=
|
|
203
|
-
monopyly/templates/credit/statement_summary.html,sha256=
|
|
205
|
+
monopyly/templates/credit/statement_page.html,sha256=m3GlMvQUdINiwnnC8ern23lfzdKkieD7LV7Fa5RrIJY,3051
|
|
206
|
+
monopyly/templates/credit/statement_summary.html,sha256=8D8l2eveeD11wOflymOVcNrm5TyyazguVzUvAa7qVto,2874
|
|
204
207
|
monopyly/templates/credit/statements.html,sha256=ndCGe4xEj9aFfKPSrr1fnTyKKU-KxGRLq0iJTeJnDvc,1783
|
|
205
208
|
monopyly/templates/credit/statements_page.html,sha256=s_CSiRO8iTcCoEPVRF2TEOG2XNOeuGF1BSiJGhrH5O0,1458
|
|
206
|
-
monopyly/templates/credit/
|
|
207
|
-
monopyly/templates/credit/
|
|
208
|
-
monopyly/templates/credit/transactions_page.html,sha256=4Tx2yUGPUIRfz0M3vAQqjcfHAPvsVXdiD0k9N1O3B0Q,2391
|
|
209
|
+
monopyly/templates/credit/transaction_submission_page.html,sha256=1AcegARS6qwisDLpUtjI6U9ZSX6t9fBCmURxPWYsLD4,3156
|
|
210
|
+
monopyly/templates/credit/transactions_page.html,sha256=_LPFcGDrxAOls7AvSybrKrIQAAf3np9zbVI2BGK4kow,3033
|
|
209
211
|
monopyly/templates/credit/card_form/card_form.html,sha256=xF7x1RBQyAfKYuW_cRxwhKhug4tum-3s0YHyP0ovhFs,1666
|
|
210
212
|
monopyly/templates/credit/card_form/card_form_page_new.html,sha256=9ayX0dUEAbSSPVL3vIKIBJYkN8odL_KHOfq3fl6C8yw,525
|
|
211
213
|
monopyly/templates/credit/card_form/transfer_statement_inquiry.html,sha256=LuxietZsTLF3AMqeeHqcPoAYvJX_TsJ8MlDldpZwpoQ,1228
|
|
212
214
|
monopyly/templates/credit/card_graphic/card_back.html,sha256=gfr3975mziF0PCd_f2Jy83Y4ktFeFnZ1icVVpiVwoQA,889
|
|
213
215
|
monopyly/templates/credit/card_graphic/card_front.html,sha256=I53u0WvrQj-m2D-fkcga0GRketfpMuMXNM6Rs0e5CNA,679
|
|
214
216
|
monopyly/templates/credit/statement_reconciliation/discrepant_records.html,sha256=IMnLShpED8CcXYA3jrQoz4Fc2v0s6i1Fl1OAUY9pjGw,837
|
|
215
|
-
monopyly/templates/credit/statement_reconciliation/statement_reconciliation_inquiry.html,sha256=
|
|
216
|
-
monopyly/templates/credit/statement_reconciliation/statement_reconciliation_page.html,sha256=
|
|
217
|
+
monopyly/templates/credit/statement_reconciliation/statement_reconciliation_inquiry.html,sha256=4c8kZXF6-A2Q5wVgr0rjLjfoEXTIl646QpoVJ99DfLw,785
|
|
218
|
+
monopyly/templates/credit/statement_reconciliation/statement_reconciliation_page.html,sha256=qGukmK6ObHjT2rZezFPzqLCmvLl0mlN1pDN33B_IJvc,2723
|
|
217
219
|
monopyly/templates/credit/statement_reconciliation/summary.html,sha256=yDNREcWbCbvmVRSbMVst2YnyLoLrd-5sgG2bWzsNAF4,1804
|
|
218
220
|
monopyly/templates/credit/statement_reconciliation/unrecorded_activities.html,sha256=wCgqgaih413A9RkyARGIQ9OMqaA2POkL57P-wkfG47k,836
|
|
219
|
-
monopyly/templates/credit/tag_tree/subtag_tree.html,sha256=wMt4BbLIxkioQiWmdIcEVD1xz21uuXtSB08VxJUPB2I,580
|
|
220
|
-
monopyly/templates/credit/tag_tree/tag_tree.html,sha256=cAsYpZWfguZWivALn4hE8fRVD6YsSvmIzRg2g5RSJTg,345
|
|
221
221
|
monopyly/templates/credit/transaction_form/transaction_form.html,sha256=_2tYKMqmLE1Yqu9Pk94nOYuCxt3ZXGW8wDboMNn2iGQ,1662
|
|
222
222
|
monopyly/templates/credit/transaction_form/transaction_form_page.html,sha256=x_gwHkqWVuiVIm2Ol_Cv7ce2EODJS1Ktn5S2kI4gG1o,795
|
|
223
223
|
monopyly/templates/credit/transaction_form/transaction_form_page_new.html,sha256=zIKYO4NyuzxFQltbyJg2FnfOinMHessSdaMpuBTbNxI,312
|
|
224
224
|
monopyly/templates/credit/transaction_form/transaction_form_page_update.html,sha256=VDlNFZPvuwNOfD53iPkpoi4WOyZYRHeIVy_7gpTJuew,513
|
|
225
|
-
monopyly/templates/credit/transactions_table/condensed_row_content.html,sha256=
|
|
226
|
-
monopyly/templates/credit/transactions_table/expanded_row_content.html,sha256=
|
|
225
|
+
monopyly/templates/credit/transactions_table/condensed_row_content.html,sha256=BuYxFOdVn5Xil73xYfpLobl5-LDdIckCkCobrkMzNUs,648
|
|
226
|
+
monopyly/templates/credit/transactions_table/expanded_row_content.html,sha256=UiGNqoOpz5lnkrsb1PIuoyZtjqpVTOoUvqyRrBjk2r8,2086
|
|
227
|
+
monopyly/templates/credit/transactions_table/table.html,sha256=S2xjvUyWnsKDIux2kt_sV2DRzKov-TfPuACBYrh9HDw,224
|
|
227
228
|
monopyly/templates/credit/transactions_table/transaction_field_titles.html,sha256=km-3YEDJaygwcKV-rwYnrE7xF8u4Z7jCBsk0Ia-LO-M,758
|
|
228
|
-
monopyly/templates/credit/transactions_table/transactions.html,sha256=
|
|
229
|
-
monopyly-1.
|
|
230
|
-
monopyly-1.
|
|
231
|
-
monopyly-1.
|
|
232
|
-
monopyly-1.
|
|
233
|
-
monopyly-1.
|
|
234
|
-
monopyly-1.
|
|
229
|
+
monopyly/templates/credit/transactions_table/transactions.html,sha256=83zHx5Oa1KH1bMrKk2mlBmMiYKwa1t5lBq_JSAgslgc,390
|
|
230
|
+
monopyly-1.6.0.dist-info/METADATA,sha256=D-djrYM_GkLv7FwHsS88jpEsxv2rwU0o-nGtZFRnFVg,10968
|
|
231
|
+
monopyly-1.6.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
232
|
+
monopyly-1.6.0.dist-info/entry_points.txt,sha256=VMqyRA0VRpTc0-5Z-VB-wX1AuyezoKKPhcf4bIUKz9g,110
|
|
233
|
+
monopyly-1.6.0.dist-info/licenses/COPYING,sha256=5X8cMguM-HmKfS_4Om-eBqM6A1hfbgZf6pfx2G24QFI,35150
|
|
234
|
+
monopyly-1.6.0.dist-info/licenses/LICENSE,sha256=94rIicMccmTPhqXiRLV9JsU8P2ocMuEUUtUpp6LPKiE,253
|
|
235
|
+
monopyly-1.6.0.dist-info/RECORD,,
|
monopyly/cli/apps.py
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
"""Application objects for running the app via the CLI."""
|
|
2
|
-
|
|
3
|
-
import multiprocessing
|
|
4
|
-
import subprocess
|
|
5
|
-
|
|
6
|
-
from gunicorn.app.base import BaseApplication
|
|
7
|
-
|
|
8
|
-
from .. import create_app
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class LocalApplication:
|
|
12
|
-
"""
|
|
13
|
-
An object for running the application locally.
|
|
14
|
-
|
|
15
|
-
This application object will run the Flask application using the
|
|
16
|
-
built-in Python server on localhost, just like the Flask development
|
|
17
|
-
mode. However, it will launch from port 5001 to avoid conflicting
|
|
18
|
-
with other Python servers that may attempt to run on the default
|
|
19
|
-
port 5000.
|
|
20
|
-
"""
|
|
21
|
-
|
|
22
|
-
mode_name = "local"
|
|
23
|
-
default_port = "5001"
|
|
24
|
-
_debug = None
|
|
25
|
-
|
|
26
|
-
def __init__(self, host=None, port=None, **options):
|
|
27
|
-
"""Initialize the application in development mode."""
|
|
28
|
-
self._host = host
|
|
29
|
-
self._port = port or self.default_port
|
|
30
|
-
if options:
|
|
31
|
-
raise NotImplementedError(
|
|
32
|
-
f"Options besides `host` and `port` are not handled in {self.mode_name} mode."
|
|
33
|
-
)
|
|
34
|
-
self.application = create_app(debug=self._debug)
|
|
35
|
-
|
|
36
|
-
def run(self):
|
|
37
|
-
"""Run the Monopyly application in development mode."""
|
|
38
|
-
self.application.run(
|
|
39
|
-
host=self._host,
|
|
40
|
-
port=self._port,
|
|
41
|
-
debug=self._debug,
|
|
42
|
-
)
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
class DevelopmentApplication(LocalApplication):
|
|
46
|
-
"""
|
|
47
|
-
An object for running the application in development mode.
|
|
48
|
-
|
|
49
|
-
This application object will run the Flask application using the
|
|
50
|
-
built-in Python server on localhost, just like the Flask development
|
|
51
|
-
mode.
|
|
52
|
-
"""
|
|
53
|
-
|
|
54
|
-
mode_name = "development"
|
|
55
|
-
default_port = None # traditionally 5000
|
|
56
|
-
_debug = True
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
class ProductionApplication(BaseApplication):
|
|
60
|
-
"""
|
|
61
|
-
An object for running the application in production mode (via Gunicorn).
|
|
62
|
-
|
|
63
|
-
This application object will run the Flask application using a
|
|
64
|
-
Gunicorn server instead of the built-in Python server.
|
|
65
|
-
"""
|
|
66
|
-
|
|
67
|
-
default_port = None # traditionally 8000
|
|
68
|
-
_default_worker_count = (multiprocessing.cpu_count() * 2) + 1
|
|
69
|
-
|
|
70
|
-
def __init__(self, host=None, port=None, **options):
|
|
71
|
-
"""Initialize the application in production mode."""
|
|
72
|
-
if port and not host:
|
|
73
|
-
raise ValueError("A host must be specified when the port is given.")
|
|
74
|
-
self._host = host
|
|
75
|
-
self._port = port or self.default_port
|
|
76
|
-
self.options = options
|
|
77
|
-
self.options["bind"] = self._determine_binding(options.get("bind"))
|
|
78
|
-
self.options.setdefault("workers", self._default_worker_count)
|
|
79
|
-
self.application = create_app()
|
|
80
|
-
super().__init__()
|
|
81
|
-
|
|
82
|
-
def _determine_binding(self, bind_option):
|
|
83
|
-
# Parse any socket binding options
|
|
84
|
-
if self._host and bind_option:
|
|
85
|
-
raise ValueError(
|
|
86
|
-
"The `host` may not be specified directly if the `bind` option is used."
|
|
87
|
-
)
|
|
88
|
-
if self._host:
|
|
89
|
-
bind_values = [self._host]
|
|
90
|
-
if self._port:
|
|
91
|
-
bind_values.append(self._port)
|
|
92
|
-
bind_option = ":".join(bind_values)
|
|
93
|
-
return bind_option
|
|
94
|
-
|
|
95
|
-
def load_config(self):
|
|
96
|
-
config = {
|
|
97
|
-
key: value
|
|
98
|
-
for key, value in self.options.items()
|
|
99
|
-
if key in self.cfg.settings and value is not None
|
|
100
|
-
}
|
|
101
|
-
for key, value in config.items():
|
|
102
|
-
self.cfg.set(key.lower(), value)
|
|
103
|
-
|
|
104
|
-
def load(self):
|
|
105
|
-
return self.application
|
|
106
|
-
|
|
107
|
-
def run(self, *args, **kwargs):
|
|
108
|
-
return super().run(*args, **kwargs)
|