You've already forked QWeatherReporter
feat: start
This commit is contained in:
@@ -5,10 +5,90 @@
|
|||||||
# @Create Time: 2021/12/15
|
# @Create Time: 2021/12/15
|
||||||
# @File Name: qweather.py
|
# @File Name: qweather.py
|
||||||
|
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import time
|
||||||
|
import argparse
|
||||||
from core.logger import Logger
|
from core.logger import Logger
|
||||||
from core.language import Language
|
from core.language import Language
|
||||||
from core import settings
|
from core.settings import change_settings
|
||||||
from core import read_excel
|
|
||||||
from core import read_config
|
from core import read_config
|
||||||
from core import information
|
from core.sendmail import Mail
|
||||||
|
from multiprocessing import Process
|
||||||
|
|
||||||
|
|
||||||
|
def check_time():
|
||||||
|
"""
|
||||||
|
if the local time is the time in config, send a mail
|
||||||
|
:return:
|
||||||
|
"""
|
||||||
|
mode = settings[1]['mode']
|
||||||
|
time_list = settings[2]['send-times']
|
||||||
|
match mode:
|
||||||
|
case 'dev':
|
||||||
|
while True:
|
||||||
|
local_time = time.strftime("%H:%M", time.localtime())
|
||||||
|
time.sleep(1)
|
||||||
|
if local_time in time_list:
|
||||||
|
Mail().dev_version()
|
||||||
|
Logger.info(f'{language["mail_succeed"]}')
|
||||||
|
Logger.info(f'{language["wait_seconds"]}')
|
||||||
|
time.sleep(60)
|
||||||
|
case 'free':
|
||||||
|
while True:
|
||||||
|
local_time = time.strftime("%H:%M", time.localtime())
|
||||||
|
time.sleep(1)
|
||||||
|
if local_time in time_list:
|
||||||
|
Mail().free_version()
|
||||||
|
Logger.info(f'{language["mail_succeed"]}')
|
||||||
|
Logger.info(f'{language["wait_seconds"]}')
|
||||||
|
time.sleep(60)
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
arg_keywords = ['free', 'dev', 'warning', 'setting']
|
||||||
|
parser.add_argument('-t',
|
||||||
|
'--test',
|
||||||
|
help='Some operations for test.',
|
||||||
|
choices=arg_keywords)
|
||||||
|
startup_arg = parser.parse_args().test
|
||||||
|
|
||||||
|
match startup_arg:
|
||||||
|
case 'free':
|
||||||
|
Mail().free_version()
|
||||||
|
Logger.debug(f'{language["debug_done"]}')
|
||||||
|
sys.exit(0)
|
||||||
|
case 'dev':
|
||||||
|
Mail().dev_version()
|
||||||
|
Logger.debug(f'{language["debug_done"]}')
|
||||||
|
sys.exit(0)
|
||||||
|
case 'warning':
|
||||||
|
Mail().warning_()
|
||||||
|
Logger.debug(f'{language["debug_done"]}')
|
||||||
|
sys.exit(0)
|
||||||
|
case 'setting':
|
||||||
|
change_settings(False)
|
||||||
|
Logger.debug(f'{language["debug_done"]}')
|
||||||
|
case _:
|
||||||
|
pass
|
||||||
|
|
||||||
|
Process(target=check_time).run()
|
||||||
|
|
||||||
|
time_count = 0
|
||||||
|
while True:
|
||||||
|
time_count += 1
|
||||||
|
time.sleep(1)
|
||||||
|
if time_count == 600:
|
||||||
|
Mail().warning_()
|
||||||
|
time_count = 0
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ != '__main__':
|
||||||
|
language = Language()
|
||||||
|
settings = read_config()
|
||||||
|
|
||||||
|
Logger.info(f'{language["statement_1"]}')
|
||||||
|
Logger.info(f'{language["statement_2"]}')
|
||||||
|
Logger.info(f'{language["statement_3"]}')
|
||||||
|
Logger.info(f'{language["statement_4"]}')
|
||||||
|
|||||||
Reference in New Issue
Block a user