Deleting overkill items

This commit is contained in:
BarsTiger
2023-05-12 17:24:28 +03:00
parent d3629bcf63
commit d80a247cf1
4 changed files with 25 additions and 1 deletions

View File

@@ -0,0 +1 @@
from .callbacks import overkill_callback

View File

@@ -0,0 +1,20 @@
from modules.decorators.callback import callback
from modules.config import sessions
from rich import print
import os
@callback
def overkill_callback():
if input('Do you really want to delete overkill items in database? This will remove junk from it, '
'but won\'t affect your sessions (y/N) ') not in ['y', 'Y']:
return
print('Clearing...')
deleted = 0
for session_name in sessions.keys():
if not os.path.isfile(f'{session_name}.session'):
del sessions[session_name]
deleted += 1
print(f'[green]Deleted[/] {deleted} records...')
input()

View File

@@ -1,4 +1,6 @@
from cursesmenu import CursesMenu
from cursesmenu.items import FunctionItem
from ...callbacks.overkill import overkill_callback
from ...dynamic import update
from ...dynamic import delete
@@ -6,6 +8,7 @@ from ...dynamic import delete
def get_items_list(menu: CursesMenu):
_ = [
update.get_submenu_item,
delete.get_submenu_item
delete.get_submenu_item,
lambda _: FunctionItem('Delete overkill sessions', function=overkill_callback)
]
return [x(menu) for x in _]