Skip to content

Commit

Permalink
refactor: 调整目录结构; 统一cron实现; 调整log; 引入nohup;
Browse files Browse the repository at this point in the history
  • Loading branch information
speauty committed Apr 13, 2023
1 parent ad0b2f7 commit 97ea9eb
Show file tree
Hide file tree
Showing 78 changed files with 1,052 additions and 950 deletions.
4 changes: 2 additions & 2 deletions .run/translator.run.xml → .run/anto.run.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="translator" type="GoApplicationRunConfiguration" factoryName="Go Application">
<configuration default="false" name="anto" type="GoApplicationRunConfiguration" factoryName="Go Application">
<module name="工具-字幕翻译" />
<working_directory value="$PROJECT_DIR$/bin" />
<EXTENSION ID="net.ashald.envfile">
Expand All @@ -13,7 +13,7 @@
</ENTRIES>
</EXTENSION>
<kind value="PACKAGE" />
<package value="translator" />
<package value="anto" />
<directory value="$PROJECT_DIR$" />
<filePath value="$PROJECT_DIR$/app.go" />
<output_directory value="$PROJECT_DIR$/bin" />
Expand Down
66 changes: 39 additions & 27 deletions app.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,59 +4,71 @@ import (
"anto/boot"
"anto/cfg"
_const "anto/const"
"anto/cron/detector"
"anto/cron/reader"
"anto/cron/translate"
"anto/cron/writer"
"anto/dependency/service/translator/ali_cloud_mt"
"anto/dependency/service/translator/baidu"
"anto/dependency/service/translator/caiyunai"
"anto/dependency/service/translator/huawei_cloud_nlp"
"anto/dependency/service/translator/ling_va"
"anto/dependency/service/translator/openapi_youdao"
"anto/dependency/service/translator/tencent_cloud_mt"
"anto/dependency/service/translator/youdao"
"anto/domain"
"anto/lib/log"
"anto/lib/nohup"
"anto/lib/ui"
"anto/menu"
"anto/page"
"anto/tst/tt_log"
"anto/tst/tt_translator/ali_cloud_mt"
"anto/tst/tt_translator/baidu"
"anto/tst/tt_translator/caiyunai"
"anto/tst/tt_translator/huawei_cloud_nlp"
"anto/tst/tt_translator/ling_va"
"anto/tst/tt_translator/openapi_youdao"
"anto/tst/tt_translator/tencent_cloud_mt"
"anto/tst/tt_translator/youdao"
"anto/tst/tt_ui"
"context"
)

