示例#1
0
def _get_globals():
    # logger
    global logger
    logging.basicConfig(level=logging.DEBUG)
    logger = logging.getLogger(__name__)
    logger.debug("Debug Mode On")
    logger.info("Info On")
    # get ip
    global _MY_IP
    global _MY_PORT
    global _HOST_HTTP
    global _HOST_HTTPS
    _MY_IP = getip.myip()
    _MY_PORT = "5000"
    _HOST_HTTP = "http://%s:%s" % (_MY_IP, _MY_PORT)
    _HOST_HTTPS = "https://%s:%s" % (_MY_IP, _MY_PORT)
    logger.info("local address:%s" % _HOST_HTTP)
    # get app secrets
    global _APP_ID
    global _APP_SECRET
    global _APP_TOKEN
    global _APP_BUTTONS
    secrets = json.loads(open(".secret.json", "r").read())
    logger.info("load secrets:\n%s" % secrets)
    _APP_ID = secrets["appID"]
    _APP_TOKEN = secrets["Token"]
    _APP_SECRET = secrets["appsecret"]
    _APP_BUTTONS = secrets["buttons"]
    # wechat
    global wechat
    wechat = WechatBasic(token=_APP_TOKEN, appid=_APP_ID, appsecret=_APP_SECRET)
    # database
    global database
    database = Database(secrets["database"]["username"], secrets["database"]["password"])
示例#2
0
def _get_globals():
    @settimeout(2)
    def _create_buttons():
        # delete
        respond = wechat.delete_menu()
        logger.debug("Delete Button: %s" % respond)
        # add
        respond = wechat.create_menu(_APP_BUTTONS)
        logger.debug("Add Button: %s" % respond)

    # logger
    global logger
    logging.basicConfig(level=logging.DEBUG)
    logger = logging.getLogger(__name__)
    logger.debug("Debug Mode On")
    logger.info("Info On")

    # get app secrets
    global _APP_ID
    global _APP_SECRET
    global _APP_TOKEN
    global _APP_BUTTONS
    global _TEMPLATE_SUCCESS
    global _TEMPLATE_BIND_SUCCESS
    global _TEMPLATE_HOMEWORK
    global _TEMPLATE_ANNOUNCEMENT
    secrets = json.loads(open(".secret.json", "r").read())
    logger.info("load secrets:\n%s" % secrets)
    app = secrets['app']
    _APP_ID = app['appID']
    _APP_TOKEN = app['Token']
    _APP_SECRET = app['appsecret']
    _TEMPLATE_SUCCESS = app['successTemplate']
    _TEMPLATE_BIND_SUCCESS = app['bindsuccessTemplate']
    _TEMPLATE_HOMEWORK = app['homeworkTemplate']
    _TEMPLATE_ANNOUNCEMENT = app['announcementTemplate']

    _APP_BUTTONS = WeChatButtons.wechat_buttons
    # get ip
    global _MY_IP
    global _MY_PORT
    global _HOST_HTTP
    global _HOST_HTTPS
    _MY_IP = getip.myip()
    _MY_PORT = secrets["server"]["port"]
    _HOST_HTTP = "http://%s:%s" % (_MY_IP, _MY_PORT)
    _HOST_HTTPS = "https://%s:%s" % (_MY_IP, _MY_PORT)
    logger.info("local address:%s" % _HOST_HTTP)
    with open("address.txt", 'w') as f:
        f.write(_HOST_HTTP + "/push")
    # thu learn urls
    global _URL_BASE
    global _URL_LOGIN
    _URL_BASE = 'https://learn.tsinghua.edu.cn'
    _URL_LOGIN = _URL_BASE + '/MultiLanguage/lesson/teacher/loginteacher.jsp'

    # wechat
    global wechat
    wechat = WechatBasic(token=_APP_TOKEN, appid=_APP_ID, appsecret=_APP_SECRET)
    # database
    global database
    db_secret = secrets['database']
    database = db.Database(username=db_secret['username'], password=db_secret['password'],
                           database=db_secret['database_name'], salt=db_secret['key'], address=db_secret['host'])
    # create buttons
    try:
        _create_buttons()
    except:
        logger.info("failed to create button")