mozhi/utils/retrieve.go

88 lines
2.8 KiB
Go
Raw Normal View History

2023-07-22 19:50:21 +05:30
package utils
//import (
// "github.com/gocolly/colly"
// "os"
// "strings"
//)
//
//type List struct {
// Name string
// Id string
//}
2023-07-22 19:54:15 +05:30
//// To get new language lists for google yandex and libertranslate.
2023-07-22 19:50:21 +05:30
//func LangListGoogle(listType string) []List {
// UserAgent, ok := os.LookupEnv("MOZHI_USER_AGENT")
2023-07-22 19:50:21 +05:30
// if !ok {
// UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36"
// }
// sc := colly.NewCollector(colly.AllowedDomains("translate.google.com"), colly.UserAgent(UserAgent))
// var ListData []List
// sc.OnHTML("div.root-container", func(e *colly.HTMLElement) {
// e.ForEach("div.language-item", func(i int, el *colly.HTMLElement) {
// var ListInfo List
// ListInfo.Name = el.ChildText("a")
// if listType == "tl" {
// ListInfo.Id = strings.TrimPrefix(strings.TrimSuffix(el.ChildAttr("a", "href"), "&hl=en-US"), "./m?sl=en&tl=")
// } else {
// ListInfo.Id = strings.TrimPrefix(strings.TrimSuffix(el.ChildAttr("a", "href"), "&tl=en&hl=en-US"), "./m?sl=")
// }
// ListData = append(ListData, ListInfo)
// })
// })
// url := "https://translate.google.com/m?sl=en&tl=en&hl=en-US&mui=" + listType
// sc.Visit(url)
// return ListData
//}
//func LangListLibreTranslate(listType string) []List {
// // TODO: Make it configurable
// libreTranslateOut := PostRequest("https://translate.argosopentech.com/languages", []byte(""))
// gjsonArr := libreTranslateOut.Array()
// var ListData []List
// for _, r := range gjsonArr {
// code := r.Get("code").String()
// name := r.Get("name").String()
2023-07-22 19:54:15 +05:30
//
2023-07-22 19:50:21 +05:30
// ListData = append(ListData, List{Id: code, Name: name})
// }
// if listType == "sl" {
// auto := List{
// Id: "auto",
// Name: "Detect Language",
// }
// ListData = append(ListData, auto)
// }
// return ListData
//}
//func LangListYandex(listType string) []List {
// UserAgent, ok := os.LookupEnv("MOZHI_USER_AGENT")
2023-07-22 19:50:21 +05:30
// if !ok {
// UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36"
// }
// sc := colly.NewCollector(colly.AllowedDomains("localhost:8000"), colly.UserAgent(UserAgent))
// var ListData []List
// sc.OnHTML("table.langs", func(e *colly.HTMLElement) {
// if listType == "sl" {
// e.ForEach("select[name='from'] option", func(i int, el *colly.HTMLElement) {
// var ListInfo List
// ListInfo.Name = el.Text
// ListInfo.Id = el.Attr("value")
// ListData = append(ListData, ListInfo)
// })
// } else {
// e.ForEach("select[name='to'] option", func(i int, el *colly.HTMLElement) {
// var ListInfo List
// ListInfo.Name = el.Text
// ListInfo.Id = el.Attr("value")
// ListData = append(ListData, ListInfo)
// })
//
// }
// })
// // Static version of translate.yandex.net nojs/mobile version
// url := "http://localhost:8000/index.html"
// sc.Visit(url)
// return ListData
//}
//