Best Python code snippet using avocado_python
Cit.py
Source:Cit.py  
...168            solution = [x for x in matrix[row_index]]169            for index, item in enumerate(parameters):170                solution[item] = combination[index]171            if self.combination_matrix.is_valid_combination(solution, parameters):172                self.combination_matrix.uncover_combination(matrix[row_index], parameters)173                self.combination_matrix.cover_combination(solution, parameters)174                if self.combination_matrix.total_uncovered < best_uncover:175                    best_uncover = self.combination_matrix.total_uncovered176                    best_solution = solution177                    best_row_index = row_index178                self.combination_matrix.uncover_combination(solution, parameters)179                self.combination_matrix.cover_combination(matrix[row_index], parameters)180                if best_uncover == 0:181                    break182        return best_solution, best_row_index, parameters183    def get_missing_combination_random(self):184        """185        Randomly finds one missing combination.186        :return: parameter of combination and values of combination187        """188        possible_parameters = list(self.combination_matrix.uncovered_rows)189        combination_parameters_index = random.randint(0, len(possible_parameters) - 1)190        combination_parameters = possible_parameters[combination_parameters_index]191        combination_row = self.combination_matrix.get_row(combination_parameters)192        possible_combinations = list(combination_row.get_all_uncovered_combinations())193        combination_index = random.randint(0, len(possible_combinations) - 1)194        combination = possible_combinations[combination_index]195        return combination_parameters, combination196    def change_one_column(self, matrix):197        """198        Randomly choose one column of the matrix. In each cell of this column199        changes value. The row with the best coverage is the solution.200        :param matrix: matrix to be changed201        :return: solution, index of solution inside matrix and parameters which has been changed202        """203        column_index = random.randint(0, len(self.data) - 1)204        best_uncover = float("inf")205        best_solution = []206        best_row_index = 0207        for row_index in range(len(matrix)):208            try:209                solution, row_index, parameters = self.change_one_value(matrix, row_index, column_index)210            except ValueError:211                continue212            self.combination_matrix.uncover_combination(matrix[row_index], parameters)213            self.combination_matrix.cover_combination(solution, parameters)214            if self.combination_matrix.total_uncovered < best_uncover:215                best_uncover = self.combination_matrix.total_uncovered216                best_solution = solution217                best_row_index = row_index218            self.combination_matrix.uncover_combination(solution, parameters)219            self.combination_matrix.cover_combination(matrix[row_index], parameters)220            if best_uncover == 0:221                break222        return best_solution, best_row_index, [column_index]223    def change_one_value(self, matrix, row_index=None, column_index=None):224        """225        Change one cell inside the matrix226        :param matrix: matrix to be changed227        :param row_index: row inside matrix. If it's None it is chosen randomly228        :param column_index: column inside matrix. If it's None it is chosen randomly229        :return: solution, index of solution inside matrix and parameters which has been changed230        """231        is_cell_chosen = True232        if row_index is None:233            is_cell_chosen = False...collecter.py
Source:collecter.py  
1import mysql.connector2from collections import defaultdict3import pickle4import boto35bucket_name = "bandreco"6key_to_pickle = "outputs.pickle"7def get_max_view_combi():8    mydb = mysql.connector.connect(9        host="metaband.space", user="band", passwd="dlrjsqlalf", database="bandcruit"10    )11    cur = mydb.cursor()12    query = """13    SELECT covers.audio, covers.song_id, filterd_comb.comb_id14    FROM Cover covers15    INNER JOIN Cover_Combination cc 16    ON covers.id = cc.cover_id17    INNER JOIN 18    (SELECT comb.song_id, comb.id AS comb_id FROM(19        SELECT ANY_VALUE(comb.id) AS id, max(comb.view) AS view20        FROM Combination comb21        GROUP BY song_id) c_max22        INNER JOIN Combination comb ON c_max.id = comb.id) filterd_comb 23    ON filterd_comb.comb_id = cc.combination_id24    """25    cur.execute(query)26    covers = defaultdict(list)27    song_comb = dict()28    for audio, song_id, comb_id in cur:29        song_comb[song_id] = comb_id30        covers[song_id].append(audio)31    cur.close()32    mydb.close()33    outputs = {34        song_id: {"combination_id": song_comb[song_id], "audios": audios}35        for song_id, audios in covers.items()36    }37    return outputs38def load_output_from_s3():39    try:40        s3 = boto3.resource("s3")41        return pickle.loads(42            s3.Bucket(bucket_name).Object(key_to_pickle).get()["Body"].read()43        )44    except Exception as e:45        print(e)46        return {}47def save_output_to_s3(outputs):48    save_to_s3(outputs, key_to_pickle)49def save_to_s3(output, key):50    try:51        s3 = boto3.resource("s3")52        s3.Bucket(bucket_name).Object(key).put(Body=pickle.dumps(output))53    except Exception as e:...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!!
