Enforce PEP-8 compliance on Fish completion plugin

This commit is contained in:
Justin Mayer 2020-03-02 15:46:04 +01:00
parent 05db0d18eb
commit f465c90e78

View file

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
# This file is part of beets.
# Copyright 2015, winters jean-marie.
# Copyright 2020, Justin Mayer <https://justinmayer.com>
@ -17,13 +18,12 @@
<https://fishshell.com/>, including completions for Beets commands, plugin
commands, and option flags. Also generated are completions for all the album
and track fields, suggesting for example `genre:` or `album:` when querying the
Beets database. Completions for the *values* of those fields are not generated by
default but can be included via the `-e` or `--extravalues` flag. For example:
Beets database. Completions for the *values* of those fields are not generated
by default but can be added via the `-e` / `--extravalues` flag. For example:
`beet fish -e genre -e albumartist`
"""
from __future__ import (division, absolute_import, print_function,
unicode_literals)
from __future__ import division, absolute_import, print_function
from beets.plugins import BeetsPlugin
from beets import library, ui
@ -91,14 +91,14 @@ class FishPlugin(BeetsPlugin):
# If specified, also collect the values for these fields.
# Make a giant string of all the above, formatted in a way that
# allows Fish to do tab completion for the `beet` command.
homeDir = os.path.expanduser("~")
completePath = os.path.join(homeDir, '.config/fish/completions')
home_dir = os.path.expanduser("~")
completion_dir = os.path.join(home_dir, '.config/fish/completions')
try:
os.makedirs(completePath)
os.makedirs(completion_dir)
except OSError:
if not os.path.isdir(completePath):
if not os.path.isdir(completion_dir):
raise
pathAndFile = os.path.join(completePath, 'beet.fish')
completion_file_path = os.path.join(completion_dir, 'beet.fish')
nobasicfields = opts.noFields # Do not complete for album/track fields
extravalues = opts.extravalues # e.g., Also complete artists names
beetcmds = sorted(
@ -129,7 +129,7 @@ class FishPlugin(BeetsPlugin):
# Set up completion for all the command options
totstring += get_all_commands(beetcmds)
with open(pathAndFile, 'w') as fish_file:
with open(completion_file_path, 'w') as fish_file:
fish_file.write(totstring)
@ -156,11 +156,11 @@ def get_extravalues(lib, extravalues):
# Make a list of all values from an album/track field.
# 'beet ls albumartist: <TAB>' yields completions for ABBA, Beatles, etc.
word = ''
setOfValues = get_set_of_values_for_field(lib, extravalues)
values_set = get_set_of_values_for_field(lib, extravalues)
for fld in extravalues:
extraname = fld.upper() + 'S'
word += (
"set " + extraname + " " + " ".join(sorted(setOfValues[fld]))
"set " + extraname + " " + " ".join(sorted(values_set[fld]))
+ ("\n" * 2)
)
return word
@ -168,13 +168,13 @@ def get_extravalues(lib, extravalues):
def get_set_of_values_for_field(lib, fields):
# Get unique values from a specified album/track field
dictOfFields = {}
fields_dict = {}
for each in fields:
dictOfFields[each] = set()
fields_dict[each] = set()
for item in lib.items():
for field in fields:
dictOfFields[field].add(wrap(item[field]))
return dictOfFields
fields_dict[field].add(wrap(item[field]))
return fields_dict
def get_basic_beet_options():
@ -237,11 +237,11 @@ def get_all_commands(beetcmds):
"completions for " + name) + "\n"
for option in cmd.parser._get_all_options()[1:]:
cmd_LO = (" -l " + option._long_opts[0].replace('--', '')
)if option._long_opts else ''
cmd_SO = (" -s " + option._short_opts[0].replace('-', '')
) if option._short_opts else ''
cmd_needARG = ' -r ' if option.nargs in [1] else ''
cmd_l = (" -l " + option._long_opts[0].replace('--', '')
)if option._long_opts else ''
cmd_s = (" -s " + option._short_opts[0].replace('-', '')
) if option._short_opts else ''
cmd_need_arg = ' -r ' if option.nargs in [1] else ''
cmd_helpstr = (" -d " + wrap(' '.join(option.help.split()))
) if option.help else ''
cmd_arglist = (' -a ' + wrap(" ".join(option.choices))
@ -249,7 +249,7 @@ def get_all_commands(beetcmds):
word += " ".join(BL_USE3.format(
name,
(cmd_needARG + cmd_SO + cmd_LO + " -f " + cmd_arglist),
(cmd_need_arg + cmd_s + cmd_l + " -f " + cmd_arglist),
cmd_helpstr).split()) + "\n"
word = (word + " ".join(BL_USE3.format(