From 679df42ddeb8e8e0e5e7514b99aa3130ddcccc18 Mon Sep 17 00:00:00 2001 From: Las Zenow Date: Tue, 31 Jul 2012 00:38:06 +0200 Subject: [PATCH] Organize the books on folders --- upload/upload.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/upload/upload.go b/upload/upload.go index c82c35f..fad2fbf 100644 --- a/upload/upload.go +++ b/upload/upload.go @@ -88,14 +88,13 @@ func keywords(b Book) (k []string) { func store(coll *mgo.Collection, path string) { var book Book - e, err := epub.Open(PATH+path, 0) + e, err := epub.Open(PATH+"in/"+path, 0) if err != nil { fmt.Println(path) panic(err) // TODO: do something } defer e.Close() - // TODO: do it for all metadata book.Title = strings.Join(e.Metadata(epub.EPUB_TITLE), ", ") book.Author = parseAuthr(e.Metadata(epub.EPUB_CREATOR)) book.Contributor = strings.Join(e.Metadata(epub.EPUB_CONTRIB), ", ") @@ -111,11 +110,14 @@ func store(coll *mgo.Collection, path string) { book.Coverage = strings.Join(e.Metadata(epub.EPUB_COVERAGE), ", ") book.Rights = strings.Join(e.Metadata(epub.EPUB_RIGHTS), ", ") book.Meta = strings.Join(e.Metadata(epub.EPUB_META), ", ") - book.Path = PATH + path + book.Path = PATH + path[:1] + "/" + path book.Cover, book.CoverSmall = getCover(e, path) book.Keywords = keywords(book) - coll.Insert(book) + + os.Mkdir(PATH + path[:1], os.ModePerm) + cmd := exec.Command("mv", PATH+"in/"+path, book.Path) + cmd.Run() } func main() { @@ -126,9 +128,9 @@ func main() { defer session.Close() coll := session.DB(DB_NAME).C(BOOKS_COLL) - f, err := os.Open(PATH) + f, err := os.Open(PATH + "in/") if err != nil { - fmt.Println(PATH) + fmt.Println(PATH + "in/") panic(err) // TODO: do something } names, err := f.Readdirnames(0)