Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 011b95d

Browse filesBrowse files
committed
Fix name 'open' is not defined exception. Closes abetlen#860
1 parent fa83cc5 commit 011b95d
Copy full SHA for 011b95d

File tree

Expand file treeCollapse file tree

1 file changed

+24
-18
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+24
-18
lines changed

‎llama_cpp/utils.py

Copy file name to clipboardExpand all lines: llama_cpp/utils.py
+24-18Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,36 +3,42 @@
33

44

55
class suppress_stdout_stderr(object):
6+
# NOTE: these must be "saved" here to avoid exceptions when using
7+
# this context manager inside of a __del__ method
8+
open = open
9+
sys = sys
10+
os = os
11+
612
# Oddly enough this works better than the contextlib version
713
def __enter__(self):
8-
self.outnull_file = open(os.devnull, "w")
9-
self.errnull_file = open(os.devnull, "w")
14+
self.outnull_file = self.open(self.os.devnull, "w")
15+
self.errnull_file = self.open(self.os.devnull, "w")
1016

11-
self.old_stdout_fileno_undup = sys.stdout.fileno()
12-
self.old_stderr_fileno_undup = sys.stderr.fileno()
17+
self.old_stdout_fileno_undup = self.sys.stdout.fileno()
18+
self.old_stderr_fileno_undup = self.sys.stderr.fileno()
1319

14-
self.old_stdout_fileno = os.dup(sys.stdout.fileno())
15-
self.old_stderr_fileno = os.dup(sys.stderr.fileno())
20+
self.old_stdout_fileno = self.os.dup(self.sys.stdout.fileno())
21+
self.old_stderr_fileno = self.os.dup(self.sys.stderr.fileno())
1622

17-
self.old_stdout = sys.stdout
18-
self.old_stderr = sys.stderr
23+
self.old_stdout = self.sys.stdout
24+
self.old_stderr = self.sys.stderr
1925

20-
os.dup2(self.outnull_file.fileno(), self.old_stdout_fileno_undup)
21-
os.dup2(self.errnull_file.fileno(), self.old_stderr_fileno_undup)
26+
self.os.dup2(self.outnull_file.fileno(), self.old_stdout_fileno_undup)
27+
self.os.dup2(self.errnull_file.fileno(), self.old_stderr_fileno_undup)
2228

23-
sys.stdout = self.outnull_file
24-
sys.stderr = self.errnull_file
29+
self.sys.stdout = self.outnull_file
30+
self.sys.stderr = self.errnull_file
2531
return self
2632

2733
def __exit__(self, *_):
28-
sys.stdout = self.old_stdout
29-
sys.stderr = self.old_stderr
34+
self.sys.stdout = self.old_stdout
35+
self.sys.stderr = self.old_stderr
3036

31-
os.dup2(self.old_stdout_fileno, self.old_stdout_fileno_undup)
32-
os.dup2(self.old_stderr_fileno, self.old_stderr_fileno_undup)
37+
self.os.dup2(self.old_stdout_fileno, self.old_stdout_fileno_undup)
38+
self.os.dup2(self.old_stderr_fileno, self.old_stderr_fileno_undup)
3339

34-
os.close(self.old_stdout_fileno)
35-
os.close(self.old_stderr_fileno)
40+
self.os.close(self.old_stdout_fileno)
41+
self.os.close(self.old_stderr_fileno)
3642

3743
self.outnull_file.close()
3844
self.errnull_file.close()

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.