summaryrefslogtreecommitdiff
path: root/doIncoming.go
diff options
context:
space:
mode:
Diffstat (limited to 'doIncoming.go')
-rw-r--r--doIncoming.go24
1 files changed, 15 insertions, 9 deletions
diff --git a/doIncoming.go b/doIncoming.go
index ed5b4a0..33aab32 100644
--- a/doIncoming.go
+++ b/doIncoming.go
@@ -25,19 +25,25 @@ func doIncoming(pb *zoopb.Packages) (string, error) {
if !info.IsDir() && strings.HasSuffix(info.Name(), ".deb") {
counter += 1
- found := me.pb.FindByFilename(path)
- if found == nil {
- log.Printf("new file %s\n", path)
- newcount += 1
+ if found := me.pb.FindByFilename(path); found != nil {
+ // log.Printf("not new file %s\n", path)
return nil
}
+ newcount += 1
if strings.HasPrefix(path, "pool/main/incoming") {
- letteredDir := log.Sprintf("%1.1s", found.Package)
_, filename := filepath.Split(path)
- newfilename := filepath.Join("pool/main", letteredDir, found.Package, filename)
+ parts := strings.Split(filename, "_")
+ if len(parts) != 3 {
+ // todo: add more filename checking here (check for ".deb")
+ log.Println("bad filenae", filename)
+ return nil
+ }
+ packageName := parts[0]
+ letteredDir := log.Sprintf("%1.1s", filename)
+ newfilename := filepath.Join("pool/main", letteredDir, packageName, filename)
destDir := filepath.Dir(newfilename)
- if err := os.MkdirAll(destDir, 0755); err != nil {
- log.Printf("%s move incoming oldname %s newname: %s\n", found.Package, path, newfilename)
+ if err := os.MkdirAll(destDir, os.ModePerm); err != nil {
+ log.Printf("%s move incoming oldname %s newname: %s\n", packageName, path, newfilename)
log.Fatal("Failed to create destination directory: %v", err)
}
if !argv.Force {
@@ -59,7 +65,7 @@ func doIncoming(pb *zoopb.Packages) (string, error) {
}
}
os.Rename(path, newfilename)
- log.Printf("%s moved incoming oldname %s newname: %s\n", found.Package, path, newfilename)
+ log.Printf("%s moved incoming oldname %s newname: %s\n", packageName, path, newfilename)
incount += 1
if incount > 100 {
me.sh.GoodExit("file moved")