MCPcopy Create free account
hub / github.com/seleniumbase/SeleniumBase / process_test_file

Function process_test_file

seleniumbase/translate/translator.py:103–265  ·  view source on GitHub ↗
(code_lines, new_lang)

Source from the content-addressed store, hash-verified

101
102
103def process_test_file(code_lines, new_lang):
104 detected_lang = None
105 changed = False
106 found_bc = False # Found BaseCase or a translation
107 seleniumbase_lines = []
108 lang_codes = MD_L_Codes.lang
109 nl_code = lang_codes[new_lang] # new_lang language code
110 dl_code = None # detected_lang language code
111 md = MD.md # Master Dictionary
112
113 for line in code_lines:
114 line = line.rstrip()
115
116 # Find imports that determine the language
117 if line.lstrip().startswith("from seleniumbase") and "import" in line:
118 added_line = False
119 for lang in MD_F.get_languages_list():
120 data = re.match(
121 r"^\s*" + MD_F.get_import_line(lang) + r"([\S\s]*)$", line
122 )
123 if data:
124 comments = "%s" % data.group(1)
125 new_line = None
126 detected_lang = lang
127 dl_code = lang_codes[detected_lang]
128 if detected_lang != new_lang:
129 changed = True
130 new_line = MD_F.get_import_line(new_lang) + comments
131 else:
132 found_bc = True
133 new_line = line
134 if new_line.endswith(" # noqa"): # Remove flake8 skip
135 new_line = new_line[0 : -len(" # noqa")]
136 seleniumbase_lines.append(new_line)
137 added_line = True
138 break
139 data = re.match(
140 r"^\s*" + MD_F.get_mqa_im_line(lang) + r"([\S\s]*)$", line
141 )
142 if data:
143 comments = "%s" % data.group(1)
144 new_line = None
145 detected_lang = lang
146 dl_code = lang_codes[detected_lang]
147 if detected_lang != new_lang:
148 changed = True
149 new_line = MD_F.get_mqa_im_line(new_lang) + comments
150 else:
151 found_bc = True
152 new_line = line
153 if new_line.endswith(" # noqa"): # Remove flake8 skip
154 new_line = new_line[0 : -len(" # noqa")]
155 seleniumbase_lines.append(new_line)
156 added_line = True
157 break
158 if not added_line:
159 # Probably a language missing from the translator.
160 # Add the import line as it is and move on.

Callers 1

mainFunction · 0.70

Calls 9

get_languages_listMethod · 0.80
get_import_lineMethod · 0.80
get_mqa_im_lineMethod · 0.80
get_parent_class_langMethod · 0.80
get_lang_parent_classMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…