summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--g4f/Provider/needs_auth/OpenaiChat.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/g4f/Provider/needs_auth/OpenaiChat.py b/g4f/Provider/needs_auth/OpenaiChat.py
index fb81face..119626e5 100644
--- a/g4f/Provider/needs_auth/OpenaiChat.py
+++ b/g4f/Provider/needs_auth/OpenaiChat.py
@@ -2,6 +2,7 @@ from __future__ import annotations
import uuid, json, time, os
import tempfile, shutil, asyncio
+import sys, subprocess
from ..base_provider import AsyncGeneratorProvider
from ..helper import get_browser, get_cookies, format_prompt, get_event_loop
@@ -174,6 +175,15 @@ fun.getToken(config).then(token => {
tmp.write(source.encode())
tmp.close()
try:
+ if sys.platform == 'win32':
+ p = subprocess.Popen(
+ [node, tmp.name],
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE
+ )
+ if p.returncode == 0:
+ return p.stdout.read().decode()
+ raise RuntimeError(f"Exec Error: {p.stderr.read().decode()}")
p = await asyncio.create_subprocess_exec(
node, tmp.name,
stderr=asyncio.subprocess.PIPE,