Procházet zdrojové kódy

feat: import jinja

Yeuoly před 1 rokem
rodič
revize
b3fd7e03d7

+ 7 - 3
dockerfile

@@ -4,9 +4,13 @@ FROM python:3.10-slim
 COPY main /main
 COPY conf/config.yaml /conf/config.yaml
 
-RUN apt-get update && apt-get install -y \
-    pkg-config libseccomp-dev \
+# change source to TSINGHUA if environment['TSINGHUA'] is set
+ARG TSINGHUA
+
+RUN apt-get clean && \
+    apt-get update && apt-get install -y pkg-config libseccomp-dev \
     && rm -rf /var/lib/apt/lists/* \
-    && chmod +x /main
+    && chmod +x /main \
+    && pip3 install jinja2
 
 ENTRYPOINT ["/main"]

+ 1 - 0
internal/core/runner/python/prescript.py

@@ -6,6 +6,7 @@ if __name__ == "__main__":
     import typing
     import time
     import traceback
+    import jinja2
 
     if len(sys.argv) != 4:
         sys.exit(-1)

+ 81 - 0
internal/core/runner/python/python.h

@@ -0,0 +1,81 @@
+/* Code generated by cmd/cgo; DO NOT EDIT. */
+
+/* package command-line-arguments */
+
+
+#line 1 "cgo-builtin-export-prolog"
+
+#include <stddef.h>
+
+#ifndef GO_CGO_EXPORT_PROLOGUE_H
+#define GO_CGO_EXPORT_PROLOGUE_H
+
+#ifndef GO_CGO_GOSTRING_TYPEDEF
+typedef struct { const char *p; ptrdiff_t n; } _GoString_;
+#endif
+
+#endif
+
+/* Start of preamble from import "C" comments.  */
+
+
+
+
+/* End of preamble from import "C" comments.  */
+
+
+/* Start of boilerplate cgo prologue.  */
+#line 1 "cgo-gcc-export-header-prolog"
+
+#ifndef GO_CGO_PROLOGUE_H
+#define GO_CGO_PROLOGUE_H
+
+typedef signed char GoInt8;
+typedef unsigned char GoUint8;
+typedef short GoInt16;
+typedef unsigned short GoUint16;
+typedef int GoInt32;
+typedef unsigned int GoUint32;
+typedef long long GoInt64;
+typedef unsigned long long GoUint64;
+typedef GoInt64 GoInt;
+typedef GoUint64 GoUint;
+typedef size_t GoUintptr;
+typedef float GoFloat32;
+typedef double GoFloat64;
+#ifdef _MSC_VER
+#include <complex.h>
+typedef _Fcomplex GoComplex64;
+typedef _Dcomplex GoComplex128;
+#else
+typedef float _Complex GoComplex64;
+typedef double _Complex GoComplex128;
+#endif
+
+/*
+  static assertion to make sure the file is being used on architecture
+  at least with matching size of GoInt.
+*/
+typedef char _check_for_64_bit_pointer_matching_GoInt[sizeof(void*)==64/8 ? 1:-1];
+
+#ifndef GO_CGO_GOSTRING_TYPEDEF
+typedef _GoString_ GoString;
+#endif
+typedef void *GoMap;
+typedef void *GoChan;
+typedef struct { void *t; void *v; } GoInterface;
+typedef struct { void *data; GoInt len; GoInt cap; } GoSlice;
+
+#endif
+
+/* End of boilerplate cgo prologue.  */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern void DifySeccomp();
+
+#ifdef __cplusplus
+}
+#endif

binární
internal/core/runner/python/python.so