class Storage:
def __init__(self):
self.categories = []
self.topics = []
self.documents = []
def add_category(self, category: Category):
if category in self.categories:
return
self.categories.append(category)
def add_topic(self, topic:Topic):
if topic in self.topics:
return
self.topics.append(topic)
def add_document(self, document: Document):
if document in self.documents:
return
self.documents.append(document)
def edit_category(self, category_id, new_name):
category = self.__find_my_id(self.categories, category_id)
category.edit(new_name)
def edit_topic(self, topic_id: int, new_topic: str, new_storage_folder: str):
topic = self.__find_my_id(self.topics, topic_id)
topic.edit(new_topic, new_storage_folder)
def edit_document(self, document_id: int, new_file_name: str):
document = self.__find_my_id(self.documents, document_id)
document.edit(new_file_name)
def delete_category(self, category_id):
category = self.__find_my_id(self.categories, category_id)
self.categories.remove(category)
def delete_topic(self, topic_id):
topic = self.__find_my_id(self.topics, topic_id)
self.topics.remove(topic)
def delete_document(self, document_id):
document = self.__find_my_id(self.documents, document_id)
self.topics.remove(document)
def get_document(self, ):
return self.__find_my_id(self.document, document_id)
def __repr__(self):
return "\n".join([repr(x) for x in self.documents])
def __find_my_id(self, entities, entity_id):
for entity in entities:
if entity.id = entity_id:
return entity