From 83e9e96d3caf7aac4b265cf89e05a6e01d18b3bd Mon Sep 17 00:00:00 2001 From: SatoshiTerasaki Date: Mon, 2 Jun 2025 19:43:10 +0900 Subject: [PATCH] Suppress errors even if the OPENAI_API_KEY is not set. --- src/switchlang.jl | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/switchlang.jl b/src/switchlang.jl index e952307..bfd3939 100644 --- a/src/switchlang.jl +++ b/src/switchlang.jl @@ -22,6 +22,9 @@ This macro performs the following operations: ``` """ macro switchlang!(lang) + if !haskey(ENV, "OPENAI_API_KEY") + @warn("The OPENAI_API_KEY has not been set. Please set OPENAI_API_KEY to the environment variable to use the translation function.") + end @eval function Docs.parsedoc(d::DocStr) if d.object === nothing md = Docs.formatdoc(d) @@ -29,19 +32,24 @@ macro switchlang!(lang) md.meta[:path] = d.data[:path] begin # hack md_hash_original = hashmd(md) - cache_original(md) translated_md = if istranslated(md) translated_md = load_translation(md) translated_md.meta[:module] = d.data[:module] translated_md.meta[:path] = d.data[:path] translated_md else - translated_md = translate_docstring_with_openai(md) - translated_md.meta[:module] = d.data[:module] - translated_md.meta[:path] = d.data[:path] - cache_translation(md_hash_original, translated_md) - # set meta again - translated_md + if haskey(ENV, "OPENAI_API_KEY") + cache_original(md) + translated_md = translate_docstring_with_openai(md) + translated_md.meta[:module] = d.data[:module] + translated_md.meta[:path] = d.data[:path] + cache_translation(md_hash_original, translated_md) + # set meta again + translated_md + else + # do nothing when OPENAI_API_KEY is unset + md + end end md = translated_md end # hack