Skip to content

Commit 57a8d88

Browse files
authored
Reformat Go API code (k2-fsa#2979)
1 parent d987ce4 commit 57a8d88

2 files changed

Lines changed: 73 additions & 72 deletions

File tree

scripts/go/generate.py

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
#!/usr/bin/env python3
22

3+
import argparse
34
import os
45
import re
5-
import sys
6-
import argparse
6+
77
import jinja2
88

9+
910
def parse_args():
1011
# set the source code file
1112
# -s sherpa_onnx.go
@@ -20,38 +21,40 @@ def parse_args():
2021
parser.add_argument("-o", "--output", type=str, required=True)
2122
return parser.parse_args()
2223

24+
2325
def parse_golang(target):
24-
with open(target, 'r') as file:
26+
with open(target, "r") as file:
2527
content = file.read()
2628
defines = []
27-
struct_pattern = re.compile(r'type\s+([A-Z]\w+)\s+struct', re.DOTALL)
29+
struct_pattern = re.compile(r"type\s+([A-Z]\w+)\s+struct", re.DOTALL)
2830
struct_matches = struct_pattern.findall(content)
2931
for name in struct_matches:
3032
c_define = {
31-
'type': 'struct',
32-
'name': name,
33+
"type": "struct",
34+
"name": name,
3335
}
3436
defines.append(c_define)
35-
struct_pattern = re.compile(r'type\s+([A-Z][^ =]+)\s*=', re.DOTALL)
37+
struct_pattern = re.compile(r"type\s+([A-Z][^ =]+)\s*=", re.DOTALL)
3638
struct_matches = struct_pattern.findall(content)
3739
for name in struct_matches:
3840
c_define = {
39-
'type': 'struct',
40-
'name': name,
41+
"type": "struct",
42+
"name": name,
4143
}
4244
defines.append(c_define)
43-
func_pattern = re.compile(r'func\s+([A-Z][^ \(]+)\s*\(', re.DOTALL)
45+
func_pattern = re.compile(r"func\s+([A-Z][^ \(]+)\s*\(", re.DOTALL)
4446
func_matches = func_pattern.findall(content)
4547
for name in func_matches:
4648
c_define = {
47-
'type': 'function',
48-
'name': name,
49+
"type": "function",
50+
"name": name,
4951
}
5052
defines.append(c_define)
5153
return defines
5254

55+
5356
def render(output, defines, platform):
54-
build_info = ''
57+
build_info = ""
5558
if platform == "windows":
5659
build_info = "//go:build (windows && amd64) || (windows && 386)"
5760
elif platform == "linux":
@@ -71,14 +74,12 @@ def render(output, defines, platform):
7174
folder = os.path.dirname(output)
7275
if not os.path.exists(folder):
7376
os.makedirs(folder)
74-
with open(output, 'w') as f:
77+
with open(output, "w") as f:
7578
print(rendered, file=f)
7679

80+
7781
def generate(src, output):
78-
# print("source: ", src)
79-
# print("output: ", output)
8082
defines = parse_golang(src)
81-
# print("defines: ", defines)
8283
platform = "linux"
8384
render(f"{output}/sherpa_onnx/sherpa_onnx_{platform}.go", defines, platform)
8485
platform = "windows"

scripts/go/sherpa_onnx.go

Lines changed: 55 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -660,61 +660,61 @@ func newCOfflineRecognizerConfig(config *OfflineRecognizerConfig) *C.struct_Sher
660660
}
661661
func freeCOfflineRecognizerConfig(c *C.struct_SherpaOnnxOfflineRecognizerConfig) {
662662
stringFields := []*(*C.char){
663-
&c.model_config.transducer.encoder,
664-
&c.model_config.transducer.decoder,
665-
&c.model_config.transducer.joiner,
666-
&c.model_config.paraformer.model,
667-
&c.model_config.nemo_ctc.model,
668-
&c.model_config.whisper.encoder,
669-
&c.model_config.whisper.decoder,
670-
&c.model_config.whisper.language,
671-
&c.model_config.whisper.task,
672-
&c.model_config.tdnn.model,
673-
&c.model_config.sense_voice.model,
674-
&c.model_config.sense_voice.language,
675-
&c.model_config.moonshine.preprocessor,
676-
&c.model_config.moonshine.encoder,
677-
&c.model_config.moonshine.uncached_decoder,
678-
&c.model_config.moonshine.cached_decoder,
679-
&c.model_config.fire_red_asr.encoder,
680-
&c.model_config.fire_red_asr.decoder,
681-
&c.model_config.funasr_nano.encoder_adaptor,
682-
&c.model_config.funasr_nano.llm_prefill,
683-
&c.model_config.funasr_nano.llm_decode,
684-
&c.model_config.funasr_nano.embedding,
685-
&c.model_config.funasr_nano.tokenizer,
686-
&c.model_config.funasr_nano.system_prompt,
687-
&c.model_config.funasr_nano.user_prompt,
688-
&c.model_config.dolphin.model,
689-
&c.model_config.zipformer_ctc.model,
690-
&c.model_config.canary.encoder,
691-
&c.model_config.canary.decoder,
692-
&c.model_config.canary.src_lang,
693-
&c.model_config.canary.tgt_lang,
694-
&c.model_config.wenet_ctc.model,
695-
&c.model_config.medasr.model,
696-
&c.model_config.omnilingual.model,
697-
&c.model_config.tokens,
698-
&c.model_config.provider,
699-
&c.model_config.model_type,
700-
&c.model_config.modeling_unit,
701-
&c.model_config.bpe_vocab,
702-
&c.model_config.telespeech_ctc,
703-
&c.lm_config.model,
704-
&c.decoding_method,
705-
&c.hotwords_file,
706-
&c.rule_fsts,
707-
&c.rule_fars,
708-
&c.hr.lexicon,
709-
&c.hr.rule_fsts,
710-
}
711-
712-
for _, field := range stringFields {
713-
if *field != nil {
714-
C.free(unsafe.Pointer(*field))
715-
*field = nil
716-
}
717-
}
663+
&c.model_config.transducer.encoder,
664+
&c.model_config.transducer.decoder,
665+
&c.model_config.transducer.joiner,
666+
&c.model_config.paraformer.model,
667+
&c.model_config.nemo_ctc.model,
668+
&c.model_config.whisper.encoder,
669+
&c.model_config.whisper.decoder,
670+
&c.model_config.whisper.language,
671+
&c.model_config.whisper.task,
672+
&c.model_config.tdnn.model,
673+
&c.model_config.sense_voice.model,
674+
&c.model_config.sense_voice.language,
675+
&c.model_config.moonshine.preprocessor,
676+
&c.model_config.moonshine.encoder,
677+
&c.model_config.moonshine.uncached_decoder,
678+
&c.model_config.moonshine.cached_decoder,
679+
&c.model_config.fire_red_asr.encoder,
680+
&c.model_config.fire_red_asr.decoder,
681+
&c.model_config.funasr_nano.encoder_adaptor,
682+
&c.model_config.funasr_nano.llm_prefill,
683+
&c.model_config.funasr_nano.llm_decode,
684+
&c.model_config.funasr_nano.embedding,
685+
&c.model_config.funasr_nano.tokenizer,
686+
&c.model_config.funasr_nano.system_prompt,
687+
&c.model_config.funasr_nano.user_prompt,
688+
&c.model_config.dolphin.model,
689+
&c.model_config.zipformer_ctc.model,
690+
&c.model_config.canary.encoder,
691+
&c.model_config.canary.decoder,
692+
&c.model_config.canary.src_lang,
693+
&c.model_config.canary.tgt_lang,
694+
&c.model_config.wenet_ctc.model,
695+
&c.model_config.medasr.model,
696+
&c.model_config.omnilingual.model,
697+
&c.model_config.tokens,
698+
&c.model_config.provider,
699+
&c.model_config.model_type,
700+
&c.model_config.modeling_unit,
701+
&c.model_config.bpe_vocab,
702+
&c.model_config.telespeech_ctc,
703+
&c.lm_config.model,
704+
&c.decoding_method,
705+
&c.hotwords_file,
706+
&c.rule_fsts,
707+
&c.rule_fars,
708+
&c.hr.lexicon,
709+
&c.hr.rule_fsts,
710+
}
711+
712+
for _, field := range stringFields {
713+
if *field != nil {
714+
C.free(unsafe.Pointer(*field))
715+
*field = nil
716+
}
717+
}
718718
}
719719

720720
// Frees the internal pointer of the recognition to avoid memory leak.

0 commit comments

Comments
 (0)