def __init__(self, token=None, logger=None, enable_session=True, session_storage=None, app_id=None, app_secret=None, encoding_aes_key=None, **kwargs): self.config = Config(_DEFAULT_CONFIG) self._handlers = dict((k, []) for k in self.message_types) self._handlers['all'] = [] if logger is None: import werobot.logger logger = werobot.logger.logger self.logger = logger if enable_session and session_storage is None: from .session.filestorage import FileStorage session_storage = FileStorage( filename=os.path.abspath("werobot_session") ) self.config.update( TOKEN=token, SESSION_STORAGE=session_storage, APP_ID=app_id, APP_SECRET=app_secret, ENCODING_AES_KEY=encoding_aes_key ) self.use_encryption = False for k, v in kwargs.items(): self.config[k.upper()] = v
def test_from_object(): config = Config() config.from_pyfile(os.path.join(basedir, "test_config.py")) class ConfigObject(): TOKEN = "456" config.from_object(ConfigObject()) assert config["TOKEN"] == "456"
def test_config_ignore(): from werobot.config import Config config = Config( TOKEN="token from config" ) robot = WeRoBot( config=config, token="token2333" ) assert robot.token == "token from config"
def __init__( self, token=None, logger=None, enable_session=None, session_storage=None, app_id=None, app_secret=None, encoding_aes_key=None, config=None, **kwargs ): self._handlers = {k: [] for k in self.message_types} self._handlers['all'] = [] self.make_error_page = make_error_page if logger is None: import werobot.logger logger = werobot.logger.logger self.logger = logger if config is None: self.config = Config(_DEFAULT_CONFIG) self.config.update( TOKEN=token, APP_ID=app_id, APP_SECRET=app_secret, ENCODING_AES_KEY=encoding_aes_key ) for k, v in kwargs.items(): self.config[k.upper()] = v if enable_session is not None: warnings.warn( "enable_session is deprecated." "set SESSION_STORAGE to False if you want to disable Session", DeprecationWarning, stacklevel=2 ) if not enable_session: self.config["SESSION_STORAGE"] = False if session_storage: self.config["SESSION_STORAGE"] = session_storage else: self.config = config self.use_encryption = False
def __init__(self, token=None, logger=None, enable_session=True, session_storage=None): self.config = Config(_DEFAULT_CONFIG) self._handlers = dict((k, []) for k in self.message_types) self._handlers['all'] = [] if logger is None: import werobot.logger logger = werobot.logger.logger self.logger = logger if enable_session and session_storage is None: from .session.filestorage import FileStorage session_storage = FileStorage( filename=os.path.abspath("werobot_session") ) self.config.update( TOKEN=token, SESSION_STORAGE=session_storage, )
def client(self): config = Config() config.from_pyfile(os.path.join(BASE_DIR, "client_config.py")) return Client(config)
from werobot import WeRoBot from werobot.config import Config from .config import ROBOT_HOST, ROBOT_PORT, APP_ID, APP_SECRET, TOKEN, ENCODING_AES_KEY, DATABASE from .utils.log import Logger from .utils.db_connect import RedisConnect, SQLiteConnect from .utils.robot_msg import is_subscribe_msg, is_unsubscribe_msg logger = Logger('robot') app_config = Config( HOST=ROBOT_HOST, PORT=ROBOT_PORT, APP_ID=APP_ID, APP_SECRET=APP_SECRET, TOKEN=TOKEN, ENCODING_AES_KEY=ENCODING_AES_KEY, SERVER='auto', SESSION_STORAGE=None, ) app = WeRoBot(config=app_config) # logger=logger logger.info('初始化 WeRoBot 完成') logger.info('数据库类型: {}'.format(DATABASE)) if DATABASE == 'redis': db = RedisConnect() elif DATABASE == 'sqlite': db = SQLiteConnect() else: logger.critical('未知数据库类型,无法初始化') exit()
from werobot import WeRoBot from werobot.config import Config config = Config( TOKEN='tangxin', SERVER="auto", HOST="0.0.0.0", PORT="80", SESSION_STORAGE=None, APP_ID='wx98e9f23f0ba108c6', APP_SECRET=None, ENCODING_AES_KEY='36HbTSXwX3yU0NAbkvII2a0d6DLMK7TCm8e0bWQpZ3h ' ) robot = WeRoBot(config=config) @robot.handler def hello_world(message): return 'hello world' @try: pass except expression as identifier: pass else: pass @robot.text def test(message): return message.content
def test_from_pyfile(): config = Config() assert "TOKEN" not in config config.from_pyfile(os.path.join(basedir, "test_config.py")) assert config["TOKEN"] == "123"
from werobot.config import Config cfg = Config(SERVER='auto', HOST='0.0.0.0', PORT=80, SESSION_STORAGE=None, TOKEN='pXCtMZZ66J', APP_ID='wx8c53a82f87f6fe0d', APP_SECRET='dc9235aa8e7da02002221f1be221c7c6')
def test_id_and_secret(): config = Config() config.from_pyfile(os.path.join(basedir, "test_client.py")) client = Client(config) assert client.appid == "123" assert client.appsecret == "321"
Rule('/ics', endpoint='ics'), ] api = Api(app) api.add_resource(App, '/api/applications') for rule in urlpatterns: app.url_map.add(rule) #### router #### #### wechat #### import werobot robot = werobot.WeRoBot(token='69b3f633cd9e4136bfdd8be812a34e28') config = Config() basedir = os.path.dirname(os.path.abspath(__file__)) config.from_pyfile(os.path.join(basedir, "client_config.py")) client = Client(config=config) from werkzeug.local import LocalProxy def get_client(): return client tulingbot = Tuling() ###client.get_menu ''' client.create_menu({
# -*- coding: utf-8 -*- import os from werobot.config import Config env_dist = os.environ config = Config( SERVER="auto", HOST="127.0.0.1", PORT="8888", SESSION_STORAGE=None, APP_ID=env_dist.get('APP_ID'), APP_SECRET=env_dist.get('APP_SECRET'), TOKEN=env_dist.get('TOKEN'), ENCODING_AES_KEY=env_dist.get('ENCODING_AES_KEY') )