39 lines
837 B
Go
39 lines
837 B
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"log"
|
|
"os"
|
|
"path/filepath"
|
|
"yoresee_dropbox/internal/app"
|
|
)
|
|
|
|
func main() {
|
|
addr := flag.String("addr", "127.0.0.1:8999", "Listen address")
|
|
workspace := flag.String("workspace", "./workspace", "Workspace directory")
|
|
token := flag.String("token", "", "Access token")
|
|
flag.Parse()
|
|
|
|
if *token == "" {
|
|
*token = os.Getenv("YDROPBOX_TOKEN")
|
|
}
|
|
if *token == "" {
|
|
log.Fatal("Token required: --token or YDROPBOX_TOKEN env")
|
|
}
|
|
|
|
absWorkspace, _ := filepath.Abs(*workspace)
|
|
os.MkdirAll(filepath.Join(absWorkspace, "inbox"), 0755)
|
|
os.MkdirAll(filepath.Join(absWorkspace, "outbox"), 0755)
|
|
os.MkdirAll(filepath.Join(absWorkspace, ".ydropbox"), 0755)
|
|
|
|
cfg := app.Config{
|
|
Addr: *addr,
|
|
Workspace: absWorkspace,
|
|
Token: *token,
|
|
}
|
|
|
|
if err := app.Run(cfg); err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
}
|