file

package
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 13, 2022 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LocalFileStorage = "File"
	FTPFileStorage   = "FTP"
)
View Source
const (
	TSV  = "tsv"
	CSV  = "csv"
	JSON = "json"
)
View Source
const (
	OKFlag = "OK"
	MD5    = "MD5"
	SHA1   = "SHA1"
	SHA256 = "SHA256"
	SHA512 = "SHA512"
)

Variables

This section is empty.

Functions

func Count

func Count(fd FileObjectModel) (int64, error)

func GetFileHandler

func GetFileHandler(ftype string) *fileHandler

func Merge

func Merge(src []FileObjectModel, dest FileObjectModel) error

func RegisterChecksumer

func RegisterChecksumer(key string, ch Checksumer)

func RegisterFileType

func RegisterFileType(ftype string, reader FileItemReader, writer FileItemWriter, mergeSplitter MergeSplitter)

func Split

func Split(srcFd FileObjectModel, destFds []FileObjectModel, strategy FileSplitStrategy) error

Types

type ChecksumFlusher

type ChecksumFlusher interface {
	Checksum(fd FileObjectModel) error
}

type ChecksumVerifier

type ChecksumVerifier interface {
	Verify(fd FileObjectModel) (bool, error)
}

type Checksumer

type Checksumer interface {
	ChecksumVerifier
	ChecksumFlusher
}

func GetChecksumer

func GetChecksumer(key string) Checksumer

type FTPFileInStream

type FTPFileInStream struct {
	// contains filtered or unexported fields
}

func (*FTPFileInStream) Close

func (fis *FTPFileInStream) Close() (err error)

func (*FTPFileInStream) Read

func (fis *FTPFileInStream) Read(p []byte) (n int, err error)

type FTPFileOutStream

type FTPFileOutStream struct {
	// contains filtered or unexported fields
}

func (*FTPFileOutStream) Close

func (fis *FTPFileOutStream) Close() (err error)

func (*FTPFileOutStream) Write

func (fis *FTPFileOutStream) Write(p []byte) (n int, err error)

type FTPFileSystem

type FTPFileSystem struct {
	Hort        string
	Port        int
	User        string
	Password    string
	ConnTimeout time.Duration
}

func (*FTPFileSystem) Create

func (fs *FTPFileSystem) Create(fileName, encoding string) (writer io.WriteCloser, err error)

func (*FTPFileSystem) Exists

func (fs *FTPFileSystem) Exists(fileName string) (bool, error)

func (*FTPFileSystem) Name

func (fs *FTPFileSystem) Name() string

func (*FTPFileSystem) Open

func (fs *FTPFileSystem) Open(fileName, encoding string) (io.ReadCloser, error)

type FileItemReader

type FileItemReader interface {
	Open(fd FileObjectModel) (handle interface{}, err error)
	Close(handle interface{}) error
	ReadItem(handle interface{}) (interface{}, error)
	SkipTo(handle interface{}, pos int64) error
	Count(fd FileObjectModel) (int64, error)
}

func GetFileItemReader

func GetFileItemReader(ftype string) FileItemReader

type FileItemWriter

type FileItemWriter interface {
	Open(fd FileObjectModel) (handle interface{}, err error)
	Close(handle interface{}) error
	WriteItem(handle interface{}, data interface{}) error
}

func GetFileItemWriter

func GetFileItemWriter(ftype string) FileItemWriter

type FileMerger

type FileMerger interface {
	Merge(src []FileObjectModel, dest FileObjectModel) (err error)
}

type FileMove

type FileMove struct {
	FromFileName  string
	FromFileStore FileStorage
	ToFileName    string
	ToFileStore   FileStorage
}

type FileObjectModel

type FileObjectModel struct {
	FileStore      FileStorage
	FileName       string
	Type           string
	Encoding       string
	Header         bool
	FieldSeparator string
	Checksum       string
	ItemPrototype  interface{}
}

func (FileObjectModel) ItemType

func (fd FileObjectModel) ItemType() (reflect.Type, error)

func (FileObjectModel) String

func (fd FileObjectModel) String() string

type FileSplitStrategy

type FileSplitStrategy interface {
	DecideDestNum(line string, dest []FileObjectModel) int
}

type FileSplitter

type FileSplitter interface {
	Split(src FileObjectModel, dest []FileObjectModel, strategy FileSplitStrategy) (err error)
}

type FileStorage

type FileStorage interface {
	Name() string
	Exists(fileName string) (ok bool, err error)
	Open(fileName, encoding string) (reader io.ReadCloser, err error)
	Create(fileName, encoding string) (writer io.WriteCloser, err error)
}

type LocalFileSystem

type LocalFileSystem struct {
}

func (*LocalFileSystem) Create

func (fs *LocalFileSystem) Create(fileName, encoding string) (io.WriteCloser, error)

func (*LocalFileSystem) Exists

func (fs *LocalFileSystem) Exists(fileName string) (bool, error)

func (*LocalFileSystem) Name

func (fs *LocalFileSystem) Name() string

func (*LocalFileSystem) Open

func (fs *LocalFileSystem) Open(fileName, encoding string) (io.ReadCloser, error)

type MD5Checksumer

type MD5Checksumer struct {
}

func (*MD5Checksumer) Checksum

func (ch *MD5Checksumer) Checksum(fd FileObjectModel) error

func (*MD5Checksumer) Verify

func (ch *MD5Checksumer) Verify(fd FileObjectModel) (bool, error)

type MergeSplitter

type MergeSplitter interface {
	FileMerger
	FileSplitter
}

func GetFileMergeSplitter

func GetFileMergeSplitter(ftype string) MergeSplitter

type OKFlagChecksumer

type OKFlagChecksumer struct {
}

func (*OKFlagChecksumer) Checksum

func (ch *OKFlagChecksumer) Checksum(fd FileObjectModel) error

func (*OKFlagChecksumer) Verify

func (ch *OKFlagChecksumer) Verify(fd FileObjectModel) (bool, error)

type SHA1Checksumer

type SHA1Checksumer struct {
}

func (*SHA1Checksumer) Checksum

func (ch *SHA1Checksumer) Checksum(fd FileObjectModel) error

func (*SHA1Checksumer) Verify

func (ch *SHA1Checksumer) Verify(fd FileObjectModel) (bool, error)

type SHA256Checksumer

type SHA256Checksumer struct {
}

func (*SHA256Checksumer) Checksum

func (ch *SHA256Checksumer) Checksum(fd FileObjectModel) error

func (*SHA256Checksumer) Verify

func (ch *SHA256Checksumer) Verify(fd FileObjectModel) (bool, error)

type SHA512Checksumer

type SHA512Checksumer struct {
}

func (*SHA512Checksumer) Checksum

func (ch *SHA512Checksumer) Checksum(fd FileObjectModel) error

func (*SHA512Checksumer) Verify

func (ch *SHA512Checksumer) Verify(fd FileObjectModel) (bool, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL