You've already forked QWeatherReporter
feat: start
This commit is contained in:
@@ -5,10 +5,90 @@
|
||||
# @Create Time: 2021/12/15
|
||||
# @File Name: qweather.py
|
||||
|
||||
|
||||
import sys
|
||||
import time
|
||||
import argparse
|
||||
from core.logger import Logger
|
||||
from core.language import Language
|
||||
from core import settings
|
||||
from core import read_excel
|
||||
from core.settings import change_settings
|
||||
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