def make_basket_record(user_id): # get user user = db.get_user_byid(user_id) # get basket basket = db.get_basket_by_userid(user_id) # use creds to create a client to interact with the Google Drive API scope = ['https://spreadsheets.google.com/feeds'] creds = ServiceAccountCredentials.from_json_keyfile_name('config/client_secret.json', scope) client = gspread.authorize(creds) # Find a workbook by key and open the first sheet sheet = client.open_by_key(ORDER_KEY).sheet1 now = datetime.datetime.now() date = str(now.date()) + '.' + str(now.month) + '.' + str(now.year) + ' ' + str(now.hour) + ':' + str(now.minute) user_name = user[2] telegram_username = user[7] user_telephone = user[3] order_number = basket[6] order_list = calculate_order(user_id) order_list_final = '' for a in order_list: order_list_final = order_list_final + a + 'шт., ' comments = basket[3] payment_metode = basket[5] delivery_adress = user[5] delivery_date = basket[4] total_price = basket[2] data = [date, user_id, user_name, telegram_username, user_telephone, order_number, order_list_final, comments, payment_metode, delivery_adress, delivery_date, total_price] sheet.append_row(data)
def get_basket(message): user_id = message.from_user.id try: basket = db.get_basket_by_userid(user_id) return basket except TypeError: return None
def get_list_of_order(message): user_id = message.from_user.id try: basket = db.get_basket_by_userid(user_id) orders = basket[1] orders = orders.split(';') orders = orders[0:-1] return orders except TypeError: return None
def calculate_order(user_id): try: basket = db.get_basket_by_userid(user_id) orders = basket[1] orders = orders.split('; ') orders = orders[0:-1] count = Counter(orders) lists_of_count = list(count) result = [] for element in lists_of_count: result.append(str(element) + ' x ' + str(count[element])) return result except TypeError: return None
def add_order_to_basket(message, journal): user_id = message.from_user.id basket = db.get_basket_by_userid(user_id) order = 'vol: ' + str(journal[0]) + ' ' + str(journal[1]) + '; ' journal_price = 300 if basket: basket_order = basket[1] basket_order = basket_order + order basket_price = basket[2] basket_price = basket_price + journal_price db.add_order_to_basket(user_id, basket_order) db.add_price_to_basket(user_id, basket_price) elif not basket: db.add_new_order_to_basket(user_id, order)
def add_cover_to_basket(message): user_id = message.from_user.id user = db.get_user_byid(user_id) cover_price = 30 if user[6] == 1: cover = 'в подарочной упаковке; ' elif user[6] == 2: cover = 'в святковій обкладинці; ' # db.add_cover_to_basket(user_id) basket = db.get_basket_by_userid(user_id) basket_order = basket[1] basket_order = basket_order[0:-2] basket_order = basket_order + ' ' + cover db.add_order_to_basket(user_id, basket_order) basket_price = basket[2] basket_price = basket_price + cover_price db.add_price_to_basket(user_id, basket_price)