Best Python code snippet using Kiwi_python
similar_string.py
Source: similar_string.py
...63 return64 if not isinstance(node.args[0], astroid.nodes.Const):65 return66 translation_string = node.args[0].value67 self.check_similar_and_add_error_message(node, translation_string)68 # check if similar string found and add it to error_messages69 def check_similar_and_add_error_message(70 self, node, translation_string, **error_message71 ):72 if translation_string in self._dict_of_strings:73 return74 similar_string, similarity = self.check_similar_string(translation_string)75 if similar_string:76 if isinstance(node, str):77 error_message["node"] = astroid.Module(node, file=node, doc=None)78 else:79 error_message["node"] = node80 error_message["args"] = (81 translation_string,82 similarity * 100,83 similar_string,84 )85 self.error_messages.append(error_message)86 return87 self._dict_of_strings[translation_string] = True88 # checks each line and find trans or blocktrans tags89 def parse_translation_string(self, filename, lines):90 startline = 091 startcol = 092 blocktrans_string = ""93 for lineno, line in enumerate(lines):94 # if pylint disable comment is found ignore and continue with next line95 if re.search(r"<!--\s*pylint\s*:\s*disable\s*-->", line):96 continue97 # if blocktrans starting tag is found98 match_blocktrans_in_line = re.search(r"{% blocktrans[^%}]*%}(.+)", line)99 if match_blocktrans_in_line:100 startline = lineno101 startcol = match_blocktrans_in_line.start(1)102 blocktrans_string = match_blocktrans_in_line.group(1)103 # if line after blocktrans is found104 elif blocktrans_string != "":105 blocktrans_string += line106 # if blocktrans ending tag is found107 endblocktrans_line = re.search(108 r"((.|\n|)*){% endblocktrans %}", blocktrans_string109 )110 if endblocktrans_line:111 blocktrans_string = endblocktrans_line.group(1)112 self.check_similar_and_add_error_message(113 filename,114 blocktrans_string,115 line=startline + 1,116 col_offset=startcol,117 )118 blocktrans_string = ""119 # if trans tag is found120 # Note: trans tag could be more than one in same121 # line, hence re.finditer rather than re.search)122 match_in_line = re.finditer(r'{% trans "([\w ]+)" %}', line)123 for match in match_in_line:124 translation_string = match.group(1)125 self.check_similar_and_add_error_message(126 filename,127 translation_string,128 line=lineno + 1,129 col_offset=match.start(1),130 )131 def close(self):132 for filepath in self.all_template_files:133 with open(filepath, "r", encoding="utf-8") as file:134 self.parse_translation_string(filepath, file.readlines())135 for error_message in self.error_messages:...
Check out the latest blogs from LambdaTest on this topic:
Howdy testers! If you’re reading this article I suggest you keep a diary & a pen handy because we’ve added numerous exciting features to our cross browser testing cloud and I am about to share them with you right away!
Xamarin is an open-source framework that offers cross-platform application development using the C# programming language. It helps to simplify your overall development and management of cross-platform software applications.
There are times when developers get stuck with a problem that has to do with version changes. Trying to run the code or test without upgrading the package can result in unexpected errors.
Greetings folks! With the new year finally upon us, we’re excited to announce a collection of brand-new product updates. At LambdaTest, we strive to provide you with a comprehensive test orchestration and execution platform to ensure the ultimate web and mobile experience.
Lack of training is something that creates a major roadblock for a tester. Often, testers working in an organization are all of a sudden forced to learn a new framework or an automation tool whenever a new project demands it. You may be overwhelmed on how to learn test automation, where to start from and how to master test automation for web applications, and mobile applications on a new technology so soon.
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!!