fix: listfile problem
This commit is contained in:
parent
9904795b1b
commit
622f86c8f2
@ -146,7 +146,7 @@ If you want information about auto-starting and auto-restarting of the bot, you
|
|||||||
|
|
||||||
You can control the bot by both commands sent by text message and the web interface.
|
You can control the bot by both commands sent by text message and the web interface.
|
||||||
|
|
||||||
By default, all commands start with `!`. You can type `!help` in the text message to see the full list of commands supported, or see the [wiki page](https://github.com/azlux/botamusique/wiki/Command-Help).
|
By default, all commands start with `!`. You can type `!help` in the text message to see the full list of commands supported, or see the examples on the [wiki page](https://github.com/azlux/botamusique/wiki/Command-Help).
|
||||||
|
|
||||||
The web interface can be used if you'd like an intuitive way of interacting with the bot. Through it is fairly straightforward, a walk-through can be found on the [wiki page](https://github.com/azlux/botamusique/wiki/Web-interface-walk-through).
|
The web interface can be used if you'd like an intuitive way of interacting with the bot. Through it is fairly straightforward, a walk-through can be found on the [wiki page](https://github.com/azlux/botamusique/wiki/Web-interface-walk-through).
|
||||||
|
|
||||||
|
40
command.py
40
command.py
@ -225,20 +225,6 @@ def cmd_pause(bot, user, text, command, parameter):
|
|||||||
def cmd_play_file(bot, user, text, command, parameter, do_not_refresh_cache=False):
|
def cmd_play_file(bot, user, text, command, parameter, do_not_refresh_cache=False):
|
||||||
global log, song_shortlist
|
global log, song_shortlist
|
||||||
|
|
||||||
# if parameter is {index}
|
|
||||||
if parameter.isdigit():
|
|
||||||
music_wrappers = get_cached_wrappers_from_dicts(var.music_db.query_music(Condition()
|
|
||||||
.and_equal('type', 'file')
|
|
||||||
.order_by('path')
|
|
||||||
.limit(1)
|
|
||||||
.offset(int(parameter))), user)
|
|
||||||
|
|
||||||
if music_wrappers:
|
|
||||||
var.playlist.append(music_wrappers[0])
|
|
||||||
log.info("cmd: add to playlist: " + music_wrappers[0].format_debug_string())
|
|
||||||
bot.send_msg(constants.strings('file_added', item=music_wrappers[0].format_song_string()), text)
|
|
||||||
return
|
|
||||||
|
|
||||||
# assume parameter is a path
|
# assume parameter is a path
|
||||||
music_wrappers = get_cached_wrappers_from_dicts(var.music_db.query_music(Condition().and_equal('path', parameter)), user)
|
music_wrappers = get_cached_wrappers_from_dicts(var.music_db.query_music(Condition().and_equal('path', parameter)), user)
|
||||||
if music_wrappers:
|
if music_wrappers:
|
||||||
@ -256,7 +242,7 @@ def cmd_play_file(bot, user, text, command, parameter, do_not_refresh_cache=Fals
|
|||||||
|
|
||||||
for music_wrapper in music_wrappers:
|
for music_wrapper in music_wrappers:
|
||||||
log.info("cmd: add to playlist: " + music_wrapper.format_debug_string())
|
log.info("cmd: add to playlist: " + music_wrapper.format_debug_string())
|
||||||
msgs.append("{} ({})".format(music_wrapper.item().title, music_wrapper.item().path))
|
msgs.append("<b>{:s}</b> ({:s})".format(music_wrapper.item().title, music_wrapper.item().path))
|
||||||
|
|
||||||
var.playlist.extend(music_wrappers)
|
var.playlist.extend(music_wrappers)
|
||||||
|
|
||||||
@ -753,36 +739,36 @@ def cmd_remove(bot, user, text, command, parameter):
|
|||||||
|
|
||||||
|
|
||||||
def cmd_list_file(bot, user, text, command, parameter):
|
def cmd_list_file(bot, user, text, command, parameter):
|
||||||
global log
|
global song_shortlist
|
||||||
|
|
||||||
page = 0
|
files = var.music_db.query_music(Condition()
|
||||||
|
|
||||||
files = [ file['path'] for file in var.music_db.query_music(Condition()
|
|
||||||
.and_equal('type', 'file')
|
.and_equal('type', 'file')
|
||||||
.order_by('path')
|
.order_by('path'))
|
||||||
.limit(ITEMS_PER_PAGE)
|
|
||||||
.offset(page * ITEMS_PER_PAGE)) ]
|
|
||||||
|
|
||||||
msgs = [constants.strings("multiple_file_found")]
|
song_shortlist = files
|
||||||
|
|
||||||
|
msgs = [constants.strings("multiple_file_found") + "<ul>"]
|
||||||
try:
|
try:
|
||||||
count = 0
|
count = 0
|
||||||
for index, file in enumerate(files):
|
for index, file in enumerate(files):
|
||||||
if parameter:
|
if parameter:
|
||||||
match = re.search(parameter, file)
|
match = re.search(parameter, file['path'])
|
||||||
if not match:
|
if not match:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
count += 1
|
count += 1
|
||||||
if count > ITEMS_PER_PAGE:
|
if count > ITEMS_PER_PAGE:
|
||||||
break
|
break
|
||||||
msgs.append("<b>{:0>3d}</b> - {:s}".format(index, file))
|
msgs.append("<li><b>{:d}</b> - <b>{:s}</b> ({:s})</li>".format(index + 1, file['title'], file['path']))
|
||||||
|
|
||||||
if count != 0:
|
if count != 0:
|
||||||
|
msgs.append("</ul>")
|
||||||
if count > ITEMS_PER_PAGE:
|
if count > ITEMS_PER_PAGE:
|
||||||
msgs.append(constants.strings("records_omitted"))
|
msgs.append(constants.strings("records_omitted"))
|
||||||
send_multi_lines(bot, msgs, text)
|
msgs.append(constants.strings("shortlist_instruction"))
|
||||||
|
send_multi_lines(bot, msgs, text, "")
|
||||||
else:
|
else:
|
||||||
bot.send_msg(constants.strings('no_file'), text)
|
bot.send_msg(constants.strings("no_file"), text)
|
||||||
|
|
||||||
except re.error as e:
|
except re.error as e:
|
||||||
msg = constants.strings('wrong_pattern', error=str(e))
|
msg = constants.strings('wrong_pattern', error=str(e))
|
||||||
|
@ -31,7 +31,7 @@ username = botamusique
|
|||||||
comment = Hi, I'm here to play radio, local music or youtube/soundcloud music. Have fun!
|
comment = Hi, I'm here to play radio, local music or youtube/soundcloud music. Have fun!
|
||||||
# default volume from 0 to 1.
|
# default volume from 0 to 1.
|
||||||
volume = 0.1
|
volume = 0.1
|
||||||
# playback mode should be one of "one-shot", "loop", "random", "autoplay"
|
# playback mode should be one of "one-shot", "repeat", "random", "autoplay"
|
||||||
playback_mode = one-shot
|
playback_mode = one-shot
|
||||||
autoplay_length = 5
|
autoplay_length = 5
|
||||||
clear_when_stop_in_oneshot = False
|
clear_when_stop_in_oneshot = False
|
||||||
@ -236,7 +236,7 @@ database_dropped = Database dropped. All records have gone.
|
|||||||
new_version_found = <h3>Update Available!</h3> New version of botamusique is available, send <i>!update</i> to update!
|
new_version_found = <h3>Update Available!</h3> New version of botamusique is available, send <i>!update</i> to update!
|
||||||
start_updating = Start updating...
|
start_updating = Start updating...
|
||||||
file_missed = Music file '{file}' missed! This item has been removed from the playlist.
|
file_missed = Music file '{file}' missed! This item has been removed from the playlist.
|
||||||
unknown_mode = Unknown playback mode '{mode}'. It should be one of <i>one-shot</i>, <i>loop</i>, <i>random</i>.
|
unknown_mode = Unknown playback mode '{mode}'. It should be one of <i>one-shot</i>, <i>repeat</i>, <i>random</i>.
|
||||||
current_mode = Current playback mode is <i>{mode}</i>.
|
current_mode = Current playback mode is <i>{mode}</i>.
|
||||||
change_mode = Playback mode set to <i>{mode}</i> by {user}.
|
change_mode = Playback mode set to <i>{mode}</i> by {user}.
|
||||||
repeat = Repeat {song} for {n} times.
|
repeat = Repeat {song} for {n} times.
|
||||||
@ -277,7 +277,7 @@ help = <h3>Commands</h3>
|
|||||||
<li> <b>!<u>n</u>ow </b> (or <b>!np</b>) - display the current song </li>
|
<li> <b>!<u>n</u>ow </b> (or <b>!np</b>) - display the current song </li>
|
||||||
<li> <b>!<u>q</u>ueue </b> - display items in the playlist </li>
|
<li> <b>!<u>q</u>ueue </b> - display items in the playlist </li>
|
||||||
<li> <b>!<u>t</u>ag </b> {tags} - add all items with tags {tags}, tags separated by ",". </li>
|
<li> <b>!<u>t</u>ag </b> {tags} - add all items with tags {tags}, tags separated by ",". </li>
|
||||||
<li> <b>!file </b>(or <b>!f</b>) {path/folder/index/keyword} - add a single file to the playlist by its path or index returned by !listfile </li>
|
<li> <b>!file </b>(or <b>!f</b>) {path/folder/keyword} - add a single file to the playlist by its path or keyword in its path. </li>
|
||||||
<li> <b>!<u>filem</u>atch </b>(or <b>!fm</b>) {pattern} - add all files that match regex {pattern} </li>
|
<li> <b>!<u>filem</u>atch </b>(or <b>!fm</b>) {pattern} - add all files that match regex {pattern} </li>
|
||||||
<li> <b>!<u>ur</u>l </b> {url} - add Youtube or SoundCloud music </li>
|
<li> <b>!<u>ur</u>l </b> {url} - add Youtube or SoundCloud music </li>
|
||||||
<li> <b>!<u>playl</u>ist </b> {url} [{offset}] - add all items in a Youtube or SoundCloud playlist, and start with the {offset}-th item </li>
|
<li> <b>!<u>playl</u>ist </b> {url} [{offset}] - add all items in a Youtube or SoundCloud playlist, and start with the {offset}-th item </li>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user