Fix issue #18: VisibleString bug
authorKim Grasman <kim.grasman@gmail.com>
Thu, 11 Jun 2015 20:17:33 +0000 (22:17 +0200)
committerKim Grasman <kim.grasman@gmail.com>
Thu, 11 Jun 2015 20:17:33 +0000 (22:17 +0200)
Add builtin mapping from VisibleString to char.VisibleString.

Test case from Wireshark's source tree.

asn1ate/pyasn1gen.py
testdata/public/wireshark.asn [new file with mode: 0644]
testdata/string_types.asn

index 2d4cb74..6cd0a0f 100644 (file)
@@ -516,6 +516,7 @@ _ASN1_BUILTIN_TYPES = {
     'GeneralizedTime': 'useful.GeneralizedTime',
     'UTCTime': 'useful.UTCTime',
     'ObjectDescriptor': 'useful.ObjectDescriptor',  # In pyasn1 r1.2
+    'VisibleString': 'char.VisibleString',
 }
 
 
diff --git a/testdata/public/wireshark.asn b/testdata/public/wireshark.asn
new file mode 100644 (file)
index 0000000..c241efe
--- /dev/null
@@ -0,0 +1,30 @@
+-- https://code.wireshark.org/review/gitweb?p=wireshark.git;a=blob;f=asn1/sv/sv.asn;h=cf67100d3edee758a8714143758e31211cd7619f;hb=HEAD\r
+IEC61850 DEFINITIONS ::= BEGIN\r
+\r
+SampledValues ::= CHOICE {\r
+savPdu [APPLICATION 0] IMPLICIT SavPdu,\r
+...\r
+}\r
+\r
+SavPdu ::= SEQUENCE {\r
+noASDU [0] IMPLICIT INTEGER(0..65535),\r
+seqASDU [2] IMPLICIT SEQUENCE OF ASDU\r
+}\r
+\r
+ASDU ::= SEQUENCE {\r
+svID [0] IMPLICIT VisibleString,\r
+datSet [1] IMPLICIT VisibleString OPTIONAL,\r
+smpCnt [2] IMPLICIT INTEGER(0..65535),\r
+confRef [3] IMPLICIT INTEGER(0..4294967295),\r
+refrTm [4] IMPLICIT UtcTime OPTIONAL,\r
+smpSynch [5] IMPLICIT INTEGER{none(0),local(1),global(2)} OPTIONAL,\r
+smpRate [6] IMPLICIT INTEGER(0..65535) OPTIONAL,\r
+seqData [7] IMPLICIT Data,\r
+smpMod [8] IMPLICIT INTEGER{samplesPerNormalPeriod(0),samplesPerSecond(1),secondsPerSample(2)} OPTIONAL,\r
+...\r
+}\r
+\r
+UtcTime ::= OCTET STRING\r
+Data ::= OCTET STRING\r
+\r
+END\r
index 6f3cd66..e480822 100644 (file)
@@ -9,5 +9,6 @@ BEGIN
   PrintStr ::= PrintableString
   IA5Str ::= IA5String
   GraphStr ::= GraphicString
+  VisibleStr ::= VisibleString
   -- TODO: More string types.
 END