How to use _determine_implicit_inherits method in prospector

Best Python code snippet using prospector_python

profile.py

Source:profile.py Github

copy

Full Screen

...209 member_warnings = profile_dict.get("member-warnings")210 if member_warnings is None:211 return None, False212 return ("member_warnings" if member_warnings else "no_member_warnings"), True213def _determine_implicit_inherits(profile_dict, already_inherits, shorthands_found):214 # Note: the ordering is very important here - the earlier items215 # in the list have precedence over the later items. The point of216 # the doc/test/pep8 profiles is usually to restore items which were217 # turned off in the strictness profile, so they must appear first.218 implicit = [219 ("pep8", _determine_pep8(profile_dict)),220 ("docs", _determine_doc_warnings(profile_dict)),221 ("tests", _determine_test_warnings(profile_dict)),222 ("strictness", _determine_strictness(profile_dict, already_inherits)),223 ("members", _determine_member_warnings(profile_dict)),224 ]225 inherits = []226 for shorthand_name, determined in implicit:227 if shorthand_name in shorthands_found:228 continue229 extra_inherits, shorthand_found = determined230 if not shorthand_found:231 continue232 shorthands_found.add(shorthand_name)233 if extra_inherits is not None:234 inherits.append(extra_inherits)235 return inherits, shorthands_found236def _append_profiles(name, profile_path, data, inherit_list, allow_shorthand=False):237 new_data, new_il, _ = _load_profile(name, profile_path, allow_shorthand=allow_shorthand)238 data.update(new_data)239 inherit_list += new_il240 return data, inherit_list241def _load_and_merge(name_or_path, profile_path, allow_shorthand=True, forced_inherits=None):242 # First simply load all of the profiles and those that it explicitly inherits from243 data, inherit_list, shorthands_found = _load_profile(244 name_or_path,245 profile_path,246 allow_shorthand=allow_shorthand,247 forced_inherits=forced_inherits or [],248 )249 if allow_shorthand:250 if "docs" not in shorthands_found:251 data, inherit_list = _append_profiles("no_doc_warnings", profile_path, data, inherit_list)252 if "members" not in shorthands_found:253 data, inherit_list = _append_profiles("no_member_warnings", profile_path, data, inherit_list)254 if "tests" not in shorthands_found:255 data, inherit_list = _append_profiles("no_test_warnings", profile_path, data, inherit_list)256 if "strictness" not in shorthands_found:257 # if no strictness was specified, then we should manually insert the medium strictness258 for inherit in inherit_list:259 if inherit.startswith("strictness_"):260 break261 else:262 data, inherit_list = _append_profiles("strictness_medium", profile_path, data, inherit_list)263 # Now we merge all of the values together, from 'right to left' (ie, from the264 # top of the inheritance tree to the bottom). This means that the lower down265 # values overwrite those from above, meaning that the initially provided profile266 # has precedence.267 merged = {}268 for name in inherit_list[::-1]:269 priority = data[name]270 merged = _merge_profile_dict(priority, merged)271 return merged, inherit_list272def _load_profile(273 name_or_path,274 profile_path,275 shorthands_found=None,276 already_loaded=None,277 allow_shorthand=True,278 forced_inherits=None,279):280 # recursively get the contents of the basic profile and those it inherits from281 base_contents = _load_content(name_or_path, profile_path)282 inherit_order = [name_or_path]283 shorthands_found = shorthands_found or set()284 already_loaded = already_loaded or []285 already_loaded.append(name_or_path)286 inherits = _ensure_list(base_contents.get("inherits", []))287 if forced_inherits is not None:288 inherits += forced_inherits289 # There are some 'shorthand' options in profiles which implicitly mean that we290 # should inherit from some of prospector's built-in profiles291 if base_contents.get("allow-shorthand", True) and allow_shorthand:292 extra_inherits, extra_shorthands = _determine_implicit_inherits(base_contents, inherits, shorthands_found)293 inherits += extra_inherits294 shorthands_found |= extra_shorthands295 contents_dict = {name_or_path: base_contents}296 for inherit_profile in inherits:297 if inherit_profile in already_loaded:298 # we already have this loaded and in the list299 continue300 already_loaded.append(inherit_profile)301 new_cd, new_il, new_sh = _load_profile(302 inherit_profile,303 profile_path,304 shorthands_found,305 already_loaded,306 allow_shorthand,...

Full Screen

Full Screen

Automation Testing Tutorials

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.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run prospector automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful