コード例 #1
0
ファイル: tg_bot.py プロジェクト: enibeni/quiz_bot
def main():
    load_dotenv()
    global REDIS_DB
    REDIS_DB = RedisHelper().connection

    updater = Updater(os.getenv("TG_TOKEN_QUIZ_BOT"))
    dp = updater.dispatcher
    conv_handler = ConversationHandler(
        entry_points=[
            CommandHandler('start', start),
            RegexHandler('^Новый вопрос$', handle_new_question_request)
        ],
        states={

            States.QUESTION: [RegexHandler('^Новый вопрос$', handle_new_question_request)],

            States.ANSWER: [
                RegexHandler('^Сдаться$', handle_kapitulation),
                MessageHandler(Filters.text, handle_solution_attempt)
            ],
        },

        fallbacks=[RegexHandler('^Сдаться$', handle_kapitulation)]
    )
    dp.add_handler(conv_handler)
    updater.start_polling()
    updater.idle()
コード例 #2
0
    def __init__(self):
        self.headers = {'User-Agent': Faker().user_agent()}
        self.db = RedisHelper()
        self.save_to_redis = self.db.save_proxy_ip

        self.pattern_tags = re.compile(r'<[^>]+>', re.S)
        self.pattern_blank = re.compile(r'\s+', re.S)
        self.pattern_colon = re.compile(r' ', re.S)
        self.pattern_ip = re.compile(r'(?:\d+\.){3}\d+:\d+')

        # 搜索深度(页数)
        self.search_depth = 5
コード例 #3
0
    def __init__(self):
        # 线程数量
        self.pro_num = 20

        # 记录失败的code的处理次数,达到N次将不会再次进队
        self.fail_id = {}

        # 连接MongoDB
        self.conn = MongoClient(BaseConfig.mongo_cfg)
        self.db = self.conn.movies

        # 获取RedisHelper
        self.redis_helper = RedisHelper()
コード例 #4
0
ファイル: manager.py プロジェクト: forencen/aiokafka
 def __init__(self, config, loop=None):
     self.loop = loop or asyncio.get_event_loop()
     redis_url = config.pop('KAFKA_REDIS_URL', None)
     assert redis_url is not None, 'kafka server need redis config: KAFKA_REDIS_URL'
     self.kafka_redis = RedisHelper(redis_url, loop=loop)
     self._waiting_publish_message_queue = config.pop(
         'WAITING_PUBLISH_MESSAGE_QUEUE',
         None) or 'kafka_waiting_publish_message'
     self._consumers_name_set = set()
     self._consumers = []
     self._producer_count = config.pop('PRODUCER_COUNT', None) or 5
     self._producers = []
     self.config = config
     # 'INIT' -> 'RUNNING' -> 'STOP'
     self.status = 'INIT'
コード例 #5
0
ファイル: vk_bot.py プロジェクト: enibeni/quiz_bot
            user_answer = event.text
            if check_is_right_answer(user_answer, right_answer):
                vk_api.messages.send(user_id=event.user_id,
                                     message="Правильный ответ!",
                                     keyboard=keyboard.get_keyboard(),
                                     random_id=random.randint(1, 1000))
            else:
                vk_api.messages.send(user_id=event.user_id,
                                     message="Неравильный ответ!",
                                     keyboard=keyboard.get_keyboard(),
                                     random_id=random.randint(1, 1000))


if __name__ == "__main__":
    load_dotenv()
    redis_db = RedisHelper().connection

    quiz_data = get_quiz_data()

    vk_session = vk_api.VkApi(token=os.getenv("VK_TOKEN_QUIZ_BOT"))
    vk_api = vk_session.get_api()

    keyboard = VkKeyboard()

    keyboard.add_button('Новый вопрос', color=VkKeyboardColor.SECONDARY)
    keyboard.add_button('Сдаться', color=VkKeyboardColor.NEGATIVE)

    keyboard.add_line()
    keyboard.add_button('Мой счет', color=VkKeyboardColor.POSITIVE)

    longpoll = VkLongPoll(vk_session)
コード例 #6
0
ファイル: reids_sub.py プロジェクト: liulin1840/python-
# -*- coding:utf-8 -*-
__author__ = 'liulin'

from redis_helper import RedisHelper

obj = RedisHelper()
redis_sub = obj.subscribe()

