some bug fixes
This commit is contained in:
parent
0e49d60994
commit
0e914c629e
16 changed files with 179 additions and 52 deletions
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue