Best Python code snippet using localstack_python
pins.py
Source:pins.py
...32 elif line.startswith("enum: "):33 key, value = line.split()[1:]34 tiles[loc][name][key] = value.strip()35 return tiles36def get_base_type(tiles, row, col, name, pio):37 if (row, col) in tiles and name in tiles[(row, col)]:38 tile = tiles[(row, col)][name]39 return tile.get(f'{pio}.BASE_TYPE')40def reduce_base_types(types):41 bidi = any(t.startswith("BIDIR_") for t in types if t)42 inp = any(t.startswith("INPUT_") for t in types if t)43 out = any(t.startswith("OUTPUT_") for t in types if t)44 modes = sorted(list(set("_".join(t.split("_")[1:]) for t in types if t)))45 if bidi or (inp and out):46 return "bidi", modes47 elif inp:48 return "input", modes49 elif out:50 return "output", modes51 else:52 return None53def top_pin(tiles, row, col, pio):54 # Top pins are defined in PIOT0, PIOT1, PICT0, PICT1.55 return reduce_base_types([56 get_base_type(tiles, row, col, "PIOT0", f"PIO{pio}"),57 get_base_type(tiles, row, col+1, "PIOT1", f"PIO{pio}"),58 get_base_type(tiles, row+1, col, "PICT0", f"PIO{pio}"),59 get_base_type(tiles, row+1, col+1, "PICT1", f"PIO{pio}"),60 ])61def btm_pin(tiles, row, col, pio):62 # Bottom pins are defined in PICB0 and PICB1.63 # Sometimes EFBx_PICBy or SPICB0.64 return reduce_base_types([65 get_base_type(tiles, row, col, "PICB0", f"PIO{pio}"),66 get_base_type(tiles, row, col, "SPICB0", f"PIO{pio}"),67 get_base_type(tiles, row, col, "EFB0_PICB0", f"PIO{pio}"),68 get_base_type(tiles, row, col, "EFB2_PICB0", f"PIO{pio}"),69 get_base_type(tiles, row, col+1, "PICB1", f"PIO{pio}"),70 get_base_type(tiles, row, col+1, "EFB1_PICB1", f"PIO{pio}"),71 get_base_type(tiles, row, col+1, "EFB3_PICB1", f"PIO{pio}"),72 ])73def left_pin(tiles, row, col, pio):74 # Left pins are defined in PICL0, PICL1, PICL2.75 # Sometimes PICL2 is in MIB_CIB_LR.76 # Sometimes PICLx is shared with DQSy.77 return reduce_base_types([78 get_base_type(tiles, row, col, "PICL0", f"PIO{pio}"),79 get_base_type(tiles, row, col, "PICL0_DQS2", f"PIO{pio}"),80 get_base_type(tiles, row+1, col, "PICL1", f"PIO{pio}"),81 get_base_type(tiles, row+1, col, "PICL1_DQS0", f"PIO{pio}"),82 get_base_type(tiles, row+1, col, "PICL1_DQS3", f"PIO{pio}"),83 get_base_type(tiles, row+2, col, "PICL2", f"PIO{pio}"),84 get_base_type(tiles, row+2, col, "PICL2_DQS1", f"PIO{pio}"),85 get_base_type(tiles, row+2, col, "MIB_CIB_LR", f"PIO{pio}"),86 ])87def right_pin(tiles, row, col, pio):88 # Right pins are defined in PICR0, PICR1, PICR289 return reduce_base_types([90 get_base_type(tiles, row, col, "PICR0", f"PIO{pio}"),91 get_base_type(tiles, row, col, "PICR0_DQS2", f"PIO{pio}"),92 get_base_type(tiles, row+1, col, "PICR1", f"PIO{pio}"),93 get_base_type(tiles, row+1, col, "PICR1_DQS0", f"PIO{pio}"),94 get_base_type(tiles, row+1, col, "PICR1_DQS3", f"PIO{pio}"),95 get_base_type(tiles, row+2, col, "PICR2", f"PIO{pio}"),96 get_base_type(tiles, row+2, col, "PICR2_DQS1", f"PIO{pio}"),97 get_base_type(tiles, row+2, col, "MIB_CIB_LR", f"PIO{pio}"),98 get_base_type(tiles, row+2, col, "MIB_CIB_LR_A", f"PIO{pio}"),99 ])100def main():101 parser = argparse.ArgumentParser()102 parser.add_argument("config", help="Path to .config file to read")103 parser.add_argument("--package", default="CABGA256",104 help="Footprint to use, default CABGA256")105 parser.add_argument(106 "--dbpath",107 default="/usr/share/trellis/database/ECP5/LFE5U-25F/iodb.json",108 help="Path to database file, default is LFE5U-25F")109 args = parser.parse_args()110 iodb = load_iodb(args.dbpath, args.package)111 tiles = load_config(args.config)112 max_row = max(p['row'] for p in iodb.values())...
test_coverage.py
Source:test_coverage.py
...33 if VERSION >= (3, 0, 0):34 tests.append(typing.SupportsBytes)35 for test in tests:36 self.assertEqual(37 get_base_type(test),38 (typing_.BaseProtocol, True),39 msg=str(test),40 )41 @skipIf(not HAS_PROTOCOL, 'requires protocol from typing_extensions')42 def test_protocol(self):43 class TestProtocol(Protocol):44 pass45 self.assertEqual(get_base_type(TestProtocol), (Protocol, True))46 @skipIf(not HAS_PROTOCOL, 'requires protocol from typing_extensions')47 def test_protocol_generic(self):48 T = typing.TypeVar('T') # noqa: N80649 class TestProtocol(Protocol, typing.Generic[T]):50 pass51 self.assertEqual(get_base_type(TestProtocol), (Protocol, True))52 self.assertEqual(get_base_type(TestProtocol[int]), (Protocol, False))53 @skipIf(not HAS_PROTOCOL, 'requires protocol from typing_extensions')54 def test_generic_protocol(self):55 T = typing.TypeVar('T') # noqa: N80656 class TestProtocol(typing.Generic[T], Protocol):57 pass58 self.assertEqual(get_base_type(TestProtocol), (Protocol, True))59 self.assertEqual(get_base_type(TestProtocol[int]), (Protocol, False))60 def test_reversible(self):61 if VERSION < (3, 6):62 self.assertEqual(63 get_base_type(typing.Reversible),64 (typing_.BaseProtocol, True),65 )66 self.assertEqual(67 get_base_type(typing.Reversible[int]),68 (typing_.BaseProtocol, False),69 )70 else:71 self.assertEqual(72 get_base_type(typing.Reversible),73 (typing.Generic, True),74 )75class TypeInfoTestCase(TestCase):76 tests = [77 typing.SupportsInt,78 int,79 typing.Mapping,80 typing.Mapping[float, int],81 typing.Pattern,82 typing.Match,83 ]84 if HAS_CLASS_VAR:85 tests.append(ClassVar)86 if HAS_PROTOCOL:...
common.py
Source:common.py
...17 def __init__(self, item, default=None):18 self.item = item19 self.default = default20 def __rrshift__(self, other):21 other_type = get_base_type(other)22 return getattr(self, f"_get_{other_type}", self._get)(other)23 def _get(self, other):24 if hasattr(other, "get"):25 return other.get(self.item, self.default)26 elif hasattr(other, "__getitem__"):27 with contextlib.suppress(KeyError):28 return other[self.item]29 return self.default30 return getattr(other, self.item, self.default)31 def _get_sequence(self, other):32 with contextlib.suppress(IndexError):33 return other[self.item]34 return self.default35 def _get_mapping(self, other):36 return other.get(self.item, self.default)37def get_base_type(other):38 """39 >>> get_base_type(1)40 int41 >>> get_base_type([])42 sequence43 >>> get_base_type({})44 mapping45 """46 if isinstance(other, Mapping):47 return "mapping"48 if isinstance(other, Sequence):49 return "sequence"...
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!!