commons

package
v0.1.5 Latest Latest
Warning

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

Go to latest
Published: Nov 13, 2023 License: BSD-3-Clause Imports: 33 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TransferTreadNumDefault    int    = 5
	UploadTreadNumMax          int    = 20
	TcpBufferSizeDefault       int    = 4 * 1024 * 1024
	TcpBufferSizeStringDefault string = "4MB"

	SubmissionMetadataFilename string = "mdrepo-metadata.toml"
)
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 (
	InvalidTicketError           error = xerrors.Errorf("invalid ticket string")
	InvalidTokenError            error = xerrors.Errorf("invalid token")
	TokenNotProvidedError        error = xerrors.Errorf("token not provided")
	InvalidOrcIDError            error = xerrors.Errorf("invalid ORC-ID")
	SimulationNoNotMatchingError error = xerrors.Errorf("simulation number not match")
)

Functions

func Base64Decode added in v0.1.4

func Base64Decode(str string) ([]byte, error)

func CheckNewRelease

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

func ExistFile

func ExistFile(p string) bool

func GetAccount

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

func GetBasename

func GetBasename(p string) string

func GetClientVersion

func GetClientVersion() string

GetClientVersion returns client version in string

func GetDir added in v0.1.4

func GetDir(p string) string

func GetFileExtension

func GetFileExtension(p 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 GetMDRepoTicketString added in v0.1.4

func GetMDRepoTicketString(tickets []MDRepoTicket) (string, error)

func GetMDRepoTicketStringFromToken added in v0.1.4

func GetMDRepoTicketStringFromToken(serviceURL string, token string) (string, error)

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 HMACStringSHA224 added in v0.1.4

func HMACStringSHA224(secret []byte, str string) (string, error)

func HMACStrings added in v0.1.4

func HMACStrings(secret []byte, strs []string, hashAlg func() hash.Hash) (string, error)

func HasSubmitMetadataInDir added in v0.1.4

func HasSubmitMetadataInDir(dirPath string) bool

func HashLocalFile

func HashLocalFile(sourcePath string, hashAlg string) (string, error)

func InputMissingFields

func InputMissingFields() (bool, error)

InputMissingFields inputs missing fields

func InputMissingFieldsFromStdin

func InputMissingFieldsFromStdin() error

InputMissingFieldsFromStdin inputs missing fields

func InputOrcID added in v0.1.4

func InputOrcID() string

InputOrcID inputs ORCID

func InputSimulationNo added in v0.1.4

func InputSimulationNo() int

InputSimulationNo inputs simulation no

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 IsStatusFile added in v0.1.3

func IsStatusFile(filename string) bool

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 ReadOrcIDFromSubmitMetadataFile added in v0.1.4

func ReadOrcIDFromSubmitMetadataFile(filePath string) (string, error)

func ReadOrcIDFromSubmitMetadataFileInDir added in v0.1.4

func ReadOrcIDFromSubmitMetadataFileInDir(dirPath string) (string, error)

func ReadOrcIDFromSubmitMetadataString added in v0.1.4

func ReadOrcIDFromSubmitMetadataString(metadataString string) (string, error)

func RunWithRetry

func RunWithRetry(retry int, retryInterval int) error

func SelfUpgrade

func SelfUpgrade() error

func SetDefaultConfigIfEmpty

func SetDefaultConfigIfEmpty()

func TestConnect

func TestConnect(account *irodsclient_types.IRODSAccount) error

TestConnect just test connection creation

Types

type Config

type Config struct {
	Token        string
	TicketString string
}

func GetConfig

func GetConfig() *Config

func GetDefaultConfig

func GetDefaultConfig() *Config

func (*Config) ToConfigTypeIn

func (config *Config) ToConfigTypeIn() *ConfigTypeIn

type ConfigTypeIn

type ConfigTypeIn struct {
	TicketString string `yaml:"ticket_string,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 GetMDRepoTicketFromString added in v0.1.4

func GetMDRepoTicketFromString(ticketString string) (MDRepoTicket, error)

func GetMDRepoTicketsFromString added in v0.1.4

func GetMDRepoTicketsFromString(ticketString string) ([]MDRepoTicket, error)

type MDRepoTicketObject added in v0.1.4

type MDRepoTicketObject struct {
	TicketString string `json:"tickets"`
}

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 = "unknown"
	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"`
	Time           time.Time           `json:"time"`
}

func NewSubmitStatusFile

func NewSubmitStatusFile() *SubmitStatusFile

func (*SubmitStatusFile) AddFile

func (s *SubmitStatusFile) AddFile(f SubmitStatusEntry)

func (*SubmitStatusFile) CreateStatusFile added in v0.1.3

func (s *SubmitStatusFile) CreateStatusFile(filesystem *fs.FileSystem, dataRootPath string) error

func (*SubmitStatusFile) GetStatusFilename added in v0.1.3

func (s *SubmitStatusFile) GetStatusFilename() string

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