diff --git a/opf.go b/opf.go index 8b6457de27a6c49b241c9e2fa8aa9683b1394191..28c9cb63e4091a99ce61865c55dbc385bbd41be9 100644 --- a/opf.go +++ b/opf.go @@ -4,7 +4,6 @@ import ( "encoding/xml" "errors" "io" - "os" "path/filepath" "strings" ) @@ -67,8 +66,8 @@ func opfParse(r io.Reader) (*Metadata, error) { return opf.Meta.ToMetadata(), nil } -func opfOpen(path string) (*Metadata, error) { - file, err := os.Open(path) +func opfOpen(storage *FileStorage, path string) (*Metadata, error) { + file, err := storage.Open(path) if err != nil { return nil, err } @@ -88,7 +87,7 @@ func (p *opfProvider) Lookup(storage *FileStorage, path, filetype string) (*Meta replaceExt(path, ".opf"), } for _, opfpath := range paths { - if m, err := opfOpen(storage.Abs(opfpath)); err == nil { + if m, err := opfOpen(storage, opfpath); err == nil { return m, err } } diff --git a/sync.go b/sync.go index 6a49f53bc4c200203e1ef519b9c4be0bb96c146e..db4b959f7fada0d51b0b7c42a9fe90879af968c8 100644 --- a/sync.go +++ b/sync.go @@ -9,7 +9,6 @@ import ( "mime/multipart" "net/http" "net/url" - "os" "path/filepath" "strings" "sync" @@ -91,8 +90,8 @@ func (r *remoteServer) DiffRequest(diffreq *diffRequest) (*diffResponse, error) return &diffresp, nil } -func addFilePart(w *multipart.Writer, varname, filename, mimeFilename string) error { - file, err := os.Open(filename) +func addFilePart(w *multipart.Writer, varname string, storage *FileStorage, filename, mimeFilename string) error { + file, err := storage.Open(filename) if err != nil { return err } @@ -128,14 +127,14 @@ func (r *remoteServer) SendBook(book *Book, storage *FileStorage, files []*File) for i, f := range files { varname := fmt.Sprintf("book%d", i) filename := fmt.Sprintf("%d%s", book.Id, f.FileType) - if err := addFilePart(w, varname, storage.Abs(f.Path), filename); err != nil { + if err := addFilePart(w, varname, storage, f.Path, filename); err != nil { w.Close() return err } } if book.CoverPath != "" { - if err := addFilePart(w, "cover", storage.Abs(book.CoverPath), "cover.jpg"); err != nil { + if err := addFilePart(w, "cover", storage, book.CoverPath, "cover.jpg"); err != nil { w.Close() return err }