aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzlg <zlg@zlg.space>2018-10-12 17:50:53 -0700
committerzlg <zlg@zlg.space>2018-10-12 17:50:53 -0700
commitc7d09704fb911d59139aff5ad0ab4c35a2ed9493 (patch)
tree5d8b04ae93a69d3fca9dd0c6a4a747e5d431a163
parentBump to 0.3beta1 for PyPI (diff)
downloadvgstash-c7d09704fb911d59139aff5ad0ab4c35a2ed9493.tar.gz
vgstash-c7d09704fb911d59139aff5ad0ab4c35a2ed9493.tar.bz2
vgstash-c7d09704fb911d59139aff5ad0ab4c35a2ed9493.tar.xz
vgstash-c7d09704fb911d59139aff5ad0ab4c35a2ed9493.zip
cli: Add zero-game import/export messages
-rw-r--r--src/vgstash_cli.py21
-rw-r--r--tests/test_vgstash_cli.py8
2 files changed, 18 insertions, 11 deletions
diff --git a/src/vgstash_cli.py b/src/vgstash_cli.py
index 17fd301..22cfc5a 100644
--- a/src/vgstash_cli.py
+++ b/src/vgstash_cli.py
@@ -38,13 +38,14 @@ def row_format(row, width, header):
Prints a row from the result set into a nice table.
"""
# The magic number comes from:
- # game ID (4)
- # system name (8)
- # ownership (3)
- # progress (9)
+ # 3 chars per separator (9 chars total)
+ # 8 chars for "System" (so there's an additional space on each side)
+ # 3 chars for "Own"
+ # 9 chars for "Progress" and an additional space
+ # Total is 29 characters
twidth = int(width) - 29
if header == True:
- click.echo("{:<{w}s} | {:<8s} | {:^3s} | {}".format(
+ click.echo("{:<{w}s} | {:^8s} | {:^3s} | {}".format(
"Title",
"System",
"Own",
@@ -235,7 +236,10 @@ def import_file(format, filepath, update):
)
except sqlite3.IntegrityError as e:
count -= 1
- click.echo("Successfully imported {} games from {}.".format(count, filepath))
+ if count > 0:
+ click.echo("Successfully imported {} games from {}.".format(count, filepath))
+ else:
+ click.echo("Couldn't import any games. Is the YAML file formatted correctly?")
@cli.command("export")
@@ -270,5 +274,8 @@ def export_file(format, filepath):
with open(filepath, "w") as fp:
yaml.dump(game_set, fp, default_flow_style=False,
indent=4, allow_unicode=True)
- click.echo("Successfully exported {} games to {}.".format(len(game_set), filepath))
+ if len(game_set) > 0:
+ click.echo("Successfully exported {} games to {}.".format(len(game_set), filepath))
+ else:
+ click.echo("Could not export any games; have you made sure your collection has games in it?")
diff --git a/tests/test_vgstash_cli.py b/tests/test_vgstash_cli.py
index f81d119..02f0d81 100644
--- a/tests/test_vgstash_cli.py
+++ b/tests/test_vgstash_cli.py
@@ -108,7 +108,7 @@ def test_list_pretty():
print(result.output)
assert result.exit_code == 0
assert result.output == '\n'.join((
- 'Title | System | Own | Progress',
+ 'Title | System | Own | Progress',
'--------------------------------------------------------------------------------',
'Sonic the Hedgehog 2 | Genesis | | B',
'Vectorman | Genesis | | B',
@@ -126,7 +126,7 @@ def test_list_pretty_smaller():
print(result.output)
assert result.exit_code == 0
assert result.output == '\n'.join((
- 'Title | System | Own | Progress',
+ 'Title | System | Own | Progress',
'------------------------------------------------------------',
'Sonic the Hedgehog 2 | Genesis | | B',
'Vectorman | Genesis | | B',
@@ -144,7 +144,7 @@ def test_list_pretty_tiny():
print(result.output)
assert result.exit_code == 0
assert result.output == '\n'.join((
- 'Title | System | Own | Progress',
+ 'Title | System | Own | Progress',
'--------------------------------------------------',
'Sonic the Hedgehog 2 | Genesis | | B',
'Vectorman | Genesis | | B',
@@ -176,7 +176,7 @@ def test_update():
print(list_result.output)
assert list_result.exit_code == 0
assert list_result.output == "\n".join((
- 'Title | System | Own | Progress',
+ 'Title | System | Own | Progress',
'----------------------------------------',
'Sonic the H | Genesis | | B',
'Vectorman 2 | Genesis | P | P',