added argument to return filtered book list

This commit is contained in:
Mike
2019-09-26 23:33:32 -04:00
parent 5d26a7d49f
commit bb06acd687
5 changed files with 10 additions and 61 deletions

2
.gitignore vendored
View File

@@ -1,3 +1,3 @@
books/*
data/shelf.json
*.json
*.pyc

File diff suppressed because one or more lines are too long

View File

@@ -15,8 +15,7 @@ class Catalogue:
self.catalogue = json.load(f)
self.current_files = self.scan_folder()
except Exception:
with open(config.book_shelf, 'w') as f:
json.dump(self.filter_books(), f)
self.filter_books()
def scan_folder(self, folder=config.book_path):
for f in os.listdir(folder):
@@ -27,12 +26,15 @@ class Catalogue:
self.file_list.append(self.scan_folder(_path))
self.file_list.append(_path)
def filter_books(self):
scan = self.scan_folder()
def filter_books(self, ret=0):
self.scan_folder()
regx = re.compile(r"\.epub")
self.books = list(filter(regx.search, filter(None, self.file_list)))
with open(config.book_shelf, 'w') as f:
json.dump(self.books, f)
if ret == 0:
with open(config.book_shelf, 'w') as f:
json.dump(self.books, f)
else:
return self.books
def compare_shelf_current(self):
try:

View File

@@ -10,9 +10,5 @@ class Testing(unittest.TestCase):
def test_library_catalogue_filter_books(self):
self.assertIsNotNone(Catalogue().filter_books())
def test_library_catalogue_compare_shelf_current(self):
self.assertIsInstance(Catalogue().compare_shelf_current(), Catalogue)
if __name__ == '__main__':
unittest.main()