[WIP] migration to psql

TODO:
[ ] stats
[ ] indexes
This commit is contained in:
Las Zenow 2016-07-30 07:10:33 -04:00
parent e1bd235785
commit e72de38725
24 changed files with 648 additions and 936 deletions

View file

@ -32,11 +32,8 @@ type uploadRequest struct {
}
func uploadWorker(database database.DB, store storage.Store) {
db := database.Copy()
defer db.Close()
for req := range uploadChannel {
processFile(req, db, store)
processFile(req, database, store)
}
}
@ -50,22 +47,23 @@ func processFile(req uploadRequest, db database.DB, store storage.Store) {
}
defer epub.Close()
id := genId()
metadata := parser.EpubMetadata(epub)
metadata["id"] = id
metadata["cover"] = GetCover(epub, id, store)
book := parser.EpubMetadata(epub)
book.Id = genId()
req.file.Seek(0, 0)
size, err := store.Store(id, req.file, epubFile)
size, err := store.Store(book.Id, req.file, epubFile)
if err != nil {
log.Error("Error storing book (", id, "): ", err)
log.Error("Error storing book (", book.Id, "): ", err)
return
}
metadata["filesize"] = size
err = db.AddBook(metadata)
book.FileSize = int(size)
book.Cover = GetCover(epub, book.Id, store)
err = db.AddBook(book)
log.Error(":", book.Lang, ":")
if err != nil {
log.Error("Error storing metadata (", id, "): ", err)
log.Error("Error storing metadata (", book.Id, "): ", err)
return
}
log.Info("File uploaded: ", req.filename)