Пример #1
0
    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
Пример #2
0
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"
Пример #3
0
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"
Пример #4
0
    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
Пример #5
0
    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,

        )
Пример #6
0
 def client(self):
     config = Config()
     config.from_pyfile(os.path.join(BASE_DIR, "client_config.py"))
     return Client(config)
Пример #7
0
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()
Пример #8
0
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
Пример #9
0
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"
Пример #10
0
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')
Пример #11
0
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"
Пример #12
0
    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({
Пример #13
0
# -*- 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')
)