func main() {
ctx := context.Background()

new(boot.ResourceBuilder).Install()

if err := cfg.GetInstance().Load(""); err != nil {
panic(err)
}
cfg.GetInstance().App.Author = _const.Author
cfg.GetInstance().App.Version = _const.Version
tt_log.GetInstance()
log.Singleton()

cfg.GetInstance().UI.Title = cfg.GetInstance().NewUITitle()

huawei_cloud_nlp.GetInstance().Init(cfg.GetInstance().HuaweiCloudNlp)
ling_va.GetInstance().Init(cfg.GetInstance().LingVA)
baidu.GetInstance().Init(cfg.GetInstance().Baidu)
tencent_cloud_mt.GetInstance().Init(cfg.GetInstance().TencentCloudMT)
openapi_youdao.GetInstance().Init(cfg.GetInstance().OpenAPIYouDao)
ali_cloud_mt.GetInstance().Init(cfg.GetInstance().AliCloudMT)
caiyunai.GetInstance().Init(cfg.GetInstance().CaiYunAI)
huawei_cloud_nlp.Singleton().Init(cfg.GetInstance().HuaweiCloudNlp)
ling_va.Singleton().Init(cfg.GetInstance().LingVA)
baidu.Singleton().Init(cfg.GetInstance().Baidu)
tencent_cloud_mt.Singleton().Init(cfg.GetInstance().TencentCloudMT)
openapi_youdao.Singleton().Init(cfg.GetInstance().OpenAPIYouDao)
ali_cloud_mt.Singleton().Init(cfg.GetInstance().AliCloudMT)
caiyunai.Singleton().Init(cfg.GetInstance().CaiYunAI)

domain.GetTranslators().Register(
huawei_cloud_nlp.GetInstance(),
youdao.GetInstance(), ling_va.GetInstance(), baidu.GetInstance(),
tencent_cloud_mt.GetInstance(), openapi_youdao.GetInstance(),
ali_cloud_mt.GetInstance(), caiyunai.GetInstance(),
huawei_cloud_nlp.Singleton(),
youdao.Singleton(), ling_va.Singleton(), baidu.Singleton(),
tencent_cloud_mt.Singleton(), openapi_youdao.Singleton(),
ali_cloud_mt.Singleton(), caiyunai.Singleton(),
)

tt_ui.GetInstance().RegisterMenus(menu.GetInstance().GetMenus())
ui.GetInstance().RegisterMenus(menu.GetInstance().GetMenus())

tt_ui.GetInstance().RegisterPages(
ui.GetInstance().RegisterPages(
page.GetAboutUs(), page.GetSettings(), page.GetUsage(), page.GetSubripTranslate(),
)

if err := tt_ui.GetInstance().Init(cfg.GetInstance().UI); err != nil {
if err := ui.GetInstance().Init(cfg.GetInstance().UI); err != nil {
panic(err)
}

_ = tt_ui.GetInstance().GoPage(page.GetAboutUs().GetId())
_ = ui.GetInstance().GoPage(page.GetAboutUs().GetId())

tt_ui.GetInstance().Run()
nohup.NewResident(
ctx,
detector.Singleton(), reader.Singleton(), translate.Singleton(), writer.Singleton(),
ui.GetInstance(),
)
}
20 changes: 10 additions & 10 deletions cfg/cfg.go
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package cfg

import (
"anto/tst/tt_translator/ali_cloud_mt"
"anto/tst/tt_translator/baidu"
"anto/tst/tt_translator/caiyunai"
"anto/tst/tt_translator/huawei_cloud_nlp"
"anto/tst/tt_translator/ling_va"
"anto/tst/tt_translator/openapi_youdao"
"anto/tst/tt_translator/tencent_cloud_mt"
"anto/tst/tt_ui"
"anto/dependency/service/translator/ali_cloud_mt"
"anto/dependency/service/translator/baidu"
"anto/dependency/service/translator/caiyunai"
"anto/dependency/service/translator/huawei_cloud_nlp"
"anto/dependency/service/translator/ling_va"
"anto/dependency/service/translator/openapi_youdao"
"anto/dependency/service/translator/tencent_cloud_mt"
"anto/lib/ui"
"fmt"
"sync"
)
Expand All @@ -22,7 +22,7 @@ func GetInstance() *Cfg {
onceCfg.Do(func() {
apiCfg = new(Cfg)
apiCfg.App = App{}.Default()
apiCfg.UI = tt_ui.Cfg{}.Default()
apiCfg.UI = ui.Cfg{}.Default()
apiCfg.HuaweiCloudNlp = huawei_cloud_nlp.Cfg{}.Default()
apiCfg.LingVA = ling_va.Cfg{}.Default()
apiCfg.Baidu = baidu.Cfg{}.Default()
Expand All @@ -36,7 +36,7 @@ func GetInstance() *Cfg {

type Cfg struct {
App *App `mapstructure:"-"`
UI *tt_ui.Cfg `mapstructure:"-"`
UI *ui.Cfg `mapstructure:"-"`
HuaweiCloudNlp *huawei_cloud_nlp.Cfg `mapstructure:"huawei_cloud_nlp"`
LingVA *ling_va.Cfg `mapstructure:"ling_va"`
Baidu *baidu.Cfg `mapstructure:"baidu"`
Expand Down
31 changes: 31 additions & 0 deletions cron/detector/data.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package detector

import (
"anto/cron/reader"
"anto/cron/translate"
"anto/dependency/service/translator"
_type "anto/type"
)

type StrDetectorData struct {
Translator translator.InterfaceTranslator
FromLang string
ToLang string
TranslateMode _type.TranslateMode
MainTrackReport _type.LangDirection
SrtFile string
SrtDir string
FlagTrackExport int
}

func (customData StrDetectorData) toReaderData(filePath string) *reader.SrtReaderData {
return &reader.SrtReaderData{
FilePath: filePath,
PtrTranslatorOpts: &translate.SrtTranslateOpts{
Translator: customData.Translator,
FromLang: customData.FromLang, ToLang: customData.ToLang,
TranslateMode: customData.TranslateMode, MainTrackReport: customData.MainTrackReport,
FlagTrackExport: customData.FlagTrackExport,
},
}
}
Loading

0 comments on commit 97ea9eb

Please sign in to comment.