Compare commits
1 Commits
d39cf11ed3
...
main
Author | SHA1 | Date | |
---|---|---|---|
ca2c7ae3c5 |
22
src/main.sh
22
src/main.sh
@@ -94,6 +94,7 @@ MODE_INSERT="show"
|
||||
# --mbsearch
|
||||
# --preview
|
||||
# --show-keybindings
|
||||
# --remove-from-cache
|
||||
case "${1:-}" in
|
||||
"--lines")
|
||||
# Print lines that are fed into fzf.
|
||||
@@ -327,6 +328,26 @@ case "${1:-}" in
|
||||
print_keybindings "$2"
|
||||
exit 0
|
||||
;;
|
||||
"--remove-from-cache")
|
||||
# Remove entry from cache to reload
|
||||
#
|
||||
# @argument $2: view
|
||||
# @argument $3: MusicBrainz ID of current object
|
||||
# @argument $4: MusicBrainz ID of selected object
|
||||
case "$2" in
|
||||
"$VIEW_ARTIST")
|
||||
cache_rm_artist "$3"
|
||||
cache_rm_releasegroup "$4"
|
||||
;;
|
||||
"$VIEW_RELEASEGROUP")
|
||||
cache_rm_releasegroup "$3"
|
||||
cache_rm_release "$4"
|
||||
;;
|
||||
"$VIEW_RELEASE") cache_rm_release "$3" ;;
|
||||
"$VIEW_LIST_ALBUMS" | "$VIEW_SEARCH_ALBUM") cache_rm_releasegroup "$4" ;;
|
||||
esac
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
# Load configuration
|
||||
@@ -683,6 +704,7 @@ open \"\$(dirname {4})\"" \
|
||||
--bind="$KEYS_YANK_CURRENT:execute-silent:printf {2} | $CLIP" \
|
||||
--bind="$KEYS_SHOW_PLAYLIST:transform:echo \"print($VIEW_PLAYLIST)+print()+print($FZF_CURRENT_VIEW)+print({2})+accept\"" \
|
||||
--bind="$KEYS_KEYBINDINGS:preview:$0 --show-keybindings $FZF_CURRENT_VIEW" \
|
||||
--bind="$KEYS_REFRESH:execute-silent($0 --remove-from-cache $FZF_CURRENT_VIEW {2} {3})+transform:$0 --action-draw $FZF_CURRENT_MODE $FZF_CURRENT_VIEW {2}" \
|
||||
--bind="$KEYS_QUIT:print($VIEW_QUIT)+accept" \
|
||||
--bind="$KEYS_N_QUIT:transform:$IN_NORMAL_MODE && ($IN_LIST_ARTISTS_VIEW && echo \"print($VIEW_QUIT)+accept\" || $0 --action-draw $MODE_NORMAL $VIEW_LIST_ARTISTS) || $PUT_FZF_KEY_LOGIC" \
|
||||
--bind="$KEYS_SCROLL_PREVIEW_DOWN:preview-down" \
|
||||
|
@@ -244,3 +244,54 @@ cache_get_file_batch() {
|
||||
cache_mbid_from_path_batch() {
|
||||
cat | awk -F "/" '{ print $(NF-1) }'
|
||||
}
|
||||
|
||||
# Remove artist items from cache
|
||||
#
|
||||
# @argument $1: MusicBrainz arist ID
|
||||
#
|
||||
# This function is "safer" than other because it removes data. These safty
|
||||
# checks are paranoid.
|
||||
cache_rm_artist() {
|
||||
[ "$CACHEDIR" ] || return 1
|
||||
[ -d "$CACHEDIR" ] || return 1
|
||||
[ -d "$CACHEDIR/$TYPE_ARTIST" ] || return 1
|
||||
d="$CACHEDIR/$TYPE_ARTIST/$(__radix "$1")/"
|
||||
[ "$d" ] || return 1
|
||||
[ -d "$d" ] || return 1
|
||||
info "removing $d"
|
||||
rm -rf "$d"
|
||||
}
|
||||
|
||||
# Remove release-group items from cache
|
||||
#
|
||||
# @argument $1: MusicBrainz release-group ID
|
||||
#
|
||||
# This function is "safer" than other because it removes data. These safty
|
||||
# checks are paranoid.
|
||||
cache_rm_releasegroup() {
|
||||
[ "$CACHEDIR" ] || return 1
|
||||
[ -d "$CACHEDIR" ] || return 1
|
||||
[ -d "$CACHEDIR/$TYPE_RELEASEGROUP" ] || return 1
|
||||
d="$CACHEDIR/$TYPE_RELEASEGROUP/$(__radix "$1")/"
|
||||
[ "$d" ] || return 1
|
||||
[ -d "$d" ] || return 1
|
||||
info "removing $d"
|
||||
rm -rf "$d"
|
||||
}
|
||||
|
||||
# Remove release items from cache
|
||||
#
|
||||
# @argument $1: MusicBrainz release ID
|
||||
#
|
||||
# This function is "safer" than other because it removes data. These safty
|
||||
# checks are paranoid.
|
||||
cache_rm_release() {
|
||||
[ "$CACHEDIR" ] || return 1
|
||||
[ -d "$CACHEDIR" ] || return 1
|
||||
[ -d "$CACHEDIR/$TYPE_RELEASE" ] || return 1
|
||||
d="$CACHEDIR/$TYPE_RELEASE/$(__radix "$1")/"
|
||||
[ "$d" ] || return 1
|
||||
[ -d "$d" ] || return 1
|
||||
info "removing $d"
|
||||
rm -rf "$d"
|
||||
}
|
||||
|
@@ -59,6 +59,7 @@
|
||||
# - KEYS_SCROLL_PREVIEW_UP: Scroll preview up
|
||||
# - KEYS_PREVIEW_OPEN: Open preview window
|
||||
# - KEYS_PREVIEW_CLOSE: Close preview window
|
||||
# - KEYS_REFRESH: Refresh current entry
|
||||
#
|
||||
# Playback:
|
||||
# - KEYS_PLAY: Play selected release or selected track
|
||||
@@ -150,9 +151,10 @@ if [ ! "${KEYS_LOADED:-}" ]; then
|
||||
KEYS_SCROLL_PREVIEW_UP="${KEYS_SCROLL_PREVIEW_UP:-"page-up"}"
|
||||
KEYS_PREVIEW_OPEN="${KEYS_PREVIEW_OPEN:-"alt-up"}"
|
||||
KEYS_PREVIEW_CLOSE="${KEYS_PREVIEW_CLOSE:-"alt-down"}"
|
||||
KEYS_REFRESH="${KEYS_REFRESH:-"ctrl-r"}"
|
||||
export KEYS_BROWSE KEYS_OPEN KEYS_N_YANK KEYS_YANK_CURRENT KEYS_SHOW_PLAYLIST \
|
||||
KEYS_KEYBINDINGS KEYS_QUIT KEYS_N_QUIT KEYS_SCROLL_PREVIEW_DOWN \
|
||||
KEYS_SCROLL_PREVIEW_UP KEYS_PREVIEW_CLOSE KEYS_PREVIEW_OPEN
|
||||
KEYS_SCROLL_PREVIEW_UP KEYS_PREVIEW_CLOSE KEYS_PREVIEW_OPEN KEYS_REFRESH
|
||||
|
||||
# Playback:
|
||||
KEYS_PLAY="${KEYS_PLAY:-"enter"}"
|
||||
@@ -370,6 +372,7 @@ print_keybindings() {
|
||||
"$KEYS_OPEN" "Open selected item in file manager" \
|
||||
"$KEYS_N_YANK" "Copy selected MusicBrainz ID (normal)" \
|
||||
"$KEYS_YANK_CURRENT" "Copy current MusicBrainz ID" \
|
||||
"$KEYS_REFRESH" "Refresh current entry" \
|
||||
"$KEYS_QUIT" "Quit applicaion" \
|
||||
"$KEYS_N_QUIT" "First view or quit (normal)"
|
||||
;;
|
||||
|
Reference in New Issue
Block a user