while True:
    msg = redis_sub.parse_response()
    print(msg)
#发布者:
コード例 #7
0
ファイル: reddis_pub.py プロジェクト: wikizzq/uplooking
#!/usr/bin/env python3
# coding:utf-8
'''
Created on: 2016年3月22日

@author: 张晓宇

Email: [email protected]

Version: V1.0

Description: Redis订阅和发布演示程序,发布方
Help:
'''
from redis_helper import RedisHelper # 导入刚才定义的Redis公共类

if __name__ == '__main__':

    obj = RedisHelper() # 创建redis公共类对象
    while True:
        obj.public(input('>> ')) # 获取输入,并把输入的内容发布出去
コード例 #8
0
import datetime

from config import Config
from redis_helper import RedisHelper

redis_helper = RedisHelper()


def update_prices():
    print(f'{datetime.datetime.now()}\tUpdate started')
    conn = Config.conn
    redis_helper.update_date()
    redis_helper.load_prices(conn)
    redis_helper.add_product(conn)
    conn.close()
    print(f'{datetime.datetime.now()}\tUpdate ended')


update_prices()
コード例 #9
0
from redis_helper import RedisHelper

redis_con = RedisHelper()


コード例 #10
0
import redis
from flask import Flask, render_template, flash
from flask_bootstrap import Bootstrap
from flask_wtf import FlaskForm
from flask_wtf.csrf import CSRFProtect
from wtforms import SubmitField, SelectMultipleField, widgets

from config import Config
from order_table import OrderTable
from redis_helper import RedisHelper

app = Flask(__name__)
Bootstrap(app)
app.config.from_object(Config)
csrf = CSRFProtect(app)
rh = RedisHelper()


class MultiCheckboxField(SelectMultipleField):
    widget = widgets.ListWidget(prefix_label=False)
    option_widget = widgets.CheckboxInput()


class CalcForm(FlaskForm):
    conn = redis.Redis(db=1)
    products_dict = rh.get_products_dict(conn)
    conn.close()
    proc = SelectMultipleField(
        'Processors (CPUs)',
        choices=list((x, x) for x in products_dict.get('Processors (CPUs)')))
    mobo = SelectMultipleField('Motherboards',
コード例 #11
0
from redis_helper import RedisHelper

import datetime
import time
import time_utils

helper = RedisHelper()

redis_sub = helper.subscribe()

while True:
    # 这是使用base64编码,和下面使用字符直接编码,性能差距很小
    # msg = redis_sub.parse_response()
    # d = datetime.datetime.now()
    # base64_bytes = msg[2].encode('ascii')
    # image_bytes = base64.b64decode(base64_bytes)
    # time_utils.millis(datetime.datetime.now(), d)
    # with open('received-image-{}.{}'.format(datetime.datetime.now(), 'jpg'), 'wb') as image_file:
    #     image_file.write(image_bytes)

    for item in redis_sub.listen():
        msg = bytes(item['data'], encoding='ISO-8859-1')
        d = datetime.datetime.now()
        time_utils.millis(datetime.datetime.now(), d)
        with open('received-image-{}.{}'.format(time.time(), 'jpg'),
                  'wb') as image_file:
            image_file.write(msg)
コード例 #12
0
 def __init__(self):
     self.redis = RedisHelper()
     self.configs = {}
コード例 #13
0
 def __init__(self):
     conf = common.config
     self.channel = "fe:ws:%s" % conf.get("global", "subpub_channel")
     self.handler = RedisHelper()
コード例 #14
0
 def __init__(self):
     self.key_prefix = "err_cnt:%s" % common.config.get("global", "error_counter_prefix")
     self.handler = RedisHelper()
コード例 #15
0
ファイル: redis_publisher.py プロジェクト: skmbw/learnpy
from redis_helper import RedisHelper
import datetime
import base64
import time_utils

publish = RedisHelper()

# publish.publish('hello world.')

with open('robots.jpg', 'rb') as image_file:
    image_bytes = image_file.read()
    d = datetime.datetime.now()
    # encoded = base64.b64encode(image_bytes).decode('ascii')

# publish.publish(encoded)
# 读取的文件的编码居然是ISO-8859-1, 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
publish.publish(str(image_bytes, encoding='ISO-8859-1'))  # 字节数组转str?时间上跟b64encode差不多
time_utils.millis(datetime.datetime.now(), d)