Best Python code snippet using avocado_python
generator
Source:generator  
1#!/usr/bin/python32#-*- coding=utf-8 -*-3from mailmerge import MailMerge4from csv import DictReader5def csv_read(path, d):6    '''7    '''8    9    return DictReader(open(path, 'r'), delimiter=d)10def passport_prepare(pass_str, string_limit):11    '''12    '''13    strlim = int(string_limit)14    passport = ['','','']15    current_id = 016    # TODO: Fix that -17    if len(pass_str) > strlim:18        temp1 = pass_str[:strlim]19        l_pass = temp1.rfind(u' ')20        passport[0] = pass_str[:l_pass]21        pass_str = pass_str[l_pass:]22        if len(pass_str) > strlim:23            temp2 = pass_str[:strlim]24            l_pass = temp2.rfind(u' ')25            passport[1] = pass_str[:l_pass]26            pass_str = pass_str[l_pass:]27            if len(pass_str) > 0:28                passport[2] = pass_str29        else:30            passport[1] = pass_str31    else:32        passport[0] = pass_str33    34    return passport35def fill_form(user, template, string_limit, out_path):36    '''37    '''38    passport = passport_prepare(user['pass_seria']+' '+user['pass_number']+', вÑдан '+user['pass_wh_date']+' '+user['pass_wh'], string_limit)39    with MailMerge(template) as document:40        document.merge(41            FullName=user['secondname']+' '+user['firstname']+' '+user['thirdname'],42            SurName=user['secondname'],43            GivenName=user['firstname']+' '+user['thirdname'] if user['thirdname'] != '' else user['firstname'],44            Title=user['title'],45            OrgUnit=user['orgunit'],46            Email=user['email'],47            SNILS=user['snils'],48            ShortName=user['secondname']+' '+user['firstname'][0]+'.'+user['thirdname'][0]+'.' if user['thirdname'] != '' else user['secondname']+' '+user['firstname'][0]+'.',49            Passport_1=passport[0],50            Passport_2=passport[1],51            Passport_3=passport[2]52            )53        document.write(out_path+user['email'][:user['email'].find('@')]+".docx")54        55def clicker(users, template, string_limit, out_path):56    '''57    '''58    59    for user in users:60        fill_form(user, template, string_limit, out_path)61        print(user['email'][:user['email'].find('@')]+' done.')62def launcher():63    64    #####65    # Settings66    #####67    # Site168    input_file_s1 = './src/in_s1.csv'69    template_s1 = './templates/form_s1.docx'70    out_path_s1 = './output/s1/'71    # Site272    input_file_s2 = './src/in_s2.csv'73    template_s2_op1 = './templates/form_s2_op1.docx'74    template_s2_op2 = './templates/form_s2_op2.docx'75    out_path_s2 = './output/s2_op1/'76    out_path_s2 = './output/s2_op2/'77    # Site378    input_file_s3 = './src/in_s3.csv'79    template_s3 = './templates/form_s3.docx'80    out_path_s3 = './output/s3/'81    # CSV delimiter82    dlm = ';'83    # Passport string symbol limit on a row84    string_limit = 9885    #####86    # Run87    ####88    89    clicker(csv_read(input_file_s2, dlm), template_s2_op1, string_limit, out_path_s2_op1)90    clicker(csv_read(input_file_s2, dlm), template_s2_op2, string_limit, out_path_s2_op2)91    clicker(csv_read(input_file_s1, dlm), template_s1, string_limit, out_path_s1)92    clicker(csv_read(input_file_s3, dlm), template_s3, string_limit, out_path_s3)93if __name__ == '__main__':...d2.py
Source:d2.py  
1with open('data/d2.data') as dataStream:2    rawData = dataStream.read().splitlines()3class Record:4    def __init__(self, word_min, word_max, pass_char, pass_str):5        self.word_min = int(word_min)6        self.word_max = int(word_max)7        self.pass_char = pass_char8        self.pass_str = pass_str9    def __repr__(self):10        return "min {} max {} char {} string {} \n".format(self.word_min, self.word_max, self.pass_char,  self.pass_str  )11def process_data(data):12    records = []13    for d in data:14        records.append(Record(d[0:d.find('-')], 15                        d[d.find('-')+1:d.find(' ')], 16                        d[d.find(' ')+1:d.find(':')],17                        d[d.find(':')+2:len(d)]))18    return records19def num_valid_partone(tuples):20    print("num tuples:{}".format(len(tuples)) )21    errors = 022    for r in tuples:23        occurences = r.pass_str.count(r.pass_char)24        if occurences < r.word_min:25            errors += 126        elif occurences > r.word_max:27            errors += 128    print("num errors detected:{}".format(errors))29    print("num correct: {}".format(len(tuples) - errors))30def num_invalid(tuples):31    errors=032    for rec in tuples:33        if rec.pass_str[rec.word_min - 1] == rec.pass_char:34            if rec.pass_str[rec.word_max - 1] == rec.pass_char:35                errors += 136        if rec.pass_str[rec.word_min - 1] != rec.pass_char:37            if rec.pass_str[rec.word_max - 1] != rec.pass_char:38                errors += 139    return errors40d = process_data(rawData)...day4a.py
Source:day4a.py  
1import re2pass_str = ''3pass_strings = []4valid_count = 05with open("day4.txt") as f:6    for line in f:7        if line.strip() != "":8            if pass_str == '':9                pass_str += line.strip()10            else:11                pass_str += " "12                pass_str += line.strip()13        else:14            pass_strings.append(pass_str)15            pass_str = ''16# I now have a List of passport strings with space-separated values17# print(len(pass_strings))18# patterns = ['byr:[0-9]{4,}', 'iyr:[0-9]{4,}', 'eyr:[0-9]{4,}', 'hgt:[0-9]+[a-z]+', 'hcl:#[0-9a-zA-Z]{6,}', 'ecl:[a-zA-Z]+', 'pid:[0-9]+']19patterns = ['byr:[0-9a-zA-Z#]+', 'iyr:[0-9a-zA-Z#]+', 'eyr:[0-9a-zA-Z#]+', 'hgt:[0-9a-zA-Z#]+', 'hcl:[0-9a-zA-Z#]+', 'ecl:[0-9a-zA-Z#]+', 'pid:[[0-9a-zA-Z#]+']20valid = True21for string in pass_strings:22    for pattern in patterns:23        if not re.search(pattern, string):24            valid = False    25    if valid == True:26        valid_count += 127    else:28        valid = True...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
