@@ -63,8 +63,11 @@ class PythonTranslator(provider: TypeProvider, importList: ImportList, config: R
6363 }
6464 s " ${PythonCompiler .types2class(enumSpec.name, isExternal)}. $label"
6565 }
66- override def doEnumById (enumSpec : EnumSpec , id : String ): String =
66+ override def doEnumById (enumSpec : EnumSpec , id : String ): String = {
67+ importList.add(s " from kaitaistruct import ${PythonCompiler .kstreamName}" )
68+
6769 s " ${PythonCompiler .kstreamName}.resolve_enum( ${PythonCompiler .types2class(enumSpec.name, enumSpec.isExternal(provider.nowClass))}, $id) "
70+ }
6871
6972 override def booleanOp (op : Ast .boolop) = op match {
7073 case Ast .boolop.Or => " or"
@@ -103,16 +106,25 @@ class PythonTranslator(provider: TypeProvider, importList: ImportList, config: R
103106
104107 override def bytesLength (value : Ast .expr): String =
105108 s " len( ${translate(value)}) "
106- override def bytesSubscript (container : Ast .expr, idx : Ast .expr): String =
109+ override def bytesSubscript (container : Ast .expr, idx : Ast .expr): String = {
110+ importList.add(s " from kaitaistruct import ${PythonCompiler .kstreamName}" )
111+
107112 s " ${PythonCompiler .kstreamName}.byte_array_index( ${translate(container)}, ${translate(idx)}) "
113+ }
108114 override def bytesFirst (a : Ast .expr): String =
109115 bytesSubscript(a, Ast .expr.IntNum (0 ))
110116 override def bytesLast (a : Ast .expr): String =
111117 bytesSubscript(a, Ast .expr.IntNum (- 1 ))
112- override def bytesMin (b : Ast .expr): String =
118+ override def bytesMin (b : Ast .expr): String = {
119+ importList.add(s " from kaitaistruct import ${PythonCompiler .kstreamName}" )
120+
113121 s " ${PythonCompiler .kstreamName}.byte_array_min( ${translate(b)}) "
114- override def bytesMax (b : Ast .expr): String =
122+ }
123+ override def bytesMax (b : Ast .expr): String = {
124+ importList.add(s " from kaitaistruct import ${PythonCompiler .kstreamName}" )
125+
115126 s " ${PythonCompiler .kstreamName}.byte_array_max( ${translate(b)}) "
127+ }
116128
117129
118130 override def strLength (value : Ast .expr): String =
0 commit comments