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 import CursesMenu
|
||||||
|
from cursesmenu.items import FunctionItem
|
||||||
|
from ...callbacks.overkill import overkill_callback
|
||||||
from ...dynamic import update
|
from ...dynamic import update
|
||||||
from ...dynamic import delete
|
from ...dynamic import delete
|
||||||
|
|
||||||
@@ -6,6 +8,7 @@ from ...dynamic import delete
|
|||||||
def get_items_list(menu: CursesMenu):
|
def get_items_list(menu: CursesMenu):
|
||||||
_ = [
|
_ = [
|
||||||
update.get_submenu_item,
|
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 _]
|
return [x(menu) for x in _]
|
||||||
|
|||||||
Reference in New Issue
Block a user