mirror of
https://github.com/c0re100/gotdlib.git
synced 2026-02-21 20:20:17 +01:00
schema improvement
This commit is contained in:
parent
ccea55b18f
commit
c780ca35c4
7 changed files with 732 additions and 326 deletions
|
|
@ -4,6 +4,7 @@ import (
|
|||
"bufio"
|
||||
"flag"
|
||||
"log"
|
||||
"net/http"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
|
|
@ -12,7 +13,7 @@ import (
|
|||
)
|
||||
|
||||
type config struct {
|
||||
schemaFilePath string
|
||||
version string
|
||||
outputDirPath string
|
||||
packageName string
|
||||
functionFileName string
|
||||
|
|
@ -23,7 +24,7 @@ type config struct {
|
|||
func main() {
|
||||
var config config
|
||||
|
||||
flag.StringVar(&config.schemaFilePath, "schema", "./td_api.tl", ".tl schema file")
|
||||
flag.StringVar(&config.version, "version", "", "TDLib version")
|
||||
flag.StringVar(&config.outputDirPath, "outputDir", "./tdlib", "output directory")
|
||||
flag.StringVar(&config.packageName, "package", "tdlib", "package name")
|
||||
flag.StringVar(&config.functionFileName, "functionFile", "function.go", "functions filename")
|
||||
|
|
@ -32,15 +33,17 @@ func main() {
|
|||
|
||||
flag.Parse()
|
||||
|
||||
schemaFile, err := os.OpenFile(config.schemaFilePath, os.O_RDONLY, os.ModePerm)
|
||||
resp, err := http.Get("https://raw.githubusercontent.com/tdlib/td/" + config.version + "/td/generate/scheme/td_api.tl")
|
||||
if err != nil {
|
||||
log.Fatalf("schemaFile open error: %s", err)
|
||||
log.Fatalf("http.Get error: %s", err)
|
||||
return
|
||||
}
|
||||
defer schemaFile.Close()
|
||||
defer resp.Body.Close()
|
||||
|
||||
schema, err := tlparser.Parse(schemaFile)
|
||||
schema, err := tlparser.Parse(resp.Body)
|
||||
if err != nil {
|
||||
log.Fatalf("schema parse error: %s", err)
|
||||
return
|
||||
}
|
||||
|
||||
err = os.MkdirAll(config.outputDirPath, 0755)
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import (
|
|||
"encoding/json"
|
||||
"flag"
|
||||
"log"
|
||||
"net/http"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
|
@ -12,33 +13,46 @@ import (
|
|||
)
|
||||
|
||||
func main() {
|
||||
var inputFilePath string
|
||||
var version string
|
||||
var outputFilePath string
|
||||
|
||||
flag.StringVar(&inputFilePath, "input", "./td_api.tl", "tl schema file")
|
||||
flag.StringVar(&version, "version", "", "TDLib version")
|
||||
flag.StringVar(&outputFilePath, "output", "./td_api.json", "json schema file")
|
||||
|
||||
flag.Parse()
|
||||
|
||||
file, err := os.OpenFile(inputFilePath, os.O_RDONLY, os.ModePerm)
|
||||
resp, err := http.Get("https://raw.githubusercontent.com/tdlib/td/" + version + "/td/generate/scheme/td_api.tl")
|
||||
if err != nil {
|
||||
log.Fatalf("open file error: %s", err)
|
||||
log.Fatalf("http.Get error: %s", err)
|
||||
return
|
||||
}
|
||||
defer file.Close()
|
||||
defer resp.Body.Close()
|
||||
|
||||
schema, err := tlparser.Parse(file)
|
||||
schema, err := tlparser.Parse(resp.Body)
|
||||
if err != nil {
|
||||
log.Fatalf("schema parse error: %s", err)
|
||||
return
|
||||
}
|
||||
|
||||
resp, err = http.Get("https://raw.githubusercontent.com/tdlib/td/" + version + "/td/telegram/Td.cpp")
|
||||
if err != nil {
|
||||
log.Fatalf("http.Get error: %s", err)
|
||||
return
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
err = tlparser.ParseCode(resp.Body, schema)
|
||||
if err != nil {
|
||||
log.Fatalf("parse code error: %s", err)
|
||||
return
|
||||
}
|
||||
|
||||
err = os.MkdirAll(filepath.Dir(outputFilePath), os.ModePerm)
|
||||
if err != nil {
|
||||
log.Fatalf("make dir error: %s", filepath.Dir(outputFilePath))
|
||||
}
|
||||
|
||||
file, err = os.OpenFile(outputFilePath, os.O_CREATE|os.O_RDWR|os.O_TRUNC, os.ModePerm)
|
||||
file, err := os.OpenFile(outputFilePath, os.O_CREATE|os.O_RDWR|os.O_TRUNC, os.ModePerm)
|
||||
if err != nil {
|
||||
log.Fatalf("open file error: %s", err)
|
||||
return
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue