Mon, 29 Jan 2024 19:50:44 +0100
Started implementing an eric-ide server for remote development (e.g. on a different host or in a Docker container).
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # Copyright (c) 2024 Detlev Offenbach <detlev@die-offenbachs.de> # """ eric-ide Server. This is the main Python script of the eric-ide server. This is a server to perform remote development (e.g. code hosted on another computer or through a docker container). """ import argparse import socket import sys from eric7.RemoteServer.EricServer import EricServer from eric7.UI.Info import Version def createArgumentParser(): """ Function to create an argument parser. @return created argument parser object @rtype argparse.ArgumentParser """ parser = argparse.ArgumentParser( description=( "Start the eric-ide server component. This will listen for connections" " from the eric IDE in order to perform remote development." ), epilog="Copyright (c) 2024 Detlev Offenbach <detlev@die-offenbachs.de>.", ) parser.add_argument( "-p", "--port", type=int, default=42024, help="Listen on the given port for connections from an eric IDE." ) parser.add_argument( "-6", "--with-ipv6", action="store_true", help="Listen on IPv6 interfaces as well if the system supports the creation" "of TCP sockets which can handle both IPv4 and IPv6. {0}".format( "This system supports this feature." if socket.has_dualstack_ipv6() else "This system does not support this feature. Option will be ignored." ) ) parser.add_argument( "-V", "--version", action="version", version="%(prog)s {0}".format(Version), help="Show version information and exit.", ) return parser def main(): """ Main entry point into the application. """ global supportedExtensions parser = createArgumentParser() args = parser.parse_args() server = EricServer(port=args.port, useIPv6=args.with_ipv6) ok = server.run() sys.exit(0 if ok else 1) if __name__ == "__main__": main() # # eflag: noqa = M801