Skip to content

Commit

Permalink
source: Fix golint godoc issues
Browse files Browse the repository at this point in the history
  • Loading branch information
moorereason authored and bep committed Sep 7, 2018
1 parent 5f2e1cb commit 600047f
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 17 deletions.
56 changes: 39 additions & 17 deletions source/fileInfo.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ var (
_ ReadableFile = (*FileInfo)(nil)
)

// File represents a source file.
type File interface {

// Filename gets the full path and filename to the file.
Expand Down Expand Up @@ -84,6 +85,7 @@ type ReadableFile interface {
Open() (io.ReadCloser, error)
}

// FileInfo describes a source file.
type FileInfo struct {

// Absolute filename to the file on disk.
Expand Down Expand Up @@ -112,31 +114,56 @@ type FileInfo struct {
lazyInit sync.Once
}

func (fi *FileInfo) Filename() string { return fi.filename }
func (fi *FileInfo) Path() string { return fi.relPath }
func (fi *FileInfo) Dir() string { return fi.relDir }
func (fi *FileInfo) Extension() string { return fi.Ext() }
func (fi *FileInfo) Ext() string { return fi.ext }
func (fi *FileInfo) Lang() string { return fi.lang }
func (fi *FileInfo) LogicalName() string { return fi.name }
func (fi *FileInfo) BaseFileName() string { return fi.baseName }
// Filename returns a file's filename.
func (fi *FileInfo) Filename() string { return fi.filename }

// Path returns a file's relative path.
func (fi *FileInfo) Path() string { return fi.relPath }

// Dir returns a file's directory.
func (fi *FileInfo) Dir() string { return fi.relDir }

// Extension returns a file's extension.
func (fi *FileInfo) Extension() string { return fi.Ext() }

// Ext returns a file's extension without the leading period.
func (fi *FileInfo) Ext() string { return fi.ext }

// Lang returns a file's language.
func (fi *FileInfo) Lang() string { return fi.lang }

// LogicalName returns a file's name.
func (fi *FileInfo) LogicalName() string { return fi.name }

// BaseFileName returns a file's base name.
func (fi *FileInfo) BaseFileName() string { return fi.baseName }

// TranslationBaseName returns a file's translation base name.
func (fi *FileInfo) TranslationBaseName() string { return fi.translationBaseName }

// Section returns a file's section.
func (fi *FileInfo) Section() string {
fi.init()
return fi.section
}

// UniqueID returns a file's unique identifier.
func (fi *FileInfo) UniqueID() string {
fi.init()
return fi.uniqueID
}
func (fi *FileInfo) FileInfo() os.FileInfo {
return fi.fi
}

// FileInfo returns a file's underlying os.FileInfo.
func (fi *FileInfo) FileInfo() os.FileInfo { return fi.fi }

func (fi *FileInfo) String() string { return fi.BaseFileName() }

// Open implements ReadableFile.
func (fi *FileInfo) Open() (io.ReadCloser, error) {
f, err := fi.sp.SourceFs.Open(fi.Filename())
return f, err
}

// We create a lot of these FileInfo objects, but there are parts of it used only
// in some cases that is slightly expensive to construct.
func (fi *FileInfo) init() {
Expand All @@ -155,6 +182,7 @@ func (fi *FileInfo) init() {
})
}

// NewFileInfo returns a new FileInfo structure.
func (sp *SourceSpec) NewFileInfo(baseDir, filename string, isLeafBundle bool, fi os.FileInfo) *FileInfo {

var lang, translationBaseName, relPath string
Expand Down Expand Up @@ -218,12 +246,6 @@ func (sp *SourceSpec) NewFileInfo(baseDir, filename string, isLeafBundle bool, f

}

// Open implements ReadableFile.
func (fi *FileInfo) Open() (io.ReadCloser, error) {
f, err := fi.sp.SourceFs.Open(fi.Filename())
return f, err
}

func printFs(fs afero.Fs, path string, w io.Writer) {
if fs == nil {
return
Expand Down
4 changes: 4 additions & 0 deletions source/filesystem.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import (
"golang.org/x/text/unicode/norm"
)

// Filesystem represents a source filesystem.
type Filesystem struct {
files []ReadableFile
filesInit sync.Once
Expand All @@ -33,14 +34,17 @@ type Filesystem struct {
SourceSpec
}

// Input describes a source input.
type Input interface {
Files() []ReadableFile
}

// NewFilesystem returns a new filesytem for a given source spec.
func (sp SourceSpec) NewFilesystem(base string) *Filesystem {
return &Filesystem{SourceSpec: sp, Base: base}
}

// Files returns a slice of readable files.
func (f *Filesystem) Files() []ReadableFile {
f.filesInit.Do(func() {
f.captureFiles()
Expand Down
3 changes: 3 additions & 0 deletions source/sourceSpec.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ func NewSourceSpec(ps *helpers.PathSpec, fs afero.Fs) *SourceSpec {

}

// IgnoreFile returns whether a given file should be ignored.
func (s *SourceSpec) IgnoreFile(filename string) bool {
if filename == "" {
if _, ok := s.SourceFs.(*afero.OsFs); ok {
Expand Down Expand Up @@ -109,6 +110,8 @@ func (s *SourceSpec) IgnoreFile(filename string) bool {
return false
}

// IsRegularSourceFile returns whether filename represents a regular file in the
// source filesystem.
func (s *SourceSpec) IsRegularSourceFile(filename string) (bool, error) {
fi, err := helpers.LstatIfPossible(s.SourceFs, filename)
if err != nil {
Expand Down

0 comments on commit 600047f

Please sign in to comment.