commons

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Jul 27, 2023 License: BSD-3-Clause Imports: 32 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TransferTreadNumDefault    int    = 5
	UploadTreadNumMax          int    = 20
	TcpBufferSizeDefault       int    = 4 * 1024 * 1024
	TcpBufferSizeStringDefault string = "4MB"
)
View Source
const (
	KiloBytes int64 = 1024
	MegaBytes int64 = KiloBytes * 1024
	GigaBytes int64 = MegaBytes * 1024
	TeraBytes int64 = GigaBytes * 1024

	Minute int = 60
	Hour   int = Minute * 60
	Day    int = Hour * 24
)

Variables

View Source
var (
	WrongPasswordError error = xerrors.Errorf("wrong password")
)

Functions

func AesDecrypt

func AesDecrypt(key string, data []byte) ([]byte, error)

func AesEncrypt

func AesEncrypt(key string, data []byte) ([]byte, error)

func CheckNewRelease

func CheckNewRelease() (*selfupdate.Release, error)

func ClearIRODSDirCache

func ClearIRODSDirCache(filesystem *irodsclient_fs.FileSystem, irodsPath string)

func EncodeMDRepoTicket

func EncodeMDRepoTicket(ticket *MDRepoTicket, password string) (string, error)

func ExistFile

func ExistFile(path string) bool

func ExistsIRODSDir

func ExistsIRODSDir(filesystem *irodsclient_fs.FileSystem, irodsPath string) bool

func ExistsIRODSFile

func ExistsIRODSFile(filesystem *irodsclient_fs.FileSystem, irodsPath string) bool

func ExistsIRODSPath

func ExistsIRODSPath(filesystem *irodsclient_fs.FileSystem, irodsPath string) bool

func GetAccount

func GetAccount(ticket *MDRepoTicket) (*irodsclient_types.IRODSAccount, error)

func GetBasename

func GetBasename(path string) string

func GetClientVersion

func GetClientVersion() string

GetClientVersion returns client version in string

func GetFileExtension

func GetFileExtension(path string) string

func GetIRODSConnection

func GetIRODSConnection(account *irodsclient_types.IRODSAccount) (*irodsclient_conn.IRODSConnection, error)

GetIRODSConnection returns a connection

func GetIRODSFSClient

func GetIRODSFSClient(account *irodsclient_types.IRODSAccount) (*irodsclient_fs.FileSystem, error)

GetIRODSFSClient returns a file system client

func GetIRODSFSClientAdvanced

func GetIRODSFSClientAdvanced(account *irodsclient_types.IRODSAccount, maxConnection int, tcpBufferSize int) (*irodsclient_fs.FileSystem, error)

GetIRODSFSClientAdvanced returns a file system client

func GetMDRepoStatusFilename

func GetMDRepoStatusFilename() string

func GetVersionJSON

func GetVersionJSON() (string, error)

GetVersionJSON returns VersionInfo object in JSON string

func GetVersionParts

func GetVersionParts(version string) (int, int, int)

GetVersionParts returns version parts (major, minor, patch)

func HashLocalFile

func HashLocalFile(sourcePath string, hashAlg hash.Hash) (string, error)

func HashLocalFileMD5

func HashLocalFileMD5(sourcePath string) (string, error)

func HashStringMD5

func HashStringMD5(str string) (string, error)

func HashStringPBKDF2SHA256

func HashStringPBKDF2SHA256(str string) (string, error)

func HashStrings

func HashStrings(strs []string, hashAlg hash.Hash) (string, error)

func HashStringsMD5

func HashStringsMD5(strs []string) (string, error)

func InputMissingFields

func InputMissingFields() (bool, error)

InputMissingFields inputs missing fields

func InputMissingFieldsFromStdin

func InputMissingFieldsFromStdin() error

InputMissingFieldsFromStdin inputs missing fields

func InputYN

func InputYN(msg string) bool

InputYN inputs Y or N true for Y, false for N

func IsNewerVersion

func IsNewerVersion(ver1 []int, ver2 []int) bool

IsNewerVersion compares ver1 against ver2

func ListIRODSDir

func ListIRODSDir(filesystem *irodsclient_fs.FileSystem, irodsPath string) ([]*irodsclient_fs.Entry, error)

list irods dir from cache, doesn't provide full cache consistency

func MakeDateTimeFromString

func MakeDateTimeFromString(str string) (time.Time, error)

func MakeDateTimeString

func MakeDateTimeString(t time.Time) string

func MakeIRODSLandingPath

func MakeIRODSLandingPath(irodsPath string) string

func MakeIRODSReleasePath

func MakeIRODSReleasePath(irodsPath string) string

func MakeLocalPath

func MakeLocalPath(localPath string) string

func MakeTargetIRODSFilePath

func MakeTargetIRODSFilePath(filesystem *irodsclient_fs.FileSystem, source string, target string) string

func MakeTargetLocalFilePath

func MakeTargetLocalFilePath(source string, target string) string

func ParseSize

func ParseSize(size string) (int64, error)

func ParseTime

func ParseTime(t string) (int, error)

func RunWithRetry

func RunWithRetry(retry int, retryInterval int) error

func SelfUpgrade

func SelfUpgrade() error

