Skip to content

Commit 294618f

Browse files
committed
[GR-12617] Small fixes for setuptools.
PullRequest: graalpython/296
2 parents 325c7de + 91c534e commit 294618f

File tree

3 files changed

+44
-2
lines changed

3 files changed

+44
-2
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/BinasciiModuleBuiltins.java

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@
4040
*/
4141
package com.oracle.graal.python.builtins.modules;
4242

43+
import static com.oracle.graal.python.builtins.PythonBuiltinClassType.ValueError;
44+
45+
import java.io.UnsupportedEncodingException;
4346
import java.util.List;
4447
import java.util.zip.CRC32;
4548

@@ -48,7 +51,9 @@
4851
import com.oracle.graal.python.builtins.PythonBuiltinClassType;
4952
import com.oracle.graal.python.builtins.PythonBuiltins;
5053
import com.oracle.graal.python.builtins.objects.PNone;
54+
import com.oracle.graal.python.builtins.objects.bytes.BytesNodes;
5155
import com.oracle.graal.python.builtins.objects.bytes.PBytes;
56+
import com.oracle.graal.python.builtins.objects.bytes.PIBytesLike;
5257
import com.oracle.graal.python.builtins.objects.common.SequenceStorageNodes;
5358
import com.oracle.graal.python.builtins.objects.module.PythonModule;
5459
import com.oracle.graal.python.builtins.objects.type.PythonClass;
@@ -88,9 +93,28 @@ public void initialize(PythonCore core) {
8893
@GenerateNodeFactory
8994
static abstract class A2bBase64Node extends PythonUnaryBuiltinNode {
9095
@Specialization
96+
PBytes doString(String data) {
97+
return factory().createBytes(b64decode(data));
98+
}
99+
100+
@Specialization
101+
PBytes doBytesLike(PIBytesLike data,
102+
@Cached("create()") BytesNodes.ToBytesNode toBytesNode) {
103+
return factory().createBytes(b64decode(toBytesNode.execute(data)));
104+
}
105+
91106
@TruffleBoundary
92-
PBytes a2b(String data) {
93-
return factory().createBytes(Base64.decode(data));
107+
private static byte[] b64decode(String data) {
108+
return Base64.decode(data);
109+
}
110+
111+
@TruffleBoundary
112+
private byte[] b64decode(byte[] data) {
113+
try {
114+
return Base64.decode(new String(data, "ascii"));
115+
} catch (UnsupportedEncodingException e) {
116+
throw raise(ValueError);
117+
}
94118
}
95119
}
96120

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/SocketModuleBuiltins.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@
4040
*/
4141
package com.oracle.graal.python.builtins.modules;
4242

43+
import java.net.InetAddress;
44+
import java.net.UnknownHostException;
4345
import java.util.List;
4446

4547
import com.oracle.graal.python.builtins.Builtin;
@@ -51,6 +53,7 @@
5153
import com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode;
5254
import com.oracle.graal.python.nodes.function.PythonBuiltinNode;
5355
import com.oracle.graal.python.runtime.exception.PythonErrorType;
56+
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
5457
import com.oracle.truffle.api.dsl.GenerateNodeFactory;
5558
import com.oracle.truffle.api.dsl.NodeFactory;
5659
import com.oracle.truffle.api.dsl.Specialization;
@@ -75,4 +78,18 @@ Object socket(PythonClass cls, int family, int type, int proto, @SuppressWarning
7578
}
7679
}
7780
}
81+
82+
@Builtin(name = "gethostname", fixedNumOfPositionalArgs = 0)
83+
@GenerateNodeFactory
84+
public abstract static class GetHostnameNode extends PythonBuiltinNode {
85+
@Specialization
86+
@TruffleBoundary
87+
String doGeneric() {
88+
try {
89+
return InetAddress.getLocalHost().getHostName();
90+
} catch (UnknownHostException e) {
91+
throw raise(PythonBuiltinClassType.OSError);
92+
}
93+
}
94+
}
7895
}

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/SysModuleBuiltins.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ public void initialize(PythonCore core) {
174174
2, // FLT_RADIX
175175
1 // FLT_ROUNDS
176176
}));
177+
builtinConstants.put("maxunicode", Character.MAX_CODE_POINT);
177178

178179
String os = getPythonOSName();
179180
builtinConstants.put("platform", os);

0 commit comments

Comments
 (0)