def add_friends(account_id, users): users_no_friends = get_no_friends_only(users) no_friends_count = len(users_no_friends) limit = get_random_int(30, 40) log_info('Найдено {len}/{all} чел.'.format(len=no_friends_count, all=len(users))) count = 1 while count < limit and len(users_no_friends) >= 1: random_index = get_random_int(0, (len(users_no_friends) - 1)) user = users_no_friends.pop(random_index) log_info( '[{random}/{all}] Пользователь: id{id}, {first_name} {last_name}.'. format(random=random_index, all=len(users), id=user.user_id, first_name=user.first_name, last_name=user.last_name)) if add_quickly(account_id=account_id, user_model=user) == 1: random_seconds = get_random_int(500, 800) log_info(' {message}: {count}.'.format(message='Подписано', count=count)) sleep(random_seconds) count += 1 if count >= limit: break log_info( '::: [END] Подписано: {count}/{len}, осталось {delta}. :::'.format( count=count - 1, len=limit, delta=no_friends_count - (count - 1)))
def likes_users_photo_account(account_id, users, limit): users = delete_users_without_photo(users) count_all_users_with_photo = len(users) log_info('Найдено {len} чел.'.format(len=len(users))) count = 1 if not limit: limit = get_random_int(10, 30) while count < limit and len(users) >= 1: random_index = random.randint(0, len(users) - 1) user = users.pop(random_index) log_info('[{random}/{all}] Пользователь: id{id}, {first_name} {last_name}.'.format( random=random_index, all=len(users), id=user.user_id, first_name=user.first_name, last_name=user.last_name)) if add_like_to_profile_photo(account_id=account_id, user=user): # random_seconds = get_random_int(30, 50) random_seconds = get_random_int(70, 150) log_info(' {message}: {count}.'.format(message='Лайк', count=count)) sleep(random_seconds) count += 1 else: log_info(' [skip] Пользователь уже имеет лайк к фото.') random_seconds = get_random_int(12, 15) sleep(random_seconds) log_info('::: [END] Лайкнуто: {count}/{len} :::'.format(count=count - 1, len=count_all_users_with_photo))
def run_sender(age_from, age_to): start = timer() sec = get_random_int(60, 1000) logger.log_info(u'Задержка: {min}min {sec}s.'.format(min=sec // 60, sec=sec % 60)) sleep(sec) offset = 0 count = 0 status = 'PASS' message = '' try: for item in numbers_tokens: logger.log_step('{count}. {number}'.format(count=item[3], number=item[0])) logger.log_info(u'Смещение: {offset}.'.format(offset=offset)) users = search_birthday_users(token=item[1], offset=offset, age_from=age_from, age_to=age_to) send_count = send_birthday_messages(token=item[1], users=users, max_count=item[2]) count = count + send_count offset = offset + 30 sec = get_random_int(60, 200) logger.log_info( u'Задержка перед сменой номера: {min}min {sec}s.'.format( min=sec // 60, sec=sec % 60)) sleep(sec) logger.log_info('') logger.log_info( u'Всего отправлено сообщений: {count}. Среднее значение: {mid}.'. format(count=count, mid=count / len(numbers_tokens))) except Exception as error: status = 'FAIL' logger.log_pretty_json(json_message=error.args) assert False finally: end = timer() duration_sec = end - start duration_min = duration_sec // 60 sec_rest = duration_sec % 60 duration_hours = duration_min // 60 min_rest = duration_min % 60 duration_str = '{hours}h {min}min {sec}s'.format( hours=int(duration_hours), min=int(min_rest), sec=int(sec_rest)) message = 'Duration: {duration}\nCount: {count}'.format(duration=str(duration_str), count=count) \ + message logger.__del__() attached_file = logger.file_name send_email_with_attach(message=message, attached_file=attached_file, subject='{status}. {count} messages.'.format( status=status, count=count))
# coding=utf-8 from time import sleep from framework.support.commonFunctions import get_random_int from framework.utils.email_sender import send_email_with_attach from project.steps.messagesSteps import send_birthday_messages_sto325 from project.steps.usersSteps import search_birthday_users from timeit import default_timer as timer from framework.support.MyLogger import MyLogger numbers_tokens = [ [ "29 6235325", "eed19b302144ead88c4e7c798689033343374bbbefc3c58986bf695642895a3ee1d1d37d35d88e451cf3d", get_random_int(10, 15) ], # ["29 5375325", "95db3f151cf1e653017054624402b9c3390a936b3e0444317ec13ed8b5a8897fefb4baf4d3040d1170ba0", get_random_int(10, 15)], # ["25 7175325", "1d5ad974a8c4ae0b4d1ee4ce28f342fdb2549d5b2bbcfda670ba6b9a73e69c37c767c6ca27280a8f90a1d", get_random_int(10, 15)] ] logger = MyLogger() def run_sender(age_from, age_to): start = timer() # sec = get_random_int(60, 1000) # logger.log_info('Задержка: {min}min {sec}s.'.format(min=sec//60, sec=sec % 60)) # sleep(sec) offset = 0 count = 0 status = 'PASS'
# coding=utf-8 from time import sleep from framework.support.commonFunctions import get_random_int from framework.utils.email_sender import send_email_with_attach from project.steps.messagesSteps import send_birthday_messages from project.steps.usersSteps import search_birthday_users from timeit import default_timer as timer from framework.support.MyLogger import MyLogger numbers_tokens = [ # ["25 7214755", "f60f2697290084269401c30cc12297965909f411c681fde1b7dc2fc77daf6ffde8a04659d272f80677dbf", get_random_int(4, 8), '1'], # ["25 9071166", "d7d021d6f7e9315692829c9aea08637f2abe615e5d42a70b7d79f87b53679bb69f38265bcfcf313664d96", get_random_int(3, 6), '2'], [ "25 9005346", "84ac09b524802cd6143cefe519ad3965e30f08a8ff53999ed99bb213a0952af932a90c0a1172ee6db62da", get_random_int(3, 6), '3' ], [ "25 9062961", "9e2ae486f5d2633e68580ea8d8573c1371992aeadeadcd7281894b2a496c1bf5c4cef40df449c6e924b5b", get_random_int(3, 6), '4' ], [ "25 9068942", "dc568b2d1365acc0a60bcf7fd9317962f0992d2bc2178568f940c64ef713d5b92630194f4ce0fb7e958dd", get_random_int(3, 6), '5' ], [ "25 9056798", "ed185560b68d089c1db724d02a51ba5e5f91874a6eca3bd726e3d837914e48767092ec492e74ed2f0c78b", get_random_int(3, 6), '6'