Deleting overkill items
This commit is contained in:
1
modules/menu/callbacks/overkill/__init__.py
Normal file
1
modules/menu/callbacks/overkill/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
from .callbacks import overkill_callback
|
||||
20
modules/menu/callbacks/overkill/callbacks.py
Normal file
20
modules/menu/callbacks/overkill/callbacks.py
Normal 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()
|
||||
@@ -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 _]
|
||||
|
||||
Reference in New Issue
Block a user