[WIP] migration to psql
TODO: [ ] stats [ ] indexes
This commit is contained in:
parent
e1bd235785
commit
e72de38725
24 changed files with 648 additions and 936 deletions
|
@ -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)
|
||||
|
|
Reference in a new issue