Dateien hochladen nach „upload“
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…
Reference in New Issue