def converter(currency=0, date='2020-11-24'): # USD - доллар EUR - евро XDR - резервная валюта мира # GBP - английс фунт CHF - шфейцарский франк arr = ['USD', 'EUR', 'XDR', 'GBP', 'CHF'] rates = ExchangeRates(date) return rates[arr[currency]].value
def converter_1(currency=0, date=datetime.date.today()): # USD - доллар EUR - евро XDR - резервная валюта мира # GBP - английский фунт CHF - швейцарский франк arr = ['USD', 'EUR', 'XDR', 'GBP', 'CHF'] rates = ExchangeRates(date) return rates[arr[currency]].value
def currency(name): date = _datetime.date.today() rates = ExchangeRates(date) value = rates[name].value write_message(event.user_id, event.random_id, "Значение " + name + " на сегодняшний " "день равен: " + str(value))
def course(): today = datetime.today() rates = ExchangeRates(today.strftime("%Y-%m-%d")) value = { 'USD': rates['USD'].value, 'EUR': rates['EUR'].value, 'UAH': rates['UAH'].value } return value
def get_difference(currency): rates = ExchangeRates( f'{datetime.datetime.now().year}-{datetime.datetime.now().month}-' f'{datetime.datetime.now().day - 1}') difference = rates[f'{currency}'][4] - get_current_price(currency) if difference >= 0: return f'+{difference}' else: return str(difference)
def exchangeuah(message): chat = message.chat.id now = datetime.now() rates = ExchangeRates(str(datetime.strftime(datetime.now() - timedelta(1), '%Y-%m-%d'))) rates.date_requested rates.date_received rates.dates_match rates['UAH'].name a = (str(rates['UAH'].name)+'\n'+str(rates['UAH'].rate)) bot.send_message(chat,a)
def _get_currency(self): rates = ExchangeRates(datetime.now()) return { 'USD': rates['USD'], 'EUR': rates['EUR'], 'GBP': rates['GBP'], 'JPY': rates['JPY'], 'CHF': rates['CHF'], 'CNY': rates['CNY'], }
def get_range_price(currency, date, dattee): sp = [] start_date = datetime.date(int(date.split('-')[0]), int(date.split('-')[1]), int(date.split('-')[2])) end_date = datetime.date(int(dattee.split('-')[0]), int(dattee.split('-')[1]), int(dattee.split('-')[2])) for _ in range(0, (end_date - start_date).days + 1): rates = ExchangeRates(start_date) ratess = ExchangeRates(start_date - timedelta(days=1)) pricee = ratess[f'{currency}'][4] price = rates[f'{currency}'][4] delta = price - pricee if delta >= 0: sp.append(f'{start_date}: {price}(+{delta})') else: sp.append(f'{start_date}: {price}({delta})') start_date += timedelta(days=1) return sp
def to_rur(amount, cur): """Converts chosen currency into Russian rubles. amount - amount of currency cur - currency abbreviation (USD, EUR, JPY etc.) to_rur(100, USD) """ date_now = datetime.strftime(datetime.now(), "%Y-%m-%d") rates = ExchangeRates(date_now) rate = float(rates[cur].value) return amount * rate
def sign_in(self) -> None: try: """Sign in to olimp, remember session id.""" req_url = olimp_url2.format("autorize") # req_url = 'https://' + 'api2.olimp.bet' + '/api/{}'.format("autorize") olimp_payload = {"lang_id": "0", "platforma": "ANDROID1"} payload = olimp_payload.copy() payload.update(self._account) headers = base_headers.copy() headers.update(get_xtoken_bet(payload)) headers.update({'X-XERPC': '1'}) prnt('BET_OLIMP.PY: Olimp, sign_in request: ' + str(req_url), 'hide') resp = requests_retry_session_post( req_url, headers=headers, data=payload, verify=False, timeout=self.timeout, proxies=self.proxies ) prnt('BET_OLIMP.PY: Olimp, sign_in responce: ' + str(resp.status_code) + ' ' + resp.text, 'hide') check_status_with_resp(resp, 'olimp') res = resp.json() if res.get('error', {}).get('err_code', 0) == 401: raise ValueError('Olimp:' + res.get('error', {}).get('err_desc')) self.session_payload["session"] = res["data"]["session"] login_info = dict(res['data']) # {'messages': '', 'session': 'c3b4723f6a70ebad72ccb95b9b39ba2a', 'l': '3318188', 'fn': 'Адиль', 'ln': 'Косатый', 's': 7198, 'b': 0, 'b2': 0, 'b3': 0, 'b4': 0, 'div': 1, 'cntr': 'RU', 'e': '*****@*****.**', 't': '79050052329', 'cur': 'RUB', 'curid': 3, 'v1': 0, 'v2': 0, 'v3': 0, 'v4': 0, 'decimals': 0, 'vip': 0, 'cs': 0, 'a': 0, 'pa': 0, 'cps': '', 'bonuses': [], 'pd_activation_need': None, 'vipnotice': None, 'act16': ['RU', 'KZ', 'UA', 'BY', 'KG'], 'user_srv': 1, 'stat_pr': 'Low', 'accept_txt': '', 'email_approve': 0, 'info': None} self.login_info = login_info self.balance = float(self.login_info.get('s')) self.currency = self.login_info.get("cur") if self.currency == 'RUB': self.balance = self.balance * self.cur_rate // 1 else: from pycbrf.toolbox import ExchangeRates rates = ExchangeRates() self.cur_rate = float(rates['EUR'].value) prnt('BET_OLIMP.PY: get current rate {} from bank:{} [{}-{}]'.format(self.currency, self.cur_rate, rates.date_requested, rates.date_received)) balance_old = self.balance self.balance = self.balance * self.cur_rate // 10 * 10 prnt('BET_OLIMP.PY: balance convert: {} {} = {} RUB'.format(balance_old, self.cur_rate, self.balance)) self.balance_in_play = float(self.login_info.get('cs')) prnt('BET_OLIMP.PY: balance: ' + str(self.balance)) except Exception as e: if 'str() takes at most 3 arguments (5 given)' in str(e): raise ValueError('БК Олимп по адресу {}, данный сайт не отвечает или у прокси нет доступа к сайту, рекомендую проверить/поменять прокси или зеркало: @olimpbet_bot или попробовать позже'.format(req_url)) prnt(e) raise ValueError(e)
def exchangeusd(message): chat = message.chat.id now = datetime.now() rates = ExchangeRates(str(datetime.strftime(datetime.now() - timedelta(1), '%Y-%m-%d'))) rates.date_requested rates.date_received rates.dates_match rates['USD'].name rates['R01235'].name rates['840'].name a = str(rates['USD'].name + "\n") a += str(rates['USD'].rate) bot.send_message(chat,a)
def func(self): try: a = 1 if UEngine.is_int(self.text): a *= int(self.text) today = str(datetime.date.today()) rates = ExchangeRates(today) val = ['USD', 'EUR'] _str = f'[{str(today)}] Курс валют:\n' for v in val: data = rates[v] _str += f'{data.name}: {data.value * a}\n' self.result['message'] = _str return True except Exception as e: self.result['message'] = str(e) return False
def __init__(self): # Инициализируем HEADER self.HEADERS = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/84.0.4147.105 Safari/537.36', 'accept': '*/*' } # Проверяем, есть ли прокси with open("proxies.txt", 'r') as file: for line in file: proxies = {'http': line} self.PROXIES.update(proxies) # Инициализируем URLs для парсинга self.URLS.append("https://bouz.ru/catalog/kommutatory/") self.URLS.append("https://bouz.ru/catalog/marshrutizatory/") self.URLS.append("https://bouz.ru/catalog/opticheskie_transivery/") self.URLS.append("https://bouz.ru/catalog/servery/") self.URLS.append("https://bouz.ru/catalog/wifi/") self.URLS.append("https://bouz.ru/catalog/sistemy_konferentssvyazi/") self.URLS.append("https://bouz.ru/catalog/telefoniya_voip/") self.URLS.append( "https://bouz.ru/catalog/komplektuyushchie_i_raskhodnye_materialy/" ) # Добавляем e-mail with open("e-mail.txt", 'r') as file: self.e_mail_from = file.readline() self.password = file.readline() self.e_mail_to = file.readline() # Актуальный курс валют rates = ExchangeRates(datetime.date.today()) self.curse = rates['USD'].value logging.basicConfig(filename='app.log', filemode='w', format='%(name)s - %(levelname)s - %(message)s') logging.info("Парсер проинициализирован")
from pycbrf.toolbox import ExchangeRates import os import datetime now = datetime.datetime.now() currency = [] names = [] os.system('cls') print('Выбор валюты:') date = now.date() # Текущая дата data = ExchangeRates(date) # rates = data.rates #Создает список из кодов и имен валют for i in rates: currency.append(i[2]) names.append(i[1]) n = 1 for i in currency: print('{}) ({}) {}'.format(n, i, names[n - 1])) n += 1 num = int(input('Введите номер валюты: ')) if num < len(currency) and num > 0:
def post_cars(request): conn = http.client.HTTPSConnection("gw.hackathon.vtb.ru") with open("tinify_id.txt", "r") as f: tinify.key = f.read().strip() result_data = tinify.from_buffer(request.data.get('content').file.read()).to_buffer() data = {"content": base64.encodebytes(result_data).decode('UTF-8').replace('\n', '')} payload = json.dumps(data) with open("client_id.txt", "r") as f: client_id = f.read() headers = { "x-ibm-client-id": client_id.strip(), "content-type": "application/json", "accept": "application/json" } conn.request("POST", "/vtb/hackathon/car-recognize", payload, headers) res = conn.getresponse() data_1 = res.read().decode("utf-8") conn.request("GET", "/vtb/hackathon/marketplace", headers=headers) res = conn.getresponse() data_2 = res.read().decode("utf-8") data_2_obj = json.loads(data_2) carListValues = list(ast.literal_eval(data_1)["probabilities"].values()) carList = ast.literal_eval(data_1)["probabilities"] carListEnd = list() for el in carListValues: carListEnd.append(float(el)) carListEnd = sorted(carListEnd, reverse=True) hardcode = { "BMW 3": [15, 2], "BMW 5": [15, 4], "Cadillac ESCALADE": [18, 0], "Chevrolet Tahoe": [16, 1], "Hyundai Genesis": '', "Jaguar F-PACE": [13, 4], "KIA K5": [2, 9], "KIA Optima": [2, 8], "KIA Sportage": [2, 7], "Land Rover RANGE ROVER VELAR": [17, 2], "Mazda 3": '', "Mazda 6": [12, 1], "Mercedes A": '', "Toyota Camry": '' } d = datetime.today().strftime("%Y-%m-%d") rates = ExchangeRates(d) cars = { "currency": { "usd": rates["USD"].value, "eur": rates["EUR"].value, "doshirak": 40 }, "list": [] } for f in range(len(carListEnd)): carName = list(carList.keys())[list(carList.values()).index(carListEnd[f])] if hardcode[carName] != '': i = hardcode[carName][0] j = hardcode[carName][1] tempCar = { "title": data_2_obj["list"][i]["title"], "model": data_2_obj["list"][i]["models"][j]["title"], "colors": data_2_obj["list"][i]["models"][j]["colorsCount"], "doors": data_2_obj["list"][i]["models"][j]["bodies"][0]["doors"], "type": data_2_obj["list"][i]["models"][j]["bodies"][0]["title"], "logo": data_2_obj["list"][i]["logo"], "photo": data_2_obj["list"][i]["models"][j]["photo"], "price": data_2_obj["list"][i]["models"][j]["minPrice"], } cars['list'].append(tempCar) carsListTemp = list() for k in range(3): carsListTemp.append(cars['list'][k]) return json.dumps(carsListTemp)
ws.write(i, 6, Formula("E" + str(i + 1) + "*F" + str(i + 1))) i += 1 # Exchange start now = datetime.datetime.now() delta = datetime.timedelta(hours=12) tomorrow = now + delta if now.hour < 12: truedate = now else: truedate = tomorrow dateforcbr = str(truedate.year) + '-' + str(truedate.month) + '-' + str( truedate.day) rates = ExchangeRates(dateforcbr) Ramiskurs = float(rates['USD'].rate) + (float(rates['USD'].rate) * 0.005) ws.write(1, 3, Ramiskurs) # Exchange rate finished # Шапка ws.write(0, 0, 'Наименование') ws.write(0, 1, 'Модель') ws.write(0, 2, 'Цена 1 картриджа в баксах') ws.write(0, 3, 'Курс бакса + полпроцента') ws.write(0, 4, 'Цена 1 картриджа в рублях') ws.write(0, 5, 'Количество картриджей') ws.write(0, 6, 'Сумма') ws.write(i + 1, 5, 'Итого') ws.write(i + 1, 6, Formula("SUM(G2:G" + str(i) + ")"))
def get_rates(date, dict_rates): if date not in dict_rates: dict_rates[date] = ExchangeRates(date) return dict_rates[date]
def __init__(self): initDb = InitializerVacancyDb() self.collection = initDb.get_collection("hh_vacancy") now = datetime.datetime.now().strftime("%Y-%m-%d") self.rates = ExchangeRates(now)
elif event.from_chat: observation = owm.weather_at_place(event.text) w = observation.get_weather() temp = w.get_temperature('celsius')["temp"] vk.messages.send(chat_id=event.chat_id, random_id=event.random_id, message="В городе " + event.text + "🌆 " + "сейчас " + w.get_detailed_status() + '.' + "\nTемпература " + str(temp) + " °C") break if event.text == 'Курс' or event.text == 'курс': #получение курса time = datetime.datetime.now() rates = ExchangeRates(time) cource_uah = rates['UAH'].rate cource_czk = rates['CZK'].rate cource_jpy = rates['JPY'].rate course = rates['USD'].rate course_eur = rates['EUR'].rate if event.from_user: vk.messages.send(user_id=event.user_id, random_id=event.random_id, message='Курс\nДоллар ' + str(course) + '\n' + 'Евро ' + str(course_eur) + '\n' + 'Гривна ' +
def refr(): usdru = ExchangeRates()['USD'].value for obj in BurseCourse.objects.all(): obj.course = obj.course * float(usdru) obj.save()
def callback_woker(call): try: if call.data == 'yes': markup = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True ) item1 = types.KeyboardButton("Да ") item2 = types.KeyboardButton("Нет") item3 = types.KeyboardButton('Возврат в главное меню') markup.add(item1, item2) markup.add(item3) bot.send_message(call.message.chat.id, 'А я доверяю тебе 😏 ') bot.send_message(call.message.chat.id, 'Ты приготовился к игре? 😈 ', reply_markup = markup ) elif call.data == 'no': bot.send_message(call.message.chat.id, f'И Я ТЕБЕ НЕ ДОВЕРЯЮ {random.choice(smiles)}') elif call.data == 'one': keyboard = types.InlineKeyboardMarkup() Yes1 = types.InlineKeyboardButton(text='Да', callback_data='Yes1') keyboard.add(Yes1) No1 = types.InlineKeyboardButton(text="Нет", callback_data='No1') keyboard.add(No1) bot.send_message(call.message.chat.id, 'И так, у тебя ровно одна попытка' + f'\nЗагадай число {random.choice(smiles)}') bot.send_message(call.message.chat.id, 'Загадал?', reply_markup = keyboard) elif call.data == 'two': keyboard = types.InlineKeyboardMarkup() Yes1 = types.InlineKeyboardButton(text='Да', callback_data='Yes1') keyboard.add(Yes1) No1 = types.InlineKeyboardButton(text="Нет", callback_data='No1') keyboard.add(No1) bot.send_message(call.message.chat.id, 'И так, у тебя ровно две попытки' + f'\nЗагадай число {random.choice(smiles)}') bot.send_message(call.message.chat.id, 'Загадал?', reply_markup=keyboard) elif call.data == 'LOL' or call.data == 'LOL1': bot.send_message(call.message.chat.id, f'Ну все <b>шутник</b>, на \nэтом\n шутки и <b>закончились</b> {random.choice(smiles)}', parce_mode = 'html') elif call.data == 'Yes1': keyboard = types.InlineKeyboardMarkup() Yes2 = types.InlineKeyboardButton(text = 'Да', callback_data = 'Yes2') No2 = types.InlineKeyboardButton(text = 'Нет', callback_data = 'No2') keyboard.add(Yes2, No2) bot.send_message(call.message.chat.id, f'И так, ты загадал число {random.randint(1,100)}, я прав? {random.choice(smiles)} ',reply_markup = keyboard ) elif call.data == 'Yes2': keyboard = types.InlineKeyboardMarkup() Yes3 = types.InlineKeyboardButton(text = 'Да', callback_data = 'Yes3') No3 = types.InlineKeyboardButton(text = 'Нет', callback_data = 'No3') keyboard.add(Yes3, No3) bot.send_message(call.message.chat.id, f'Уфф, какой я мощный, ДА? {random.choice(smiles)}', reply_markup = keyboard) elif call.data == 'Yes3' or call.data == 'No3': bot.send_message(call.message.chat.id, f'Все равно я мощный {random.choice(smiles)}') elif call.data == 'VAK': bot.send_message(call.message.chat.id, 'Загружаю...') job = [] i = 0 # One.main() # with open('../Python/text.data', 'r', encoding='utf - 8') as f: # for word in f.readlines(): # job = [work for work in range(1,4)] # bot.send_message(call.message.chat.id, f'{job[0]}\n{job[1]}\n{job[2]}\n{job[3]}') # if i > 3: # i = 0 # job.clear() # else: # i = i + 1 # job.append(word) elif call.data == 'VAK1': job = [] i = 0 bot.send_message(call.message.chat.id, 'Загружаю...') #One.main() with open('../Python/text.data', 'r', encoding='utf - 8') as f: for word in f.readlines(): if i >= 4: i = 0 bot.send_message(call.message.chat.id, f'{job[0]}\n{job[1]}\n{job[2]}\n{job[3]}') job.clear() else: i = i + 1 job.append(word) #print(word) #bot.send_message(call.message.chat.id, f'{word}\n{word}\n{word}') elif call.data == 'No2' or call.data == 'No1': keyboard = types.InlineKeyboardMarkup() Yes3 = types.InlineKeyboardButton(text='Да', callback_data='Yes1') No3 = types.InlineKeyboardButton(text='Нет', callback_data='no') keyboard.add(Yes3, No3) bot.send_message(call.message.chat.id, f'Попробуем еще раз', reply_markup= keyboard) elif call.data == 'Russia': location = covid19.getLocationByCountryCode("RU") date = location[0]['last_updated'].split('T') time = date[1].split(".") final_message = f"<u>Данные по стране Россия:</u>\nНаселение: {location[0]['country_population']:,}\n" \ f"Последнее обновление: {date[0]} {time[0]}\nПоследние данные:\n<b>" \ f"Заболевших: </b>{location[0]['latest']['confirmed']:,}\n<b>Смертей: </b>" \ f"{location[0]['latest']['deaths']:,}" bot.send_message(call.message.chat.id, final_message, parse_mode='html') elif call.data == 'Usa': location = covid19.getLocationByCountryCode("US") date = location[0]['last_updated'].split('T') time = date[1].split(".") final_message = f"<u>Данные по стране США:</u>\nНаселение: {location[0]['country_population']:,}\n" \ f"Последнее обновление: {date[0]} {time[0]}\nПоследние данные:\n<b>" \ f"Заболевших: </b>{location[0]['latest']['confirmed']:,}\n<b>Смертей: </b>" \ f"{location[0]['latest']['deaths']:,}" bot.send_message(call.message.chat.id, final_message, parse_mode='html') elif call.data == 'EU': location = covid19.getLocationByCountryCode("IT") date = location[0]['last_updated'].split('T') time = date[1].split(".") final_message = f"<u>Данные по стране Италия:</u>\nНаселение: {location[0]['country_population']:,}\n" \ f"Последнее обновление: {date[0]} {time[0]}\nПоследние данные:\n<b>" \ f"Заболевших: </b>{location[0]['latest']['confirmed']:,}\n<b>Смертей: </b>" \ f"{location[0]['latest']['deaths']:,}" bot.send_message(call.message.chat.id, final_message, parse_mode='html') elif call.data == 'Ukraine': location = covid19.getLocationByCountryCode("UA") date = location[0]['last_updated'].split('T') time = date[1].split(".") final_message = f"<u>Данные по стране Украина:</u>\nНаселение: {location[0]['country_population']:,}\n" \ f"Последнее обновление: {date[0]} {time[0]}\nПоследние данные:\n<b>" \ f"Заболевших: </b>{location[0]['latest']['confirmed']:,}\n<b>Смертей: </b>" \ f"{location[0]['latest']['deaths']:,}" bot.send_message(call.message.chat.id, final_message, parse_mode='html') elif call.data == 'All': try: location = covid19.getLatest() final_message = f"<u>Данные по всему миру:</u>\n<b>Заболевших: </b>{location['confirmed']:,}\n<b>Сметрей: </b>{location['deaths']:,}" bot.send_message(call.message.chat.id, final_message, parse_mode = 'html') except Exception: bot.edit_message_text(call.message.chat.id, 'Это что еще за покемон?\nОшибка на сервер, сейчас кабанчики подскочат и порешают!') elif call.data == 'Numerator': keyboard = types.InlineKeyboardMarkup() Monday = types.InlineKeyboardButton(text='Понедельник', callback_data='Monday') keyboard.add(Monday) Tuesday = types.InlineKeyboardButton(text="Вторник", callback_data='Tuesday') keyboard.add(Tuesday) Wednesday = types.InlineKeyboardButton(text="Среда", callback_data='Wednesday') keyboard.add(Wednesday) Thursday = types.InlineKeyboardButton(text="Четверг", callback_data='Thursday') keyboard.add(Thursday) Friday = types.InlineKeyboardButton(text="Пятница", callback_data='Friday') keyboard.add(Friday) bot.send_message(call.message.chat.id, "Выбери день недели: ", reply_markup = keyboard) #bot.edit_message_reply_markup(call.message.chat.id, message_id = call.message.message_id-1, reply_markup = '') # remove inline buttons # bot.answer_callback_query(callback_query_id=call.id, show_alert=False, # text="ЭТО ТЕСТОВОЕ УВЕДОМЛЕНИЕ!!11" elif call.data == 'EUR': try: ic = datetime.datetime.now(tz=None) date_time = datetime.datetime.now(tz=None) rates = ExchangeRates(ic) date_time= ic.strftime("%d-%m-%Y") EUR = str(rates['EUR'][4]) bot.send_message(call.message.chat.id, f'На <u>{date_time}:</u> \n1 евро = {EUR[:4]} руб.', parse_mode = 'html') except Exception: bot.edit_message_text(call.message.chat.id, 'Это что еще за покемон?\nОшибка на сервер, сейчас кабанчики подскочат и порешают!') elif call.data == 'USD': try: ic = datetime.datetime.now(tz=None) date_time = datetime.datetime.now(tz=None) rates = ExchangeRates(ic) date_time= ic.strftime("%d-%m-%Y") USD = str(rates['USD'][4]) bot.send_message(call.message.chat.id, f'На <u>{date_time}:</u> \n1 доллар = {USD[:4]} руб.', parse_mode = 'html') except Exception: bot.edit_message_text(call.message.chat.id, 'Это что еще за покемон?\nОшибка на сервер, сейчас кабанчики подскочат и порешают!') elif call.data == 'Monday': bot.send_message(call.message.chat.id, 'Понедельник - Числитель \n1 пара: ТАУ (Практика) \n2 пара: ФИЗ - РА \n3 пара: Электротехника (Лекция) ') elif call.data == 'Tuesday': bot.send_message(call.message.chat.id, 'Вторник - Числитель \n1 пара: Алгоритмизация и программирование (Лекция) \n2 пара: Электробезопасность (Лекция) \n3 пара: Электротехика (Курсовая) ') elif call.data == 'Wednesday': bot.send_message(call.message.chat.id, 'Среда - Числитель \n1 пара: ТАУ (Лекция) \n2 пара: ТАУ (Лабораторная) \n ') elif call.data == 'Thursday': bot.send_message(call.message.chat.id, 'Четверг - Числитель \n1 пара: Электроника (Лекция) \n2 пара: Прикладная Механика (Лекция) \n ') elif call.data == 'Friday': bot.send_message(call.message.chat.id, 'Пятница - Числитель \n1 пара: Электроника (Лабораторная) \n2 пара: Базы Данных (Лабораторная) \n3 пара: Электротехника (Практика) ') elif call.data == 'Monday1': bot.send_message(call.message.chat.id, 'Понедельник - Знаменатель \n2 пара: ФИЗ - РА \n3 пара: Электротехника (Лекция) ') elif call.data == 'Tuesday1': bot.send_message(call.message.chat.id, 'Вторник - Знаменатель \n1 пара: Алгоритмизация и программирование (Практика) \n2 пара: Электробезопасность (Пратика) \n3 пара: Электротехника (Курсовая) ') elif call.data == 'Wednesday1': bot.send_message(call.message.chat.id, 'Среда - Знаменатель \n1 пара: Датчики (Лекция) \n2 пара: Датчики (Практика) \n3 пара: Электротехника (Лабораторная) ') elif call.data == 'Thursday1': bot.send_message(call.message.chat.id, 'Четверг - Знаменатель \n1 пара: Электроника (Лекция) \n2 пара: Прикладная Механика (Лекция) \n 3 пара: Прикладная Механика (Практика)') elif call.data == 'Friday1': bot.send_message(call.message.chat.id, 'Пятница - Знаменатель \n1 пара: Алгоритмизция и программирование (Лабораторная) \n2 пара: Базы Данных (Лабораторная) \n3 пара: Базы Данных (Лекция) ') elif call.data == 'Denominator': keyboard = types.InlineKeyboardMarkup() Monday1 = types.InlineKeyboardButton(text='Понедельник', callback_data='Monday1') keyboard.add(Monday1) Tuesday1 = types.InlineKeyboardButton(text="Вторник", callback_data='Tuesday1') keyboard.add(Tuesday1) Wednesday1 = types.InlineKeyboardButton(text="Среда", callback_data='Wednesday1') keyboard.add(Wednesday1) Thursday1 = types.InlineKeyboardButton(text="Четверг", callback_data='Thursday1') keyboard.add(Thursday1) Friday1 = types.InlineKeyboardButton(text="Пятница", callback_data='Friday1') keyboard.add(Friday1) bot.send_message(call.message.chat.id, 'Выбери день недели: ', reply_markup=keyboard) bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text= call.message.text, reply_markup='') except Exception: bot.edit_message_text(call.message.chat.id, 'Это что еще за покемон?\nОшибка на сервер, сейчас кабанчики подскочат и порешают!')
def get_course_to_rub(currency): rates = ExchangeRates(get_now()) rate_currency = rates[currency] if rate_currency != None: return round(Decimal(rate_currency.value), 2) return -1
def get_usd(): rates = ExchangeRates(datetime.now().date()) usd_rub = float(rates['USD'].value) return usd_rub
def sign_in(self): try: self.base_payload["platform"] = "mobile_android" self.base_payload["clientId"] = self.account['login'] payload = self.base_payload payload["random"] = get_random_str() payload["sign"] = "secret password" msg = get_dumped_payload(payload) sign = hmac.new(key=sha512(self.account['password'].encode()).hexdigest().encode(), msg=msg.encode(), digestmod=sha512).hexdigest() payload["sign"] = sign data = get_dumped_payload(payload) prnt('BET_FONBET.PY: Fonbet, sign_in request: ' + str(self.common_url) + ', ' + str(self.account['password'].encode()) + ' ' + str(data), 'hide') req_time_start = round(time.time()) resp = requests_retry_session_post( self.common_url.format("loginById"), headers=self.fonbet_headers, data=data, verify=False, timeout=self.timeout, proxies=self.proxies ) prnt('BET_FONBET.PY: Fonbet, sign_in responce: ' + str(resp.status_code) + ' ' + resp.text, 'hide') check_status_with_resp(resp) res = resp.json() prnt('BET_FONBET.PY: Fonbet, sign_in request: ' + str(resp.status_code)) if res.get('result', '') == 'error': if 'duplicate random value' in res.get('errorMessage'): random_time = uniform(1, 3) prnt('random_time: ' + str(random_time)) time.sleep(random_time) prnt('current pid: ' + str(os.getpid()) + ', sec: ' + str(round(time.time()) - req_time_start)) raise LoadException('Fonbet: ' + res.get('errorMessage')) if "fsid" not in res: err_str = 'BET_FONBET.PY: key "fsid" not found in response: ' + str(res) prnt(err_str) raise LoadException("BET_FONBET.PY: " + err_str) payload["fsid"] = res["fsid"] self.fsid = res["fsid"] # 'currency': {'currency': 'RUB', 'fracSize': 0, 'betRoundAccuracy': 1, 'rate': 1} self.currency = res.get("currency").get("currency") self.balance = float(res.get("saldo")) self.balance_in_play = float(res.get("scopeMarket", 0)) if self.currency == 'RUB': self.balance = self.balance // 1 else: from pycbrf.toolbox import ExchangeRates rates = ExchangeRates() self.cur_rate = float(rates['EUR'].value) prnt('BET_FONBET.PY: get current rate {} from bank:{} [{}-{}]'.format(self.currency, self.cur_rate, rates.date_requested, rates.date_received)) balance_old = self.balance self.balance = self.balance * self.cur_rate // 10 * 10 prnt('BET_FONBET.PY: balance convert: {} {} = {} RUB'.format(balance_old, self.cur_rate, self.balance)) self.limit_group = res.get("limitGroup") self.pay_blocked = res.get("attributes", {}).get("payBlocked") if self.pay_blocked: self.pay_blocked = 'Да' else: self.pay_blocked = 'Нет' self.live_blocked = res.get("attributes", {}).get("liveBlocked") if self.live_blocked: self.live_blocked = 'Да' else: self.live_blocked = 'Нет' self.sell_blocked = res.get('attributes', {}).get("sellBlocked") if self.sell_blocked: self.sell_blocked = 'Да' else: self.sell_blocked = 'Нет' self.payload = payload prnt('BET_FONBET.PY: balance: ' + str(self.balance)) # self._check_in_bounds(payload, 30) except LoadException as e: prnt(e) raise ValueError(e) except Exception as e: self.attempt_login += 1 if self.attempt_login > 3: str_err = 'Attempt login many: ' + str(self.attempt_login) + ', err: ' + str(e) + ', resp: ' + str( resp.text) prnt(str_err) raise ValueError(str_err) prnt(e) time.sleep(5) return self.sign_in()
def exchangeRate(code): return ExchangeRates(strftime("%Y-%m-%d"))[code]
cur_time=a.split('-')[0]+'-'+a.split('-')[1]+'-'+a.split('-')[2] print(cur_time) class users(): def new(id_user): a=open('users.db') dump=a.read() a.close() a=open('users.db','w') a.write(dump+'\n') a.write(str(id_user)) print('New user succeful added to db') # Запрашиваем данные на 26-е июня. rates = ExchangeRates(cur_time) rates.date_requested # 2016-06-26 00:00:00 rates.date_received # 2016-06-25 00:00:00 # 26-е был выходной, а курс на выходные установлен 25-го rates.dates_match # False bot = telebot.TeleBot('917894932:AAEiMHPRsBB5SquDTQlW77yG2GyghtQ-3EA'); apihelper.proxy = { 'http': 'http://177.87.39.104:3128', 'https': 'https://177.87.39.104:3128', # Замените на данные своего proxy } @bot.message_handler(content_types=['text']) def get_text_messages(message):
import COVID19Py # для работы с информацией о COVID-19 import requests # для работы с API погоды import telebot # для работы с ботом from pycbrf.toolbox import ExchangeRates # для работы с базой данных Центробанка # токен bot = telebot.TeleBot('1125432380:AAE5heK6G69ZM6Dz2nmBrpBpHjL0G0Is63E') # дата today = datetime.datetime.today() datenow = today.strftime("%Y-%m-%d-%H.%M.%S")[0:-9] # список валют по сегодняшней дате rates = ExchangeRates(datenow) # ключ доступа к сервису OpenWeatherMap api_key = "29b80b85e54d33543a13a5962a8185cb" # для отправки запросв погоды base_url = "http://api.openweathermap.org/data/2.5/weather?" covid19 = COVID19Py.COVID19() # начало работы @bot.message_handler(commands=['start']) def start_message(message): bot.send_message(message.chat.id, 'Здравствуй.') bot.send_message(message.chat.id, "Напиши мне /help, чтобы узнать, что я могу сделать!")
from pycbrf.toolbox import ExchangeRates import os data = '2019-05-08' os.system('cls') print('Что смотрим? USD или EUR?') cons = input('Введи сюда: ') os.system('cls') if cons == '': print('Путое значение! Выбрана валюта по умолчанию') type = 'USD' elif cons in ('USD', 'usd', 'dollar', 'доллар'): type = 'USD' elif cons in ('EUR', 'eur', 'euro', 'евро'): type = 'EUR' else: print('Ошибка! Выбрана валюта по умолчанию') type = 'USD' rates = ExchangeRates(data) name = rates[type].name value = rates[type].value print('''Курс валюты! v0.1 Название: {} Дата: {} Значение: {} руб.'''.format(name, data, value))
import datetime from pycbrf.toolbox import ExchangeRates from tkinter import * rates = ExchangeRates(datetime.date.today()) rates.date_requested # выбранная Дата- 00:00:00 rates.date_received # выбранная Дата- 00:00:00 # 26-е был выходной, а курс на выходные установлен 25-го rates.dates_match # False # Список всех курсов валют на день доступ в rates.rates. # Поддерживаются разные идентификаторы валют: rates['USD'].name # Доллар США rates['R01235'].name # Доллар США rates['840'].name # Доллар США #print(rates['USD'].value) #print(rates['R01235'].name) #print(rates['EUR'].name) #print('Сейчас: ',(datetime.datetime.now())) root = Tk() e = Entry(root, width=200) b = Button(root, text='Перевести') l = Label(root, bg='white', fg='black', width=200) def strToSortlist(event): s = e.get() s = s.split() s.sort() l['text'] = ' '.join(s)
from pymongo import MongoClient from pprint import pprint from pycbrf.toolbox import ExchangeRates import datetime client = MongoClient('localhost', 27017) db = client['vacancy'] hh = db.hh_vacancy #hh.delete_many({}) salary = 10000 now = datetime.datetime.now().strftime("%Y-%m-%d") rates = ExchangeRates(now) print(rates['KZT'].value) list = hh.find( { '$or' : [ { '$and': [ {'currency': 'руб'}, { '$or': [ {'price_min': {'$gt': salary}}, {'price_max': {'$gt': salary}}