Skip to content
Snippets Groups Projects

publish performance fixes & moving build infra from aptly-repository

Merged Ryan Gonzalez requested to merge wip/refi64/publish-perf-cofork into collabora/staging
37 files
+ 1247
81
Compare changes
  • Side-by-side
  • Inline
Files
37
+ 10
10
@@ -6,8 +6,10 @@ import (
@@ -6,8 +6,10 @@ import (
"os"
"os"
"path/filepath"
"path/filepath"
"strings"
"strings"
 
"sync"
"github.com/gin-gonic/gin"
"github.com/gin-gonic/gin"
 
"github.com/saracen/walker"
)
)
func verifyPath(path string) bool {
func verifyPath(path string) bool {
@@ -34,17 +36,16 @@ func verifyDir(c *gin.Context) bool {
@@ -34,17 +36,16 @@ func verifyDir(c *gin.Context) bool {
// GET /files
// GET /files
func apiFilesListDirs(c *gin.Context) {
func apiFilesListDirs(c *gin.Context) {
list := []string{}
list := []string{}
 
listLock := &sync.Mutex{}
err := filepath.Walk(context.UploadPath(), func(path string, info os.FileInfo, err error) error {
err := walker.Walk(context.UploadPath(), func(path string, info os.FileInfo) error {
if err != nil {
return err
}
if path == context.UploadPath() {
if path == context.UploadPath() {
return nil
return nil
}
}
if info.IsDir() {
if info.IsDir() {
 
listLock.Lock()
 
defer listLock.Unlock()
list = append(list, filepath.Base(path))
list = append(list, filepath.Base(path))
return filepath.SkipDir
return filepath.SkipDir
}
}
@@ -121,17 +122,16 @@ func apiFilesListFiles(c *gin.Context) {
@@ -121,17 +122,16 @@ func apiFilesListFiles(c *gin.Context) {
}
}
list := []string{}
list := []string{}
 
listLock := &sync.Mutex{}
root := filepath.Join(context.UploadPath(), c.Params.ByName("dir"))
root := filepath.Join(context.UploadPath(), c.Params.ByName("dir"))
err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
err := walker.Walk(root, func(path string, info os.FileInfo) error {
if err != nil {
return err
}
if path == root {
if path == root {
return nil
return nil
}
}
 
listLock.Lock()
 
defer listLock.Unlock()
list = append(list, filepath.Base(path))
list = append(list, filepath.Base(path))
return nil
return nil
Loading