main.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. from fastapi import FastAPI
  2. from fastapi import Request
  3. from fastapi import Form
  4. import urllib
  5. import sys
  6. import os
  7. import codecs
  8. import html
  9. from typing import Optional
  10. from fastapi import FastAPI
  11. from pydantic import BaseModel
  12. import rpyc
  13. import zhtest
  14. from fastapi.middleware.cors import CORSMiddleware
  15. class Params(BaseModel):
  16. content: str
  17. title: str
  18. bg1: str
  19. class FName(BaseModel):
  20. fname: str
  21. class TTS(BaseModel):
  22. txt: str
  23. num: str
  24. # description: Optional[str] = None
  25. # price: float
  26. # tax: Optional[float] = None
  27. app = FastAPI()
  28. origins = [
  29. "https://seo.hhh.com.tw",
  30. "https://seo.googo.org",
  31. ]
  32. app.add_middleware(
  33. CORSMiddleware,
  34. allow_origins=origins,
  35. allow_credentials=True,
  36. allow_methods=["*"],
  37. allow_headers=["*"],
  38. )
  39. @app.post("/tts/audio_to_video")
  40. async def audio_to_video(item: FName):
  41. print(item.fname)
  42. fname=zhtest.to_video.delay(item.fname)
  43. print(fname)
  44. return {"OK": "200"}
  45. @app.post("/full_video")
  46. async def full_video(item: Params):
  47. print(item)
  48. fulldict={'content':item.content,'title':item.title,'bg1':item.bg1}
  49. fname=zhtest.full_task.delay(fulldict)
  50. return {"OK": "200"}
  51. @app.post("/tts")
  52. async def run_tts(item: TTS):
  53. print(item.txt)
  54. print(item.num)
  55. # import zhtest
  56. fname=zhtest.to_wav.delay(item.txt)
  57. print(fname)
  58. return {"OK": "200"}
  59. @app.get("/json/test")
  60. async def json_test():
  61. return {'files':['a','b','c','d','e']}
  62. @app.get("/gpu")
  63. async def get_gpu():
  64. conn = rpyc.classic.connect("139.162.121.30", 12333)
  65. conn.execute('import os')
  66. ros = conn.modules.os
  67. # lst=ros.listdir('/var/wav')
  68. return {'ok':'200'}
  69. @app.get("/tts/files")
  70. async def get_tts_files():
  71. conn = rpyc.classic.connect("139.162.121.30", 12333)
  72. conn.execute('import os')
  73. ros = conn.modules.os
  74. lst=ros.listdir('/var/wav')
  75. return {'files':lst}
  76. @app.get("/tts/videos")
  77. async def get_video_files():
  78. conn = rpyc.classic.connect("139.162.121.30", 12333)
  79. conn.execute('import os')
  80. ros = conn.modules.os
  81. lst=ros.listdir('/var/video')
  82. newlst=[]
  83. for l in lst:
  84. newlst.append('http://139.162.121.30:54321/'+l)
  85. return {'files':newlst}
  86. @app.get("/tts/s1_videos")
  87. async def s1_videos():
  88. conn = rpyc.classic.connect("139.162.121.30", 12333)
  89. conn.execute('import os')
  90. ros = conn.modules.os
  91. lst=ros.listdir('/var/video/s1')
  92. newlst=[]
  93. for l in lst:
  94. newlst.append('http://139.162.121.30:54321/s1/'+l)
  95. return {'files':newlst}
  96. @app.get("/")
  97. async def root():
  98. return {"message": "Hello World"}