mirror of
https://github.com/Pardus-LiderAhenk/ahenk
synced 2024-11-29 15:32:23 +03:00
47 lines
1.9 KiB
Python
47 lines
1.9 KiB
Python
#!/usr/bin/python3
|
||
# -*- coding: utf-8 -*-
|
||
|
||
from base.plugin.abstract_plugin import AbstractPlugin
|
||
|
||
|
||
class DeleteUsbRule(AbstractPlugin):
|
||
def __init__(self, task, context):
|
||
super(DeleteUsbRule, self).__init__()
|
||
self.task = task
|
||
self.context = context
|
||
self.logger = self.get_logger()
|
||
self.message_code = self.get_message_code()
|
||
self.whitelist_path = "/etc/udev/rules.d/99-ahenk-task-whitelist.rules"
|
||
self.blacklist_path = "/etc/udev/rules.d/99-ahenk-task-blacklist.rules"
|
||
|
||
def handle_task(self):
|
||
try:
|
||
ruleIsExist = False
|
||
message = "İstemciye ait USB kuralları başarıyla silindi."
|
||
if self.is_exist(self.whitelist_path):
|
||
self.delete_file(self.whitelist_path)
|
||
ruleIsExist = True
|
||
|
||
if self.is_exist(self.blacklist_path):
|
||
self.delete_file(self.blacklist_path)
|
||
ruleIsExist = True
|
||
|
||
if ruleIsExist:
|
||
message = "İstemciye ait USB kuralları başarıyla silindi."
|
||
self.execute('udevadm control --reload-rules')
|
||
self.logger.debug('Blacklist/Whitelist was reloaded.')
|
||
else:
|
||
message = "İstemciye ait tanımlı USB kuralı bulunmamaktadır."
|
||
|
||
self.logger.info('USB rule task is handled successfully.')
|
||
self.context.create_response(code=self.message_code.TASK_PROCESSED.value,
|
||
message=message)
|
||
except Exception as e:
|
||
self.logger.error('A problem occurred while deleting USB rules. Error Message: {0}'.format(str(e)))
|
||
self.context.create_response(code=self.message_code.TASK_ERROR.value,
|
||
message='USB kuralları silinirken hata oluştu: {0}'.format(str(e)))
|
||
|
||
|
||
def handle_task(task, context):
|
||
manage = DeleteUsbRule(task, context)
|
||
manage.handle_task()
|