diff --git a/.mkdocs.yml b/.mkdocs.yml index 523bec8..ab3d77d 100644 --- a/.mkdocs.yml +++ b/.mkdocs.yml @@ -13,8 +13,10 @@ markdown_extensions: nav: - Home: 'index.md' - - 'User Guide': - - 'configuration': 'configuration.md' - - 'getting started': 'getting_started.md' - - 'todos': 'todos.md' + - User Guide: + - 'Configuration': 'configuration.md' + - Introduction: + - getting started: 'getting_started.md' + - database: 'database_layout.md' + - TODOs: 'todos.md' - API reference: 'api/index.html' \ No newline at end of file diff --git a/fishbook/cmd/data_import.py b/fishbook/cmd/data_import.py index 2adb696..2f1dd79 100755 --- a/fishbook/cmd/data_import.py +++ b/fishbook/cmd/data_import.py @@ -1,4 +1,4 @@ -#!/bin/python3 +#!/usr/bin/python3 import argparse import glob import os diff --git a/fishbook/cmd/runserver.py b/fishbook/cmd/runserver.py deleted file mode 100644 index e69de29..0000000 diff --git a/fishbook/cmd/test_client.py b/fishbook/cmd/test_client.py deleted file mode 100644 index e69de29..0000000 diff --git a/fishbook/dataserver/client.py b/fishbook_server/client.py similarity index 85% rename from fishbook/dataserver/client.py rename to fishbook_server/client.py index 9fb8f1d..1388ba9 100755 --- a/fishbook/dataserver/client.py +++ b/fishbook_server/client.py @@ -1,13 +1,10 @@ -#!/usr/bin/env python3 - import sys import socket import selectors import traceback -import libclient +import fishbook_server.libclient as libclient -from IPython import embed sel = selectors.DefaultSelector() @@ -70,17 +67,7 @@ def send_request(host, port, request): return message.payload if message else "no response" -def main(): - if len(sys.argv) != 5: - print("usage:", sys.argv[0], " ") - sys.exit(1) - - host, port = sys.argv[1], int(sys.argv[2]) - action, value = sys.argv[3], sys.argv[4] +def run(host, port, action="search", value="test"): request = create_request(action, value) - response = send_request(host, port, request) - print(response.shape) - -if __name__ == "__main__": - main() + print(response) diff --git a/fishbook_server/cmd/runserver.py b/fishbook_server/cmd/runserver.py new file mode 100644 index 0000000..f5edb59 --- /dev/null +++ b/fishbook_server/cmd/runserver.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python3 + +import sys +import argparse +import fishbook_server.server as server + + +def run(arguments): + server.runserver(arguments.host, arguments.port) + + +def create_parser(): + parser = argparse.ArgumentParser(description="Run fishbook dataserver") + parser.add_argument("-hs", "--host", type=str, default="", help="The host for which to listen. Use 127.0.0.1 for localhost or any other hosts simply leave it empty.") + parser.add_argument("-pr", "--port", type=int, default=65432, help="The port on which the server should be listening which to listen. Default 9000.") + return parser + + +def main(): + parser = create_parser() + args = parser.parse_args() + run(args) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/fishbook_server/cmd/test_client.py b/fishbook_server/cmd/test_client.py new file mode 100644 index 0000000..0087a49 --- /dev/null +++ b/fishbook_server/cmd/test_client.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 + +import sys +import argparse +import fishbook_server.client as client + +def run(arguments): + client.run(arguments.host, arguments.port, arguments.action, arguments.value) + + +def create_parser(): + parser = argparse.ArgumentParser(description="Run fishbook dataserver") + parser.add_argument("-hs", "--host", type=str, default="", help="The host for which to listen. Use 127.0.0.1 for localhost or any other hosts simply leave it empty.") + parser.add_argument("-pr", "--port", type=int, default=65432, help="The port on which the server should be listening which to listen. Default 9000.") + parser.add_argument("-a", "--action", type=str, default="search", help="") + parser.add_argument("-v", "--value", type=str, default="test", help="") + return parser + + +def main(): + parser = create_parser() + args = parser.parse_args() + run(args) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/fishbook/dataserver/libclient.py b/fishbook_server/libclient.py similarity index 100% rename from fishbook/dataserver/libclient.py rename to fishbook_server/libclient.py diff --git a/fishbook/dataserver/libserver.py b/fishbook_server/libserver.py similarity index 100% rename from fishbook/dataserver/libserver.py rename to fishbook_server/libserver.py diff --git a/fishbook/dataserver/server.py b/fishbook_server/server.py similarity index 82% rename from fishbook/dataserver/server.py rename to fishbook_server/server.py index 9d5a464..3af7fc6 100755 --- a/fishbook/dataserver/server.py +++ b/fishbook_server/server.py @@ -1,29 +1,21 @@ -#!/usr/bin/env python3 - import sys import socket import selectors import traceback -import libserver +import fishbook_server.libserver as libserver sel = selectors.DefaultSelector() - def accept_wrapper(sock): conn, addr = sock.accept() # Should be ready to read - print("accepted connection from", addr) + # print("accepted connection from", addr) conn.setblocking(False) message = libserver.Message(sel, conn, addr) sel.register(conn, selectors.EVENT_READ, data=message) -def main(): - if len(sys.argv) != 3: - print("usage:", sys.argv[0], " ") - sys.exit(1) - - host, port = sys.argv[1], int(sys.argv[2]) +def runserver(host, port): lsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # Avoid bind() exception: OSError: [Errno 48] Address already in use lsock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) @@ -51,7 +43,3 @@ def main(): print("caught keyboard interrupt, exiting") finally: sel.close() - - -if __name__ == "__main__": - main() diff --git a/setup.py b/setup.py index 96945ec..b58944e 100644 --- a/setup.py +++ b/setup.py @@ -6,9 +6,9 @@ assert(sys.version_info >= (3, 0)) __version__ = 0.1 # exec(open('fishbook/version.py').read()) -requires = ['datajoint', 'nixio', 'numpy', 'PyYAML', 'scipy', 'tqdm', 'yaml', 'backports-datetime-fromisoformat'] +requires = ['datajoint', 'nixio', 'numpy', 'PyYAML', 'scipy', 'tqdm', 'backports-datetime-fromisoformat'] +print(find_packages(exclude=['contrib', 'doc', 'tests*', 'site'])) -print(find_packages(exclude=['contrib', 'doc', 'tests*'])) setup(name='fishbook', version = __version__, packages = find_packages(exclude=['contrib', 'doc', 'tests*']),