You've already forked QWeatherReporter
feat: change multiprocessing to concurrent
This commit is contained in:
@@ -13,7 +13,7 @@ from concurrent.futures import ProcessPoolExecutor
|
|||||||
from core.logger import Logger
|
from core.logger import Logger
|
||||||
from core.language import Language
|
from core.language import Language
|
||||||
from core.settings import change_settings
|
from core.settings import change_settings
|
||||||
from tests import webserver
|
from lib import webserver
|
||||||
from core import read_config
|
from core import read_config
|
||||||
from core.sendmail import Mail
|
from core.sendmail import Mail
|
||||||
|
|
||||||
|
|||||||
@@ -3,9 +3,11 @@
|
|||||||
# @Author: markushammered@gmail.com
|
# @Author: markushammered@gmail.com
|
||||||
# @Development Tool: PyCharm
|
# @Development Tool: PyCharm
|
||||||
# @Create Time: 2021/12/18
|
# @Create Time: 2021/12/18
|
||||||
# @File Name: web_weather.py
|
# @File Name: webserver.py
|
||||||
|
|
||||||
|
|
||||||
import socket
|
import socket
|
||||||
|
import sys
|
||||||
from core.logger import Logger
|
from core.logger import Logger
|
||||||
from core.read_config import read_config
|
from core.read_config import read_config
|
||||||
from core.information import WeatherInfo
|
from core.information import WeatherInfo
|
||||||
@@ -47,6 +49,7 @@ def build_html():
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<title>Title</title>
|
<title>Title</title>
|
||||||
</head>
|
</head>
|
||||||
|
<body>
|
||||||
<p style="text-align: center"><i><b>地区:{city}</b></i></p>
|
<p style="text-align: center"><i><b>地区:{city}</b></i></p>
|
||||||
<br />
|
<br />
|
||||||
<table style="border: 0; text-align: center; margin:0 auto">
|
<table style="border: 0; text-align: center; margin:0 auto">
|
||||||
@@ -161,7 +164,9 @@ def build_html():
|
|||||||
<a href="https://github.com/MarkusJoe/QWeather" style="color: black" target="_blank">Github Repo</a>
|
<a href="https://github.com/MarkusJoe/QWeather" style="color: black" target="_blank">Github Repo</a>
|
||||||
</b>
|
</b>
|
||||||
</i>
|
</i>
|
||||||
</div>"""
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>"""
|
||||||
return html
|
return html
|
||||||
case 'free':
|
case 'free':
|
||||||
dev_weather = WeatherInfo().free_version()
|
dev_weather = WeatherInfo().free_version()
|
||||||
@@ -189,6 +194,7 @@ def build_html():
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<title>Title</title>
|
<title>Title</title>
|
||||||
</head>
|
</head>
|
||||||
|
<body>
|
||||||
<p style="text-align: center"><i><b>地区:{city}</b></i></p>
|
<p style="text-align: center"><i><b>地区:{city}</b></i></p>
|
||||||
<br />
|
<br />
|
||||||
<table style="border: 0; text-align: center; margin:0 auto">
|
<table style="border: 0; text-align: center; margin:0 auto">
|
||||||
@@ -274,13 +280,16 @@ def build_html():
|
|||||||
<a href="https://github.com/MarkusJoe/QWeather" style="color: black" target="_blank">Github Repo</a>
|
<a href="https://github.com/MarkusJoe/QWeather" style="color: black" target="_blank">Github Repo</a>
|
||||||
</b>
|
</b>
|
||||||
</i>
|
</i>
|
||||||
</div>"""
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>"""
|
||||||
return html
|
return html
|
||||||
case _:
|
case _:
|
||||||
return "You hadn't selected a mode"
|
return "You hadn't selected a mode"
|
||||||
|
|
||||||
|
|
||||||
def process_request():
|
def process_request():
|
||||||
|
try:
|
||||||
while True:
|
while True:
|
||||||
c, a = server.accept()
|
c, a = server.accept()
|
||||||
data = str(c.recv(1024)).split(':')[0][6:][:-17]
|
data = str(c.recv(1024)).split(':')[0][6:][:-17]
|
||||||
@@ -290,7 +299,6 @@ def process_request():
|
|||||||
c.send(html.encode('utf-8'))
|
c.send(html.encode('utf-8'))
|
||||||
Logger.info(f'{a}: Get {data} --by browser')
|
Logger.info(f'{a}: Get {data} --by browser')
|
||||||
else:
|
else:
|
||||||
print(data)
|
|
||||||
try:
|
try:
|
||||||
with open(f'.{data}', 'rb') as f:
|
with open(f'.{data}', 'rb') as f:
|
||||||
c.send('HTTP1.1/ 200 OK\r\n\r\n'.encode('utf-8'))
|
c.send('HTTP1.1/ 200 OK\r\n\r\n'.encode('utf-8'))
|
||||||
@@ -299,3 +307,6 @@ def process_request():
|
|||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
c.send(f'HTTP1.1/ 404 Not Found\r\n\r\n{html}'.encode('utf-8'))
|
c.send(f'HTTP1.1/ 404 Not Found\r\n\r\n{html}'.encode('utf-8'))
|
||||||
c.close()
|
c.close()
|
||||||
|
except BrokenPipeError:
|
||||||
|
Logger.critical('Link speed was too fast! Subprocess:webserver exited')
|
||||||
|
sys.exit(1)
|
||||||
Reference in New Issue
Block a user