diff --git a/.gitignore b/.gitignore index 0b5394f..cda3baa 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .env pdf/ model/ -claude.txt \ No newline at end of file +claude.txt +__pycache__/ \ No newline at end of file diff --git a/run.sh b/run.sh index bc52093..b4140ac 100755 --- a/run.sh +++ b/run.sh @@ -13,5 +13,6 @@ docker run \ -p 8080:8080 \ -v /$(pwd)/model/:/root/model/ \ -v /$(pwd)/.env:/root/.env \ - -v /$(pwd)/iterations/:/root/sia/iterations \ + -v /$(pwd)/iterations/:/root/sia/iterations/ \ + -v /$(pwd)/.git/:/root/sia/.git/ \ sia "$@" diff --git a/sia/repeat_entry.py b/sia/repeat_entry.py index f8f9fdb..38979da 100644 --- a/sia/repeat_entry.py +++ b/sia/repeat_entry.py @@ -43,7 +43,7 @@ class RepeatEntry(Entry): super().__init__(id, timestamp) self._script = script self._timeout = timeout - self._limit = limit or self.default_limit + self._limit = limit self._stdout = "" self._stderr = "" self._exit_code: Optional[int] = None @@ -110,10 +110,12 @@ class RepeatEntry(Entry): element.set("limit", str(self._limit)) if len(self._stdout) > (self._limit or self.default_limit): element.set("stdout_truncated", "true") + element.set("stdout_length", str(len(self._stdout))) stdout_elem = ET.SubElement(element, "stdout") stdout_elem.text = self._stdout[:(self._limit or self.default_limit)] if len(self._stderr) > (self._limit or self.default_limit): element.set("stderr_truncated", "true") + element.set("stderr_length", str(len(self._stderr))) stderr_elem = ET.SubElement(element, "stderr") stderr_elem.text = self._stderr[:(self._limit or self.default_limit)] diff --git a/sia/single_entry.py b/sia/single_entry.py index 3cfca5b..8650eea 100644 --- a/sia/single_entry.py +++ b/sia/single_entry.py @@ -113,10 +113,12 @@ class SingleEntry(Entry): element.set("limit", str(self._limit)) if len(self._stdout) > (self._limit or self.default_limit): element.set("stdout_truncated", "true") + element.set("stdout_length", str(len(self._stdout))) stdout_elem = ET.SubElement(element, "stdout") stdout_elem.text = self._stdout[:(self._limit or self.default_limit)] if len(self._stderr) > (self._limit or self.default_limit): element.set("stderr_truncated", "true") + element.set("stderr_length", str(len(self._stderr))) stderr_elem = ET.SubElement(element, "stderr") stderr_elem.text = self._stderr[:(self._limit or self.default_limit)] return element \ No newline at end of file