Review fixes

This commit is contained in:
Michal Siedlaczek 2017-11-05 18:12:15 -05:00
parent 51a61cf02d
commit 855d0312b5
4 changed files with 13 additions and 18 deletions

View File

@ -23,19 +23,18 @@ import glob
import os import os
import re import re
from qutebrowser.utils import log
from PyQt5.QtCore import QLibraryInfo from PyQt5.QtCore import QLibraryInfo
from qutebrowser.utils import log
def version(filename): def version(filename):
"""Extract the version number from the dictionary file name.""" """Extract the version number from the dictionary file name."""
version_re = re.compile(r""" version_re = re.compile(r".+-(?P<version>[0-9]+-[0-9]+?)\.bdic")
.+-(?P<version>[0-9]+-[0-9]+?)\.bdic
""", re.VERBOSE)
match = version_re.match(filename) match = version_re.match(filename)
assert match is not None, \ if match is None:
'the given dictionary file name is malformed: {}'.format(filename) raise ValueError('the given dictionary file name is malformed: {}'
return [int(n) for n in match.group('version').split('-')] .format(filename))
return tuple(int(n) for n in match.group('version').split('-'))
def dictionary_dir(): def dictionary_dir():

View File

@ -137,7 +137,7 @@ class DictionaryLanguageSetter(DefaultProfileSetter):
local_filename = spell.local_filename(code) local_filename = spell.local_filename(code)
if not local_filename: if not local_filename:
message.warning( message.warning(
"Language {} is not installed - see scripts/dict.py " "Language {} is not installed - see scripts/dictcli.py "
"in qutebrowser's sources".format(code)) "in qutebrowser's sources".format(code))
return local_filename return local_filename

View File

@ -97,6 +97,7 @@ def get_argparser():
parser = argparse.ArgumentParser(prog='dictcli', parser = argparse.ArgumentParser(prog='dictcli',
description=desc) description=desc)
subparsers = parser.add_subparsers(help='Command', dest='cmd') subparsers = parser.add_subparsers(help='Command', dest='cmd')
subparsers.required = True
subparsers.add_parser('list', subparsers.add_parser('list',
help='Display the list of available languages.') help='Display the list of available languages.')
subparsers.add_parser('update', subparsers.add_parser('update',
@ -228,8 +229,7 @@ def install(languages):
print('Installing {}: {}'.format(lang.code, lang.name)) print('Installing {}: {}'.format(lang.code, lang.name))
install_lang(lang) install_lang(lang)
except PermissionError as e: except PermissionError as e:
print(e) sys.exit(str(e))
sys.exit(1)
def update(languages): def update(languages):
@ -258,18 +258,14 @@ def main():
argv = sys.argv[1:] argv = sys.argv[1:]
args = parser.parse_args(argv) args = parser.parse_args(argv)
languages = available_languages() languages = available_languages()
if args.cmd is None: if args.cmd == 'list':
parser.print_usage()
exit(1)
elif args.cmd == 'list':
print_list(languages) print_list(languages)
elif args.cmd == 'update': elif args.cmd == 'update':
update(languages) update(languages)
elif args.cmd == 'remove-old': elif args.cmd == 'remove-old':
remove_old(languages) remove_old(languages)
elif not args.language: elif not args.language:
print('You must provide a list of languages to install.') sys.exit('You must provide a list of languages to install.')
exit(1)
else: else:
try: try:
install(filter_languages(languages, args.language)) install(filter_languages(languages, args.language))

View File

@ -22,8 +22,8 @@ from qutebrowser.browser.webengine import spell
def test_version(): def test_version():
assert spell.version('en-US-8-0.bdic') == [8, 0] assert spell.version('en-US-8-0.bdic') == (8, 0)
assert spell.version('pl-PL-3-0.bdic') == [3, 0] assert spell.version('pl-PL-3-0.bdic') == (3, 0)
def test_local_filename_dictionary_does_not_exist(tmpdir, monkeypatch): def test_local_filename_dictionary_does_not_exist(tmpdir, monkeypatch):