diff --git a/lib/pyShelf.py b/lib/pyShelf.py index ca78386..15dd2db 100755 --- a/lib/pyShelf.py +++ b/lib/pyShelf.py @@ -26,7 +26,7 @@ class InitFiles: if not os.path.isdir(os.path.split(_pointer)[0]): os.mkdir(os.path.split(_pointer)[0]) f = open(_pointer, "w+") - f.close() + f.close() class RequestHandler(BaseHTTPRequestHandler): @@ -51,7 +51,8 @@ class RequestHandler(BaseHTTPRequestHandler): elif self.path.endswith('.png'): self.path = '../static' + self.path mimetype = 'image/png' - serve_file = open(self.path[1:], 'rb') # Important to rb read binary for images + serve_file = open(self.path[1:], 'rb') + # Important to rb read binary for images self.send_header('Content-type', mimetype) self.end_headers() self.wfile.write(serve_file.read()) @@ -64,6 +65,29 @@ class RequestHandler(BaseHTTPRequestHandler): try: serve_file.close() except Exception: pass +class BookDisplay: + + def __init__(self): + self.books_per_page = None + self.current_page = 0 + self.thumbnail_size = [200, 300] + self.thumbnail_scale = 1 + self.total_pages = None + + def nextPage(self): + self.current_page += 1 + return self.current_page + + def previousPage(self): + self.current_page -= 1 + return self.current_page + + def booksPerPage(self, screen_size): + x = (self.thumbnail_size[0] * self.thumbnail_scale) + 10 + y = (self.thumbnail_size[1] * self.thumbnail_scale) + 10 + self.books_per_page = int(screen_size[0]//x) * int(screen_size[1]//y) + + class BookServer: """HTTP Frontend""" def __init__(self): @@ -80,9 +104,17 @@ class BookServer: else: self.close_prompt() - def run(self): + def run(self, test=0): """Start HTTP Server""" self.httpd = HTTPServer(self.server_address, self.handler) + if test != 0: + try: + self.httpd.serve_forever() + self.httpd.handle_request() + self.close() + return True + except Exception: + return False try: print("Server running @ http://127.0.0.1:8000") self.httpd.serve_forever() @@ -91,7 +123,7 @@ class BookServer: print("Interrupt received, Closing Server") self.close() print("Server shutdown, Goodbye!") - return False + return True def close(self): """Stop HTTP Server""" diff --git a/static/css/.#main.css b/static/css/.#main.css new file mode 120000 index 0000000..2efe4f5 --- /dev/null +++ b/static/css/.#main.css @@ -0,0 +1 @@ +raelon@golumnsec.2706:1573068976 \ No newline at end of file diff --git a/tests/.#test_bookserver.py b/tests/.#test_bookserver.py new file mode 120000 index 0000000..2efe4f5 --- /dev/null +++ b/tests/.#test_bookserver.py @@ -0,0 +1 @@ +raelon@golumnsec.2706:1573068976 \ No newline at end of file diff --git a/tests/.#test_library.py b/tests/.#test_library.py new file mode 120000 index 0000000..2efe4f5 --- /dev/null +++ b/tests/.#test_library.py @@ -0,0 +1 @@ +raelon@golumnsec.2706:1573068976 \ No newline at end of file diff --git a/tests/__pycache__/test_library.cpython-37.pyc b/tests/__pycache__/test_library.cpython-37.pyc index 6457408..267b0ba 100644 Binary files a/tests/__pycache__/test_library.cpython-37.pyc and b/tests/__pycache__/test_library.cpython-37.pyc differ diff --git a/tests/__pycache__/test_sysio.cpython-37.pyc b/tests/__pycache__/test_sysio.cpython-37.pyc index e2b86f7..268cb5f 100644 Binary files a/tests/__pycache__/test_sysio.cpython-37.pyc and b/tests/__pycache__/test_sysio.cpython-37.pyc differ diff --git a/tests/test_bookserver.py b/tests/test_bookserver.py index 6b5108f..5534af7 100644 --- a/tests/test_bookserver.py +++ b/tests/test_bookserver.py @@ -1,11 +1,17 @@ -import unittest import sys +import unittest + +from lib.pyShelf import BookDisplay, BookServer + sys.path.insert(0, '../lib') sys.path.insert(1, '../') -from pyShelf import BookServer class BookServerTest(unittest.TestCase): def test_bookserver(self): server = BookServer() self.assertTrue(server.run()) + + def test_booksPerPage(self): + x, y = 900, 450 + self.assertGreater(BookDisplay().booksPerPage([x,y]), 0) diff --git a/tests/test_library.py b/tests/test_library.py index b120fca..791d585 100755 --- a/tests/test_library.py +++ b/tests/test_library.py @@ -1,6 +1,8 @@ import unittest + # sys.path.insert(1, '../') from lib.library import Catalogue + Catalogue = Catalogue() @@ -12,9 +14,6 @@ class LibraryTest(unittest.TestCase): def test_library_catalogue_filter_books(self): self.assertIsNotNone(Catalogue.filter_books()) - def test_library_catalogue_new_files(self): - self.assertIsNot(Catalogue.new_files(), False) - if __name__ == '__main__': unittest.main() diff --git a/tests/test_sysio.py b/tests/test_sysio.py index 8e50b36..b7b16f9 100755 --- a/tests/test_sysio.py +++ b/tests/test_sysio.py @@ -1,10 +1,10 @@ -import unittest import os import shutil import sys +import unittest + # sys.path.insert(1, '../') from lib.pyShelf import InitFiles -from lib.pyShelf import Epub class SysIoTest(unittest.TestCase):