Dateien hochladen nach „upload“

main
spertl 3 months ago
parent 934dbae525
commit 38d8a0aec7

@ -0,0 +1,96 @@
# Python 3 server example
from http.server import BaseHTTPRequestHandler, HTTPServer
import time
import _thread as thread
import requests
import os
import toml
#file_path = os.path.dirname(os.path.realpath(__file__))
file_path = "D:/Daten/nc/Ingenieurbüro/98-CAD-Daten/Tools-QGIS/ibpTools/"
with open(file_path + 'config.toml', 'r') as f:
config = toml.load(f)
hostName = config['iface']['host']
serverPort = config['iface']['port']
class IBP_ToolsWebserver(HTTPServer):
def __init__(self, address, handler, iface):
self.keepalive = True
self.iface = iface
#super().__init__(address, handler)
def handler(*args):
IBP_ToolsWebserverRequestHandler(iface, *args)
super().__init__((hostName, serverPort), handler)
print("Server started http://%s:%s" % address)
def run_server(self):
self.keepalive = True
while self.keepalive:
self.handle_request()
self.server_close()
print("gestoppt")
def stop_server(self):
self.keepalive = False
print("Keepalive = False")
requests.get('http://{}:{}'.format(hostName, serverPort))
class IBP_ToolsWebserverRequestHandler(BaseHTTPRequestHandler):
def __init__(self, iface, *args):
self.iface = iface
BaseHTTPRequestHandler.__init__(self, *args)
#super().__init__(self, *args)
#super().__init__(request, client_address, server)
def do_GET(self):
cmd = self.path.split("/")
if cmd[1] == "canvas":
if cmd[2] == "center":
print("move to ....")
x = float(cmd[3].split(",")[0])
y = float(cmd[3].split(",")[1])
self.iface.mapCanvas().setCenter(QgsPointXY(x ,y))
self.send_response(200)
self.send_header("Content-type", "text/html")
self.end_headers()
self.wfile.write(bytes("<html><head><title>https://pythonbasics.org</title></head>", "utf-8"))
self.wfile.write(bytes("<p>Request: %s</p>" % self.path, "utf-8"))
self.wfile.write(bytes("<body>", "utf-8"))
self.wfile.write(bytes("<p>This is an example web server.</p>", "utf-8"))
self.wfile.write(bytes("</body></html>", "utf-8"))
webServer = IBP_ToolsWebserver((hostName, serverPort), IBP_ToolsWebserverRequestHandler, iface)
# start the server in a background thread
thread.start_new_thread(webServer.run_server, ())
print('The server is running but my script is still executing!')
#webServer.stop_server()
"""
https://qgis.org/pyqgis/3.4/gui/QgsMapCanvas.html
zoomToFeatureIds
iface.mapCanvas().setCenter(QgsPointXY(797040.360,5306381.879))
/canvas/center/797040.360,5306381.879
http://localhost:8080/test
http://localhost:8080/canvas/center/797040.360,5306381.879
"""
Loading…
Cancel
Save