extensions.st
changeset 126 fb73b0af430b
parent 119 258bf0b2317c
child 149 0db2ccc6da7b
--- a/extensions.st	Mon Jul 02 08:45:58 2018 +0200
+++ b/extensions.st	Fri Jun 22 11:39:15 2018 +0100
@@ -1,5 +1,46 @@
 "{ Package: 'jv:libgdbs' }"!
 
+!ByteArray methodsFor:'printing & storing'!
+
+pythonOn: aStream
+    "Prints Python-escaped representation on `aStream`.
+
+     This may be useful when copu-pasting ByteArray values to
+     Python code."
+
+    self do:[:byte | 
+        (byte between: $0 codePoint and: $z codePoint) ifTrue:[
+            aStream nextPut: (Character codePoint: byte)  
+        ] ifFalse:[ 
+            aStream nextPutAll: '\x'.
+            byte printOn:aStream base:16 size:2 fill:$0
+        ].
+    ].
+
+    "
+    #[46 0 1 1 0 41 0 1 1 0 36 0 0 0 0 0 1 0 28 0 1 25 0 97 83 101 113 117 101 110 99 101 97 98 108 101 67 111 108 108 101 99 116 105 111 110] pythonString
+    "
+
+    "Created: / 22-06-2018 / 09:30:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!ByteArray methodsFor:'printing & storing'!
+
+pythonString
+    "Returns Python-escaped representation of self as String`.
+
+     This may be useful when copu-pasting ByteArray values to
+     Python code."
+
+    ^ String streamContents:[ :s | self pythonOn: s ]
+
+    "
+    #[46 0 1 1 0 41 0 1 1 0 36 0 0 0 0 0 1 0 28 0 1 25 0 97 83 101 113 117 101 110 99 101 97 98 108 101 67 111 108 108 101 99 116 105 111 110] pythonString
+    "
+
+    "Created: / 22-06-2018 / 09:31:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !Filename methodsFor:'queries-path & name'!
 
 cygName
@@ -74,6 +115,14 @@
     "Created: / 23-09-2014 / 22:23:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!Magritte::MADescription methodsFor:'parsing-GDB/MI'!
+
+parseUsingGDBMIParser: aGDBMIParser taggedAs: aString
+    ^ self parseUsingGDBMIParser: aGDBMIParser
+
+    "Created: / 03-07-2018 / 16:23:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !Magritte::MANumberDescription methodsFor:'parsing-GDB/MI'!
 
 parseUsingGDBMIParser: aGDBMIParser
@@ -127,7 +176,7 @@
     ^ aGDBMIParser parseValueAsListOf: classes anElement describedBy: reference allowOmmitedBrackets: self allowOmmitedBrackets
 
     "Created: / 23-09-2014 / 23:04:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 11-11-2017 / 12:13:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 03-07-2018 / 17:15:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !Magritte::MAToManyRelationDescription class methodsFor:'accessing-defaults'!