repochecker/*-inspector: Refactor file opening
This commit is contained in:
parent
257c594dbe
commit
14f10c91db
4 changed files with 31 additions and 31 deletions
|
|
@ -3,19 +3,37 @@ package main
|
|||
import (
|
||||
"archive/zip"
|
||||
"fmt"
|
||||
"io"
|
||||
"log"
|
||||
|
||||
"srs.epita.fr/fic-server/admin/sync"
|
||||
"srs.epita.fr/fic-server/libfic"
|
||||
)
|
||||
|
||||
func checkZip(path string, file *fic.EFile, exceptions *sync.CheckExceptions) (errs []error) {
|
||||
r, err := zip.OpenReader(path)
|
||||
func checkZip(file *fic.EFile, exceptions *sync.CheckExceptions) (errs []error) {
|
||||
fd, closer, err := sync.GetFile(sync.GlobalImporter, file.GetOrigin())
|
||||
if err != nil {
|
||||
log.Printf("Unable to open %q: %s", path, err.Error())
|
||||
log.Printf("Unable to open %q: %s", file.GetOrigin(), err.Error())
|
||||
return
|
||||
}
|
||||
defer closer()
|
||||
|
||||
fdat, ok := fd.(io.ReaderAt)
|
||||
if !ok {
|
||||
log.Println("The current reader doesn't allow me to check this archive")
|
||||
}
|
||||
|
||||
size, err := sync.GetFileSize(sync.GlobalImporter, file.GetOrigin())
|
||||
if err != nil {
|
||||
log.Printf("Unable to calculate size of %q: %s", file.GetOrigin(), err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
r, err := zip.NewReader(fdat, size)
|
||||
if err != nil {
|
||||
log.Printf("Unable to open %q: %s", file.GetOrigin(), err.Error())
|
||||
return
|
||||
}
|
||||
defer r.Close()
|
||||
|
||||
if len(r.File) < 2 {
|
||||
if !exceptions.HasException(":one-file-tarball") {
|
||||
|
|
|
|||
Reference in a new issue