func SetDefaultConfigIfEmpty

func SetDefaultConfigIfEmpty()

func StatIRODSPath

func StatIRODSPath(filesystem *irodsclient_fs.FileSystem, irodsPath string) (*irodsclient_fs.Entry, error)

stat from cache, doesn't provide full cache consistency

func TestConnect

func TestConnect(account *irodsclient_types.IRODSAccount) error

TestConnect just test connection creation

Types

type Config

type Config struct {
	NoPassword bool
	Password   string
}

func GetConfig

func GetConfig() *Config

func GetDefaultConfig

func GetDefaultConfig() *Config

func (*Config) GetMDRepoTicket

func (config *Config) GetMDRepoTicket(ticket string) (*MDRepoTicket, error)

func (*Config) ToConfigTypeIn

func (config *Config) ToConfigTypeIn() *ConfigTypeIn

type ConfigTypeIn

type ConfigTypeIn struct {
	NoPassword bool   `yaml:"no_password,omitempty"`
	Password   string `yaml:"irods_user_password,omitempty"`
}

func NewConfigTypeInFromYAML

func NewConfigTypeInFromYAML(yamlBytes []byte) (*ConfigTypeIn, error)

NewConfigTypeInFromYAML creates ConfigTypeIn from YAML

func (*ConfigTypeIn) ToYAML

func (config *ConfigTypeIn) ToYAML() ([]byte, error)

type MDRepoTicket

type MDRepoTicket struct {
	IRODSTicket   string
	IRODSDataPath string
}

func DecodeMDRepoTicket

func DecodeMDRepoTicket(ticket string, password string) (*MDRepoTicket, error)

func GetMDRepoTicketFromPlainText

func GetMDRepoTicketFromPlainText(ticket string) (*MDRepoTicket, error)

type ParallelJob

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

func (*ParallelJob) GetManager

func (job *ParallelJob) GetManager() *ParallelJobManager

func (*ParallelJob) Progress

func (job *ParallelJob) Progress(processed int64, total int64, errored bool)

type ParallelJobManager

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

func NewParallelJobManager

func NewParallelJobManager(fs *irodsclient_fs.FileSystem, maxThreads int, showProgress bool) *ParallelJobManager

NewParallelJobManager creates a new ParallelJobManager

func (*ParallelJobManager) DoneScheduling

func (manager *ParallelJobManager) DoneScheduling()

func (*ParallelJobManager) GetFilesystem

func (manager *ParallelJobManager) GetFilesystem() *irodsclient_fs.FileSystem

func (*ParallelJobManager) Schedule

func (manager *ParallelJobManager) Schedule(name string, task ParallelJobTask, threadsRequired int, progressUnit progress.Units) error

func (*ParallelJobManager) Start

func (manager *ParallelJobManager) Start()

func (*ParallelJobManager) Wait

func (manager *ParallelJobManager) Wait() error

type ParallelJobTask

type ParallelJobTask func(job *ParallelJob) error

type ProgressTrackerCallback

type ProgressTrackerCallback func(name string, processed int64, total int64, unit progress.Units, errored bool)

type SubmitStatus

type SubmitStatus string
const (
	SubmitStatusUnknown    SubmitStatus = ""
	SubmitStatusInProgress SubmitStatus = "inprogress"
	SubmitStatusErrored    SubmitStatus = "errored"
	SubmitStatusCompleted  SubmitStatus = "completed"
)

func (SubmitStatus) MarshalJSON

func (s SubmitStatus) MarshalJSON() ([]byte, error)

func (SubmitStatus) String

func (s SubmitStatus) String() string

func (*SubmitStatus) UnmarshalJSON

func (s *SubmitStatus) UnmarshalJSON(b []byte) error

type SubmitStatusEntry

type SubmitStatusEntry struct {
	IRODSPath string `json:"irods_path"`
	Size      int64  `json:"size"`
	MD5Hash   string `json:"md5_hash"`
}

type SubmitStatusFile

type SubmitStatusFile struct {
	TotalFileNumer int64               `json:"total_filenum"`
	TotalFileSize  int64               `json:"total_filesize"`
	Status         SubmitStatus        `json:"status"`
	Files          []SubmitStatusEntry `json:"files"`
}

func NewSubmitStatusFile

func NewSubmitStatusFile() *SubmitStatusFile

func (*SubmitStatusFile) AddFile

func (s *SubmitStatusFile) AddFile(f SubmitStatusEntry)

func (*SubmitStatusFile) SetCompleted

func (s *SubmitStatusFile) SetCompleted()

func (*SubmitStatusFile) SetErrored

func (s *SubmitStatusFile) SetErrored()

func (*SubmitStatusFile) SetInProgress

func (s *SubmitStatusFile) SetInProgress()

type VersionInfo

type VersionInfo struct {
	ClientVersion string `json:"clientVersion"`
	GitCommit     string `json:"gitCommit"`
	BuildDate     string `json:"buildDate"`
	GoVersion     string `json:"goVersion"`
	Compiler      string `json:"compiler"`
	Platform      string `json:"platform"`
}

VersionInfo object contains version related info

func GetVersion

func GetVersion() VersionInfo

GetVersion returns VersionInfo object

Jump to

Keyboard shortcuts

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