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()
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
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()
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'
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)
# -*- 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) #发布者:
#!/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('>> ')) # 获取输入,并把输入的内容发布出去
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()
from redis_helper import RedisHelper redis_con = RedisHelper()
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',
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)
def __init__(self): self.redis = RedisHelper() self.configs = {}
def __init__(self): conf = common.config self.channel = "fe:ws:%s" % conf.get("global", "subpub_channel") self.handler = RedisHelper()
def __init__(self): self.key_prefix = "err_cnt:%s" % common.config.get("global", "error_counter_prefix") self.handler = RedisHelper()
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)