From e55fcf66bf9d5f92dd74858555090767a433e8f8 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 4 Feb 2024 16:56:46 +0100 Subject: [PATCH] Be more conservative in our imports Try to avoid '*' from anything into various modules, polluting the namespace. Change-Id: Iba749d18e1863ded88ba2d2183e2e8d718b2d612 --- pySim/apdu/ts_102_221.py | 1 + pySim/construct.py | 4 +++- pySim/global_platform/__init__.py | 6 +++--- pySim/tlv.py | 1 - pySim/ts_31_103.py | 1 + 5 files changed, 8 insertions(+), 5 deletions(-) diff --git a/pySim/apdu/ts_102_221.py b/pySim/apdu/ts_102_221.py index 443ae1e2..48401c07 100644 --- a/pySim/apdu/ts_102_221.py +++ b/pySim/apdu/ts_102_221.py @@ -18,6 +18,7 @@ along with this program. If not, see . """ import logging +from construct import GreedyRange, Struct from pySim.construct import * from pySim.filesystem import * from pySim.runtime import RuntimeLchan diff --git a/pySim/construct.py b/pySim/construct.py index 0c82c413..988dbf32 100644 --- a/pySim/construct.py +++ b/pySim/construct.py @@ -1,7 +1,9 @@ from construct.lib.containers import Container, ListContainer from construct.core import EnumIntegerString import typing -from construct import * +from construct import Adapter, Prefixed, Int8ub, GreedyBytes, Default, Flag, Byte, Construct, Enum +from construct import BitsInteger, BitStruct, Bytes, StreamError, stream_read_entire, stream_write +from construct import SizeofError, IntegerError, swapbytes from construct.core import evaluate, BitwisableString from construct.lib import integertypes from pySim.utils import b2h, h2b, swap_nibbles diff --git a/pySim/global_platform/__init__.py b/pySim/global_platform/__init__.py index ba34db8d..b6d23433 100644 --- a/pySim/global_platform/__init__.py +++ b/pySim/global_platform/__init__.py @@ -17,9 +17,9 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . """ -from typing import Optional, List, Dict, Tuple from construct import Optional as COptional -from construct import * +from construct import Struct, GreedyRange, FlagsEnum, Int16ub, Padding, Bit, Const +from typing import Optional, List, Dict, Tuple from copy import deepcopy from bidict import bidict from Cryptodome.Random import get_random_bytes @@ -612,7 +612,7 @@ class ADF_SD(CardADF): def set_status(self, scope:str, status:str, aid:Hexstr = ''): SetStatus = Struct(Const(0x80, Byte), Const(0xF0, Byte), 'scope'/SetStatusScope, 'status'/CLifeCycleState, - 'aid'/HexAdapter(Prefixed(Int8ub, Optional(GreedyBytes)))) + 'aid'/HexAdapter(Prefixed(Int8ub, COptional(GreedyBytes)))) apdu = build_construct(SetStatus, {'scope':scope, 'status':status, 'aid':aid}) data, sw = self._cmd.lchan.scc.send_apdu_checksw(b2h(apdu)) diff --git a/pySim/tlv.py b/pySim/tlv.py index 31051aaa..0dfb8582 100644 --- a/pySim/tlv.py +++ b/pySim/tlv.py @@ -19,7 +19,6 @@ from typing import Optional, List, Dict, Any, Tuple from bidict import bidict -from construct import * from pySim.utils import bertlv_encode_len, bertlv_parse_len, bertlv_encode_tag, bertlv_parse_tag from pySim.utils import comprehensiontlv_encode_tag, comprehensiontlv_parse_tag diff --git a/pySim/ts_31_103.py b/pySim/ts_31_103.py index a85e0ad6..81de13c6 100644 --- a/pySim/ts_31_103.py +++ b/pySim/ts_31_103.py @@ -22,6 +22,7 @@ Various constants from 3GPP TS 31.103 V16.1.0 # along with this program. If not, see . # +from construct import Struct, Switch, this, Bytes, GreedyString from pySim.filesystem import * from pySim.utils import * from pySim.tlv import *