How to use _get_source_code method in lisa

Best Python code snippet using lisa_python

statically.py

Source:statically.py Github

copy

Full Screen

...15 if hasattr(main, 'get_ipython'):16 return True17 # standard REPL doesn't have __file__18 return hasattr(main, '__file__')19def _get_source_code(obj):20 if inspect.isclass(obj):21 lines = inspect.getsourcelines(obj)[0]22 extra_spaces = lines[0].find("class")23 return "".join(l[extra_spaces:] for l in lines)24 elif callable(obj):25 lines = inspect.getsourcelines(obj)[0]26 extra_spaces = lines[0].find("@")27 return "".join(l[extra_spaces:] for l in lines[1:])28 else:29 message = "Function or class expected, got {}.".format(type(obj).__name__)30 raise TypeError(message)31def _get_non_local_scopes(frame):32 while frame:33 yield frame.f_locals34 frame = frame.f_back35def _get_outer_variables(obj):36 frame = inspect.currentframe().f_back37 non_local_scopes = _get_non_local_scopes(frame)38 non_local_variables = list(obj.__code__.co_freevars)39 variables = {}40 for scope in non_local_scopes:41 for name in non_local_variables:42 if name in scope:43 variables[name] = scope[name]44 non_local_variables.remove(name)45 if not non_local_variables:46 break47 return variables48def typed(obj):49 """Compiles a function or class with cython.50 Use annotations for static type declarations. Example:51 import statically52 @statically.typed53 def add_two(x: int) -> int:54 two: int = 255 return x + two56 """57 if not _can_cython_inline():58 return obj59 elif has_async_gen_fun and inspect.isasyncgenfunction(obj):60 raise TypeError("Async generator funcions are not supported.")61 source = _get_source_code(obj)62 frame = inspect.currentframe().f_back63 if inspect.isclass(obj):64 locals_ = frame.f_locals65 else:66 locals_ = _get_outer_variables(obj)67 with warnings.catch_warnings():68 warnings.simplefilter("ignore")69 compiled = cython.inline(source, locals=locals_,70 globals=frame.f_globals, quiet=True)71 return compiled[obj.__name__]72if not _can_cython_inline():73 warnings.warn(74 "Current code isn't launched from a file so statically.typed isn't able to cythonize stuff."75 "Falling back to normal Python code.",...

Full Screen

Full Screen

base.py

Source:base.py Github

copy

Full Screen

...16 @abstractmethod17 def _get_imports(self) -> Optional[List[str]]:18 pass19 @abstractmethod20 def _get_source_code(self) -> List[str]:21 pass22 @abstractmethod23 def _is_package(self) -> bool:24 pass25 def make(self) -> None:26 package_dir = 'packages' if self._is_package() else ''27 with open(os.path.join(os.getcwd(), self.__directory, package_dir, f'{self._get_file_name()}.py'), mode='w') as f:28 f.write(self.__program())29 def __get_lines(self) -> List[str]:30 imports = self._get_imports()31 if imports is None:32 return self._get_source_code()33 return imports + ['', ''] + self._get_source_code()34 def __program(self) -> str:35 indent = 036 closed = False37 results = []38 for line in self.__get_lines():39 line = line.strip()40 new_line = ''41 skip = len(line) > 0 and ('}' == line[0] or '{' == line[0])42 if len(line) > 0 and '}' == line[0]:43 indent -= 144 closed = True45 else:46 if closed and line != 'else:':47 new_line = '\n'...

Full Screen

Full Screen

download_contract.py

Source:download_contract.py Github

copy

Full Screen

...3from util import ContractNotFoundException, InvalidEtherscanKeyException4def download_contract(address):5 try:6 eth = Etherscan(os.getenv('KEY'))7 filename, source = _get_source_code(eth, address)8 except AssertionError as e:9 raise InvalidEtherscanKeyException(e)10 _save_file(filename, source)11 return filename[:-4]12def _get_source_code(eth, address):13 result = eth.get_contract_source_code(address)[0]14 sourcecode = result['SourceCode']15 if sourcecode:16 filename = f"{result['ContractName']}__{address[-5:]}.sol"17 return filename, sourcecode18 else:19 raise ContractNotFoundException(address)20def _save_file(filename, source):21 with open(os.getenv('FILE_LOCATION') + filename, 'w') as f:...

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 lisa 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