Skip to content

Commit

Permalink
utils.with_connection
Browse files Browse the repository at this point in the history
  • Loading branch information
YtvwlD committed Sep 11, 2017
1 parent d1e8ac3 commit 2d9b562
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 15 deletions.
2 changes: 1 addition & 1 deletion metecli/account.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ def modify(self, args):

def logs(self, args):
"""The same as `audits --user <this user>`."""
audits.show(self._conf, user=str(self._uid))
audits.show(self._conf, self._conn, user=str(self._uid))

def buy(self, args):
drink_found = fuzzy_search(self._conn().drinks(), args.drink)
Expand Down
11 changes: 5 additions & 6 deletions metecli/audits.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
from .connection import Connection
from .utils import fuzzy_search, find_by_id, print_table
from .utils import fuzzy_search, find_by_id, print_table, with_connection

from datetime import datetime
from argparse import ArgumentTypeError
Expand All @@ -21,8 +20,9 @@ def setup_cmdline(global_subparsers):
parser.add_argument("--to_date", type=valid_date, help="show only audits that were created before this date")
parser.set_defaults(func=do)

def do(args, config):
show(config, user=args.user, from_date=args.from_date, to_date=args.to_date)
@with_connection
def do(args, config, conn):
show(config, conn, user=args.user, from_date=args.from_date, to_date=args.to_date)

def _create_table(audits, drinks):
for audit in audits["audits"]:
Expand All @@ -33,8 +33,7 @@ def _create_table(audits, drinks):
drink = {"name": "n/a"}
yield [audit["created_at"], drink["name"], audit["difference"]]

def show(config, user=None, from_date=None, to_date=None):
conn = Connection(base_url=config.settings["connection"]["base_url"])
def show(config, conn, user=None, from_date=None, to_date=None):
params = dict()
if user:
user_found = fuzzy_search(conn.users(), user)
Expand Down
15 changes: 7 additions & 8 deletions metecli/drinks.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
from .connection import Connection
from .utils import true_false_to_yes_no, fuzzy_search, print_table, show_edit
from .utils import true_false_to_yes_no, fuzzy_search, print_table, show_edit, with_connection

import logging
log = logging.getLogger(__name__)
Expand All @@ -17,8 +16,8 @@ def setup_cmdline(global_subparsers):
parser_modify.set_defaults(func=modify)
parser.set_defaults(func=list_drinks)

def list_drinks(args, config):
conn = Connection(base_url=config.settings["connection"]["base_url"])
@with_connection
def list_drinks(args, config, conn):
drinks = conn.drinks()
print("All drinks:")
print_table(config,
Expand All @@ -40,8 +39,8 @@ def list_drinks(args, config):
],
)

def show(args, config):
conn = Connection(base_url=config.settings["connection"]["base_url"])
@with_connection
def show(args, config, conn):
drink = fuzzy_search(conn.drinks(), args.drink)
if not drink:
return
Expand All @@ -54,8 +53,8 @@ def show(args, config):
["active?", true_false_to_yes_no(drink["active"])],
])

def modify(args, config):
conn = Connection(base_url=config.settings["connection"]["base_url"])
@with_connection
def modify(args, config, conn):
data = fuzzy_search(conn.drinks(), args.drink)
if not data:
return
Expand Down
8 changes: 8 additions & 0 deletions metecli/utils.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
from .connection import Connection

from tabulate import tabulate

import logging

log = logging.getLogger(__name__)

def with_connection(func):
def new_func(args, config):
conn = Connection(base_url=config.settings["connection"]["base_url"])
return func(args, config, conn)
return new_func

def print_table(config, data, headers=[]):
print(tabulate(
data,
Expand Down

0 comments on commit 2d9b562

Please sign in to comment.