Add Flutter text to speech demo (#1087)

This commit is contained in:
Fangjun Kuang
2024-07-08 11:23:11 +08:00
committed by GitHub
parent 1fe12c5107
commit e832d356c7
133 changed files with 6686 additions and 143 deletions

View File

@@ -0,0 +1,69 @@
#!/usr/bin/env python3
"""
This file assumes that
assets:
is the last line in ./pubspec.yaml
It reads the file names of all files from the ./assets folder
and turns them as assets and writes them into ./pubspec.yaml
"""
import os
def main():
target = "./assets"
excluded_ext = [
".gitkeep",
".onnx.json",
".py",
".sh",
"*.md",
"MODEL_CARD",
]
sep = " "
ss = []
for root, d, files in os.walk(target):
for f in files:
skip = False
for p in excluded_ext:
if f.endswith(p):
skip = True
break
if skip:
continue
t = os.path.join(root, f).replace("\\", "/")
ss.append("{sep}- {t}".format(sep=sep, t=t))
# read pub.spec.yaml
with open("./pubspec.yaml", encoding="utf-8") as f:
lines = f.readlines()
found_assets = False
with open("./pubspec.yaml", "w", encoding="utf-8") as f:
for line in lines:
if line == " assets:\n":
assert found_assets is False
found_assets = True
if len(ss) > 0:
f.write(line)
if not found_assets:
f.write(line)
continue
for s in ss:
f.write("{s}\n".format(s=s))
break
if not found_assets and ss:
f.write(" assets:\n")
for s in ss:
f.write("{s}\n".format(s=s))
if __name__ == "__main__":
main()