Skip to content

Commit

Permalink
Merge pull request #58 from /issues/51
Browse files Browse the repository at this point in the history
Issues/51
  • Loading branch information
jantman committed May 7, 2017
2 parents 767e98b + 01a9d01 commit 727bef5
Show file tree
Hide file tree
Showing 15 changed files with 902 additions and 11 deletions.
6 changes: 6 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ Responsive Flask/SQLAlchemy personal finance app, specifically for biweekly budg

**For full documentation**, see `http://biweeklybudget.readthedocs.io/en/latest/ <http://biweeklybudget.readthedocs.io/en/latest/>`_

**`Screenshots <http://biweeklybudget.readthedocs.io/en/latest/screenshots.html>`_**

**For development activity**, see `https://waffle.io/jantman/biweeklybudget <https://waffle.io/jantman/biweeklybudget>`_

Overview
Expand Down Expand Up @@ -67,6 +69,10 @@ Main Features
Requirements
------------

**Note:** Alternatively, biweeklybudget is also distributed as a `Docker container <http://biweeklybudget.readthedocs.io/en/latest/flask_app.html>`_.
Using the dockerized version will eliminate all of these dependencies aside from MySQL (which you can run in another container) and
Vault (if you choose to take advantage of the OFX downloading), which you can also run in another container.

* Python 2.7 or 3.3+ (currently tested with 2.7, 3.3, 3.4, 3.5, 3.6 and developed with 3.6)
* Python `VirtualEnv <http://www.virtualenv.org/>`_ and ``pip`` (recommended installation method; your OS/distribution should have packages for these)
* Git, to install certain upstream dependencies.
Expand Down
77 changes: 77 additions & 0 deletions biweeklybudget/initdb.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
"""
The latest version of this package is available at:
<http://github.com/jantman/biweeklybudget>
################################################################################
Copyright 2016 Jason Antman <jason@jasonantman.com> <http://www.jasonantman.com>
This file is part of biweeklybudget, also known as biweeklybudget.
biweeklybudget is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
biweeklybudget is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with biweeklybudget. If not, see <http://www.gnu.org/licenses/>.
The Copyright and Authors attributions contained herein may not be removed or
otherwise altered, except to add the Author attribution of a contributor to
this work. (Additional Terms pursuant to Section 7b of the AGPL v3)
################################################################################
While not legally required, I sincerely request that anyone who finds
bugs please submit them at <https://github.com/jantman/biweeklybudget> or
to me via email, and that you send any contributions or improvements
either as a pull request on GitHub, or to me via email.
################################################################################
AUTHORS:
Jason Antman <jason@jasonantman.com> <http://www.jasonantman.com>
################################################################################
"""

import argparse
import logging

from biweeklybudget.db import init_db
from biweeklybudget.cliutils import set_log_debug, set_log_info

logger = logging.getLogger(__name__)


def parse_args():
p = argparse.ArgumentParser(description='Load initial data to DB')
p.add_argument('-v', '--verbose', dest='verbose', action='count', default=0,
help='verbose output. specify twice for debug-level output.')
args = p.parse_args()
return args


def main():
global logger
logging.basicConfig(
level=logging.WARNING,
format="[%(asctime)s %(levelname)s] %(message)s"
)
logger = logging.getLogger()

args = parse_args()

# set logging level
if args.verbose > 1:
set_log_debug(logger)
elif args.verbose == 1:
set_log_info(logger)

logger.info('Initializing DB...')
init_db()
logger.info('Done initializing database')


if __name__ == "__main__":
main()

0 comments on commit 727bef5

Please sign in to comment.