some bug fixes

This commit is contained in:
ston1th 2019-05-05 19:06:51 +02:00
commit 0e914c629e
16 changed files with 179 additions and 52 deletions

View file

@ -179,11 +179,22 @@ func indexHandler(ctx *Context) {
case "GET":
earlyErr := make(chan error)
go func() {
err := ctx.Srv.FS.AddScan(path)
if err != nil {
select {
case earlyErr <- err:
default:
}
return
}
defer ctx.Srv.FS.RemoveScan(path)
file, txt, err := ctx.Srv.Scanner.Scan(path)
if err != nil {
select {
case earlyErr <- err:
default:
}
log.Printf("scanner: %s: %s", path, err)
return
}
id, err := ctx.Srv.DB.Index.Add(txt)
@ -306,15 +317,17 @@ func moveHandler(ctx *Context) {
}
name := ctx.Form("name")
dest := ctx.Form("destination")
newfile, err := ctx.Srv.FS.Move(path, dest, name)
moved, newfile, err := ctx.Srv.FS.Move(path, dest, name)
if err != nil {
ctx.Error(err)
return
}
err = ctx.Srv.DB.MoveFile(path, newfile)
if err != nil {
ctx.Error(err)
return
for _, m := range moved {
log.Debugf("move: %s to %s", m.Old, m.New)
err = ctx.Srv.DB.MoveFile(m.Old, m.New)
if err != nil {
log.Printf("move: %s: %s", m, err)
}
}
ctx.Redirect(newfile, http.StatusFound)
}
@ -411,6 +424,7 @@ func dirHandler(ctx *Context) {
Name: path,
Abs: core.RawPrefix + path,
Flag: ctx.Srv.DB.IsIndexed(path),
Scan: ctx.Srv.FS.CheckScan(path),
}
ctx.Data.Paths = fs.Paths(path)
ctx.Exec()

View file

@ -40,10 +40,11 @@ type HTTPServer struct {
res map[string][]byte
}
func NewHTTPServer(cfg core.Config, l net.Listener) (srv *HTTPServer) {
func NewHTTPServer(cfg core.Config, l net.Listener, s *scan.Scanner) (srv *HTTPServer) {
srv = &HTTPServer{
Config: cfg,
listener: l,
Scanner: s,
}
srv.handler = srv.buildRoutes()
srv.loadTemplates()
@ -56,10 +57,6 @@ func (s *HTTPServer) Start() (err error) {
if err != nil {
return errors.New("fs: " + err.Error())
}
s.Scanner, err = scan.New(s.Config.DataDir, nil, time.Second*30)
if err != nil {
return errors.New("tesseract: " + err.Error())
}
s.DB, err = db.New(s.Config)
if err != nil {
return errors.New("db: " + err.Error())

View file

@ -67,7 +67,7 @@ const (
{{if .Data}}
{{range $item := .Data.Dirs}}
<tr>
<th><a href="{{$item.Abs}}">{{$item.Name}}/</a></th>
<th><a href="{{$item.Abs}}">{{$item.Name}}</a></th>
<td>Directory</td>
<td><div class="btn-group">
<a href="/move{{$item.Abs}}" class="btn btn-sm btn-primary">Move</a>
@ -80,9 +80,13 @@ const (
<th><a href="{{$item.Abs}}">{{$item.Name}}</a></th>
<td>File</td>
<td><div class="btn-group">
{{if $item.Scan}}
<a href="#" class="btn btn-sm btn-warning">Scanning..</a>
{{else}}
{{if not $item.Flag}}
<a href="/index{{$item.Abs}}" class="btn btn-sm btn-success">Index</a>
{{end}}
{{end}}
<a href="/move{{$item.Abs}}" class="btn btn-sm btn-primary">Move</a>
<a href="/delete{{$item.Abs}}" class="btn btn-sm btn-danger">Delete</a>
</div></td>
@ -104,9 +108,13 @@ const (
{{end}}
</ol>
<div class="btn-group btn-breadcrumb">
{{if .Data.Scan}}
<a href="#" class="btn btn-sm btn-warning">Scanning..</a>
{{else}}
{{if not .Data.Flag}}
<a href="/index{{.Data.Name}}" class="btn btn-sm btn-success">Index</a>
{{end}}
{{end}}
<a href="/move{{.Data.Name}}" class="btn btn-sm btn-primary">Move</a>
<a href="/delete{{.Data.Name}}" class="btn btn-sm btn-danger">Delete</a>
</div>