def call(self, chat, author, arguments): player = db.find_player_by_telegram_id(author) if player is None: telegram.send( chat, "Introduce yourself by providing your psn id: /r register <psn-id>" ) return (event_type_code, date_code, time_code, comment) = self.parse_arguments(chat, arguments) event_type = db.find_type_by_code(event_type_code) if event_type is None: telegram.send( chat, "Event type not found: " + event_type_code + ", see available types: /r types") return if date_code == 'today': day = date.today() elif date_code == 'tomorrow': day = date.today() + timedelta(days=1) else: year = date.today().year day = datetime.strptime(date_code, '%d/%m') day = day.replace(year=year) if comment is None: comment = "" d = datetime.combine(day, datetime.strptime(time_code, '%H:%M').time()) db.add_event(player, event_type.key.id(), d, comment) telegram.send(chat, "Event added")
def test_get_events(self): """Getting event test.""" package_members = self.prepare_package_members() db.create_package(package_members['escrow'][0], package_members['launcher'][0], package_members['recipient'][0], 50000000, 100000000, time.time(), None, None, None, None) new_package_members = self.prepare_package_members() db.create_package(new_package_members['escrow'][0], new_package_members['launcher'][0], new_package_members['recipient'][0], 50000000, 100000000, time.time(), None, None, None, None) for user in new_package_members: db.add_event(new_package_members['escrow'][0], user[0], 'new event', None) events = db.get_package_events(package_members['escrow'][0]) self.assertEqual( len(events), 1, "expected 1 event for package: '{}', but '{}' got instead".format( package_members['escrow'][0], len(events))) events = db.get_package_events(new_package_members['escrow'][0]) self.assertEqual( len(events), 5, "expected 5 events for package: '{}', but '{}' got instead".format( package_members['escrow'][0], len(events)))
def gates_sensor_handler(gpio): global bot if (c.DEVELOPER_COMPUTER != '64bit'): pin = int(gpio.getPin()) new_state = gpio.read() else: pin = 45 new_state = 1 gate = -1 for i in range(len(c.GPIOREAD_LIST)): if (pin == c.GPIOREAD_LIST[i]): gate = i break if (gate >= 0 and bot != None): subscribers = db.get_subscribers(gate) if (new_state == c.OPEN_GPIO): send_to_subscribers( bot, subscribers, "Informacion: Porton " + str(gate) + " fue abierto") Thread(target=timer_close_gate, args=( bot, gate, )).start() elif (new_state == c.CLOSED_GPIO): send_to_subscribers( bot, subscribers, "Informacion: Porton " + str(gate) + " fue cerrado") else: send_to_subscribers( bot, subscribers, "Informacion: Porton " + str(gate) + " estado desconocido") else: print(pin, new_state, gate) print("Error no encontro puerta") db.add_event(new_state, gate)
def changed_location_handler(user_pubkey, escrow_pubkey, location): """ Add new `changed_location` event for package. --- :param user_pubkey: :param escrow_pubkey: :param location: :return: """ db.add_event(escrow_pubkey, user_pubkey, 'changed location', location) return {'status': 200}
def add_event_handler(user_pubkey, escrow_pubkey, event_type, location): """ --- :param user_pubkey: :param escrow_pubkey: :param event_type: :param location: :return: """ db.add_event(escrow_pubkey, user_pubkey, event_type, location) return {'status': 200}
def post(self): event_type = self.request.get('event_type') date = self.request.get('date') time = self.request.get('time') comment = self.request.get('comment') event_date = datetime.strptime(date + ' ' + time, '%m/%d/%Y %H:%M') player = db.find_player(users.get_current_user().user_id()) db.add_event(player, event_type, event_date, comment) events_for(self, player)
def post(self): event_type = self.request.get("event_type") date = self.request.get("date") time = self.request.get("time") comment = self.request.get("comment") event_date = datetime.strptime(date + " " + time, "%m/%d/%Y %H:%M") player = db.find_player(users.get_current_user().user_id()) db.add_event(player, event_type, event_date, comment) events_for(self, player)
def accept_package_handler(user_pubkey, escrow_pubkey, location=None): """ Accept a package. If the package requires collateral, commit it. If user is the package's recipient, release all funds from the escrow. --- :param user_pubkey: :param escrow_pubkey: :param location: :return: """ package = db.get_package(escrow_pubkey) event_type = 'received' if package['recipient_pubkey'] == user_pubkey else 'couriered' db.add_event(escrow_pubkey, user_pubkey, event_type, location) return {'status': 200}
def recv_event(self, environ, start_response): global eventslist formdata = environ['QUERY_STRING'] results = urlparse.parse_qs(formdata) info = results.values()[3][0], results.values()[0][0], results.values()[1][0] eventslist[results.values()[2][0]] = info content_type ='text/html' data ="""<html> <head> <title>Events</title> <style type='text/css'> h3 {color:MediumOrchid; text-shadow: 0px 1px 1px #fff; border-bottom: 2px solid #b2b2b2; background: -webkit-gradient(linear, left top, left bottom, from(#beeae9), to(#a8cfce)); -webkit-border-radius:7px; -moz-border-radius:7px; text-align:center; } body { font-size: 14px; background-color:LightGrey; text-align: center; } </style> </head> <body> <h3> Events </h3> <p>Listed Events </p> Event Name %s <br/> Event Location %s <br/> Event Time %s <br/> Event Date %s <br/><a href= './'> Home </a>""" %(results.values()[2][0], results.values()[3][0], results.values()[0][0], results.values()[1][0]) db.add_event(results) start_response('200 OK', list(html_headers)) return [data]
def test_add_event(self): """Adding event test.""" package_members = self.prepare_package_members() db.create_package( package_members['escrow'][0], package_members['launcher'][0], package_members['recipient'][0], '+490857461783', '+4904597863891', 50000000, 100000000, time.time(), 'Package description', '12.970686,77.595590', '41.156193,-8.637541', 'India Bengaluru', 'Spain Porto', '12.970686,77.595590', None) db.add_event(package_members['courier'][0], 'couriered', '12.970686,77.595590', package_members['escrow'][0]) events = db.get_package_events(package_members['escrow'][0]) self.assertEqual(len(events), 2, "2 events expected, but {} got instead".format(len(events))) couriered_event = next((event for event in events if event['event_type'] == 'couriered'), None) self.assertIsNotNone(couriered_event, "expected event with event_type: 'couriered', None got instead") self.assertEqual( couriered_event['user_pubkey'], package_members['courier'][0], "expected event with user_pubkey: {}, but {} got instead".format( package_members['courier'][0], couriered_event['user_pubkey']))
def record_event_json_post(event, context): logger.info('Event1: %s' % (event, )) logger.info('Context1: %s' % (context, )) user_id, pet_id, action = event['user'], event['pet'], event['action'] ret = db.add_event(user_id, pet_id, action) logger.info('Ret for record_event: %s' % (ret, )) return ret
def test_get_user_packages(self): """Getting user packages test.""" user = self.generate_keypair() first_package_members = self.prepare_package_members() LOGGER.info('creating package with user role: launcher') db.create_package( first_package_members['escrow'][0], user[0], first_package_members['recipient'][0], '+490857461783', '+4904597863891', 50000000, 100000000, time.time(), 'Package description', '12.970686,77.595590', '41.156193,-8.637541', 'India Bengaluru', 'Spain Porto', '12.970686,77.595590', None) second_package_members = self.prepare_package_members() LOGGER.info('creating package with user role: recipient') db.create_package( second_package_members['escrow'][0], second_package_members['launcher'][0], user[0], '+490857461783', '+4904597863891', 50000000, 100000000, time.time(), 'Package description', '12.970686,77.595590', '41.156193,-8.637541', 'India Bengaluru', 'Spain Porto', '12.970686,77.595590', None) third_package_members = self.prepare_package_members() LOGGER.info('creating package with user role: courier') db.create_package( third_package_members['escrow'][0], third_package_members['launcher'][0], third_package_members['recipient'][0], '+490857461783', '+4904597863891', 50000000, 100000000, time.time(), 'Package description', '12.970686,77.595590', '41.156193,-8.637541', 'India Bengaluru', 'Spain Porto', '12.970686,77.595590', None) db.add_event(user[0], 'couriered', '12.970686,77.595590', third_package_members['escrow'][0]) packages = db.get_packages(user[0]) self.assertEqual(len(packages), 3, "3 packages expected, {} got instead".format(len(packages))) package = next(( package for package in packages if package['launcher_pubkey'] == user[0]), None) self.assertEqual(package['user_role'], 'launcher', "expected role: 'launcher', '{}' got instead".format(package['user_role'])) self.assertEqual(package['custodian_pubkey'], user[0], "{} expected as custodian, {} got instead".format(user[0], package['custodian_pubkey'])) package = next(( package for package in packages if package['recipient_pubkey'] == user[0]), None) self.assertEqual(package['user_role'], 'recipient', "expected role: 'recipient', '{}' got instead".format(package['user_role'])) self.assertEqual(package['custodian_pubkey'], second_package_members['launcher'][0], "{} expected as custodian, {} got instead".format( second_package_members['launcher'][0], package['custodian_pubkey'])) package = next(( package for package in packages if user[0] not in (package['recipient_pubkey'], package['launcher_pubkey'])), None) self.assertEqual(package['user_role'], 'courier', "expected role: 'courier', '{}' got instead".format(package['user_role'])) self.assertEqual(package['custodian_pubkey'], user[0], "{} expected as custodian, {} got instead".format(user[0], package['custodian_pubkey']))
def add_event_handler(user_pubkey, event_type, location, escrow_pubkey=None, kwargs=None, photo=None): """ Add new event for package. --- :param user_pubkey: :param event_type: :param location: :param escrow_pubkey: :param kwargs: :param photo: :return: """ db.add_event(user_pubkey, event_type, location, escrow_pubkey, kwargs, photo) return {'status': 200}
def test_get_events(self): """Getting event test.""" package_members = self.prepare_package_members() db.create_package( package_members['escrow'][0], package_members['launcher'][0], package_members['recipient'][0], '+490857461783', '+4904597863891', 50000000, 100000000, time.time(), 'Package description', '12.970686,77.595590', '41.156193,-8.637541', 'India Bengaluru', 'Spain Porto', '12.970686,77.595590', None) new_package_members = self.prepare_package_members() db.create_package( new_package_members['escrow'][0], new_package_members['launcher'][0], new_package_members['recipient'][0], '+490857461783', '+4904597863891', 50000000, 100000000, time.time(), 'Package description', '12.970686,77.595590', '41.156193,-8.637541', 'India Bengaluru', 'Spain Porto', '12.970686,77.595590', None) for user in new_package_members: db.add_event(new_package_members[user][0], 'new event', '12.970686,77.595590', new_package_members['escrow'][0]) events = db.get_package_events(package_members['escrow'][0]) self.assertEqual(len(events), 1, "expected 1 event for package: '{}', but '{}' got instead".format( package_members['escrow'][0], len(events))) events = db.get_package_events(new_package_members['escrow'][0]) self.assertEqual(len(events), 5, "expected 5 events for package: '{}', but '{}' got instead".format( package_members['escrow'][0], len(events)))
def test_get_escrow_events(self): """Getting escrow events test.""" packages_members = [self.prepare_package_members() for _ in range(3)] for members in packages_members: db.create_package(members['escrow'][0], members['launcher'][0], members['recipient'][0], '+490857461783', '+4904597863891', 50000000, 100000000, time.time(), 'Package description', '12.970686,77.595590', '41.156193,-8.637541', 'India Bengaluru', 'Spain Porto', '12.970686,77.595590', None) for members in packages_members: events = db.get_package_events(members['escrow'][0]) self.assertEqual(len(events), 1, "1 event expected for escrow: {}, but {} got instead".format( members['escrow'][0], len(events))) for index, members in enumerate(packages_members): for _ in range(index): db.add_event(members['courier'][0], 'new event', '12.970686,77.595590', members['escrow'][0]) for index, members in enumerate(packages_members): events = db.get_package_events(members['escrow'][0]) self.assertEqual(len(events), index+1, "{} event expected for escrow: {}, but {} got instead".format( index + 1, members['escrow'][0], len(events)))
def call(self, chat, author, arguments): player = db.find_player_by_telegram_id(author) if player is None: telegram.send(chat, "Introduce yourself by providing your psn id: /r register <psn-id>") return (event_type_code, date_code, time_code, comment) = self.parse_arguments(chat, arguments) event_type = db.find_type_by_code(event_type_code) if event_type is None: telegram.send(chat, "Event type not found: " + event_type_code + ", see available types: /r types") return if date_code == 'today': day = date.today() elif date_code == 'tomorrow': day = date.today() + timedelta(days=1) else: year = date.today().year day = datetime.strptime(date_code, '%d/%m') day = day.replace(year=year) if comment is None: comment = "" d = datetime.combine(day, datetime.strptime(time_code, '%H:%M').time()) db.add_event(player, event_type.key.id(), d, comment) telegram.send(chat, "Event added")
def test_add_event(self): """Adding event test.""" package_members = self.prepare_package_members() db.create_package(package_members['escrow'][0], package_members['launcher'][0], package_members['recipient'][0], 50000000, 100000000, time.time(), None, None, None, None) db.add_event(package_members['escrow'][0], package_members['courier'][0], 'couriered', None) events = db.get_package_events(package_members['escrow'][0]) self.assertEqual( len(events), 2, "2 events expected, but {} got instead".format(len(events))) couriered_event = next( (event for event in events if event['event_type'] == 'couriered'), None) self.assertIsNotNone( couriered_event, "expected event with event_type: 'couriered', None got instead") self.assertEqual( couriered_event['user_pubkey'], package_members['courier'][0], "expected event with user_pubkey: {}, but {} got instead".format( package_members['courier'][0], couriered_event['user_pubkey']))
def share_link(update: Update, context: CallbackContext) -> int: query = update.callback_query query.answer() bot = context.bot user_data = context.user_data['payment'] numOfPersons = int(user_data['Number of people']) payloads = [] i = 0 if (context.user_data['payment']['equal']['bool'] == True): text = f"{facts_to_str(user_data)}" else: text = f"{multi_users_to_str(user_data)}" event_id = add_event(context.user_data['user_id'], user_data['Title']) while i < numOfPersons: payloads.append(generate_token()) # TODO: link can only share to groups not individuals url = helpers.create_deep_linked_url(bot.username, str(payloads[i])) if (context.user_data['payment']['equal']['bool'] == True): amount = int(context.user_data['payment']['Amount']) add_payment(context.user_data['user_id'], amount / numOfPersons, event_id, str(payloads[i]), user_data['Title']) text += ( f"Share the payment information to your friend {i+1}: [▶️ CLICK HERE]({url}). \n" ) else: amount = context.user_data['payment']['Amount'][i + 1]['amount'] add_payment(context.user_data['user_id'], amount, event_id, str(payloads[i]), user_data['Title']) text += ( f"Share the payment information to *{context.user_data['payment']['Amount'][i+1]['name']}* : [▶️ CLICK HERE]({url}). \n" ) i += 1 keyboard = [[InlineKeyboardButton(BACK, callback_data=str("start"))]] reply_markup = InlineKeyboardMarkup(keyboard) # clear payment context.user_data['payment'] = {} # create_deep_linked_url(bot_username, payload=None, group=False) # the link will start the bot with /start, cant start with other command # url = helpers.create_deep_linked_url(bot.username, CHECK_THIS_OUT, group=True) query.edit_message_text(text=text, parse_mode='Markdown', disable_web_page_preview=True, reply_markup=reply_markup) return START_OVER
def test_get_escrow_events(self): """Getting escrow events test.""" packages_members = [self.prepare_package_members() for _ in range(3)] for members in packages_members: db.create_package(members['escrow'][0], members['launcher'][0], members['recipient'][0], 50000000, 100000000, time.time(), None, None, None, None) for members in packages_members: events = db.get_package_events(members['escrow'][0]) self.assertEqual( len(events), 1, "1 event expected for escrow: {}, but {} got instead".format( members['escrow'][0], len(events))) for index, members in enumerate(packages_members): for _ in range(index): db.add_event(members['escrow'][0], members['courier'][0], 'couriered', None) for index, members in enumerate(packages_members): events = db.get_package_events(members['escrow'][0]) self.assertEqual( len(events), index + 1, "{} event expected for escrow: {}, but {} got instead".format( index + 1, members['escrow'][0], len(events)))
async def user_event(sid, *, user, name): # cache await user_auth(sid, name=user) global event_count_total, event_count_today, event_count_hour event_count_total += 1 event_count_today += 1 event_count_hour += 1 # user users[sid]["event_count_session"] += 1 # event if name not in ["rickroll", "exmatrikulieren"]: event = db.add_event(user=user, name=name, timestamp=utils.time()) await emit_message(f"{user} triggered {name}!") await sio.emit("event", event) else: await sio.emit("event", { "user": user, "name": name, "timestamp": utils.time() })
"4.Посмотреть список клиентов\n" + \ "5.Проверить последнюю транзакцию\n" + \ "6.Проверить подключение к сети\n" choose = input(message + ': ') if choose == "1": text = input("Введите сообщение: ") to = input("Получатель: ") if any(to in addr for addr, prt in clients): string = (str(public_key[0]) + ":" + str(core.hash(text)) + ":" + str(to)) try: mess = 'message::' + text s1.sendto(ttb(mess), (to, 9090)) db.add_event(string) print("Сообщение отправлено!") except: print("Ошибка при отправке сообщения!") else: print('Клиент с IP - {} не подключен к сети.'.format(to)) elif choose == "2": last_tx = db.get_last_transaction() if last_tx is not None: print( "Последняя транзакция:\nid {0}\nОт кого: {1}\nсообщение: {2}\nКому: {3}\nДата: {4}\n----------------\n" .format(last_tx[0], last_tx[1], last_tx[2], last_tx[3], date(last_tx[4]))) else: print("Транзакций не найдено!")
def test_get_user_packages(self): """Getting user packages test.""" user = self.generate_keypair() first_package_members = self.prepare_package_members() LOGGER.info('creating package with user role: launcher') db.create_package(first_package_members['escrow'][0], user[0], first_package_members['recipient'][0], 50000000, 100000000, time.time(), None, None, None, None) second_package_members = self.prepare_package_members() LOGGER.info('creating package with user role: recipient') db.create_package(second_package_members['escrow'][0], second_package_members['launcher'][0], user[0], 50000000, 100000000, time.time(), None, None, None, None) third_package_members = self.prepare_package_members() LOGGER.info('creating package with user role: courier') db.create_package(third_package_members['escrow'][0], third_package_members['launcher'][0], third_package_members['recipient'][0], 50000000, 100000000, time.time(), None, None, None, None) db.add_event(third_package_members['escrow'][0], user[0], 'couriered', None) packages = db.get_packages(user[0]) self.assertEqual( len(packages), 3, "3 packages expected, {} got instead".format(len(packages))) package = next( (package for package in packages if package['launcher_pubkey'] == user[0]), None) self.assertEqual( package['user_role'], 'launcher', "expected role: 'launcher', '{}' got instead".format( package['user_role'])) self.assertEqual( package['custodian_pubkey'], user[0], "{} expected as custodian, {} got instead".format( user[0], package['custodian_pubkey'])) package = next((package for package in packages if package['recipient_pubkey'] == user[0]), None) self.assertEqual( package['user_role'], 'recipient', "expected role: 'recipient', '{}' got instead".format( package['user_role'])) self.assertEqual( package['custodian_pubkey'], second_package_members['launcher'][0], "{} expected as custodian, {} got instead".format( second_package_members['launcher'][0], package['custodian_pubkey'])) package = next((package for package in packages if user[0] not in (package['recipient_pubkey'], package['launcher_pubkey'])), None) self.assertEqual( package['user_role'], 'courier', "expected role: 'courier', '{}' got instead".format( package['user_role'])) self.assertEqual( package['custodian_pubkey'], user[0], "{} expected as custodian, {} got instead".format( user[0], package['custodian_pubkey']))
def get(self, pid, evt, g): pid = int(pid) db.add_event(pid, evt) self.finish('1')
import RPi.GPIO as GPIO import time import db db.add_event('start') GPIO.setmode(GPIO.BCM) pin = 18 C = 420 / float(1000) #uF def rc_time(pin): GPIO.setup(pin, GPIO.OUT) GPIO.output(pin, GPIO.LOW) time.sleep(0.01) GPIO.setup(pin, GPIO.IN) t1 = time.time() while (GPIO.input(pin) == GPIO.LOW): pass t2 = time.time() return (t2 - t1) * 1000000 def avg_rc_time(pin, samples): total = 0 for i in range(1, samples): total += rc_time(pin) t = total / float(samples) return t