fix: index out of range when rebuild cache

This commit is contained in:
Terry Geng 2020-03-20 11:14:27 +08:00
parent 1d1ff50a59
commit 9a8d6d6ea1
4 changed files with 10 additions and 3 deletions

View File

@ -26,7 +26,6 @@ class Condition:
if self._order_by:
sql += f" ORDEY BY {self._order_by}"
print(sql)
return sql
def or_equal(self, column, equals_to, case_sensitive=True):
@ -331,7 +330,11 @@ class MusicDatabase:
return self._result_to_dict(results)
def query_music_by_id(self, _id):
return self.query_music(Condition().and_equal("id", _id))[0]
results = self.query_music(Condition().and_equal("id", _id))
if results:
return self.query_music(Condition().and_equal("id", _id))[0]
else:
return None
def query_music_by_keywords(self, keywords):
condition = Condition()

View File

@ -301,6 +301,7 @@ def post():
os.remove(item.uri())
var.cache.free_and_delete(_id)
time.sleep(0.1)
elif 'add_tag' in request.form:
music_wrappers = get_cached_wrappers_by_tags(var.bot, [request.form['add_tag']], user)
@ -425,7 +426,7 @@ def library():
if current_page <= page_count:
condition.offset((current_page - 1) * ITEM_PER_PAGE)
else:
abort(404)
current_page = 1
condition.limit(ITEM_PER_PAGE)
items = dicts_to_items(var.bot, var.music_db.query_music(condition))
@ -452,6 +453,7 @@ def library():
if len(os.listdir(var.music_folder + request.form['dir'])) == 0:
os.rmdir(var.music_folder + request.form['dir'])
time.sleep(0.1)
return redirect("./", code=302)
else:
results = []

View File

@ -646,6 +646,7 @@ if __name__ == '__main__':
handler.setFormatter(formatter)
bot_logger.addHandler(handler)
logging.getLogger("root").addHandler(handler)
var.bot_logger = bot_logger
if var.config.get("bot", "save_music_library", fallback=True):

View File

@ -743,6 +743,7 @@
404: function(){
lib_loading.hide();
lib_empty.show();
page_ul.empty();
}
}
});