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

View File

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

View File

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

View File

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