utils

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Mar 29, 2021 License: AGPL-3.0 Imports: 25 Imported by: 1

Documentation

Index

Constants

View Source
const FirefoxLinux = "Mozilla/5.0 (X11; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0"
View Source
const FirefoxLinuxArm = "Mozilla/5.0 (X11; Linux armv7l; rv:86.0) Gecko/20100101 Firefox/86.0"
View Source
const FirefoxLinuxArm64 = "Mozilla/5.0 (X11; Linux aarch64; rv:86.0) Gecko/20100101 Firefox/86.0"
View Source
const FirefoxWindows = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0"
View Source
const Safari = "" /* 131-byte string literal not displayed */

valid UA from https://user-agents.net

Variables

View Source
var PendingGenerateResource, _ = GetDataFromBase64String("iVBORw0KGgoAAAANSUhEUgAAAfQAAADwBAMAAAAEHosbAAAAG1BMVEUAAADMzMyZmZkzMzNmZmZ/f38ZGRmysrJMTEwh+DPkAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEOklEQVR4nO3YzW/bNhjHcfpN9jGP8iIfI2xrdrQLrLs67Zpdo21pelTWdbnGSTPvaBdosT+7z8OXxAFkIDu0Vrfv59AmpEjoJ1IkFecAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMC/JCqfNNV0Dja1GR0Vv36+O/piLLrsNdVo9EyaKnpzbfLkMZ1vfnptIGdnZ6XUDTUbo0+lOJKiqUlDFy1mqbP5aUPNpujZfK92b6WpSUMXLeYHfHXVULPpvvtiS0P1mFRfQfSLnYaaTffd8SvDsHF9eGQX7eCj2y2+n79z9hCeFq/0/7fzJ2HCp4LsPJ+EJWHln1P/1vmlfqZV0itvrSp0IX9WS9c/yk9cV2Q3lbaQjzPdcQNdtQ81+lhsBevpbxcheihwlyIHIXp1/5ZXujFa9JXIXy51Ib/L0s2tlY8eS1vIx6mu3HHxU7mv0eWbni56Q/mtLEP0UODK/GUeopez1LYv757rcpfpweBHbRu7kEqWA3n9QU570/GzVNpCFucHmWUycyP9+aLwM3q6q7+F6KEg05FchejzZWp7oe/7yq660qtd6kLy2g3H+iSuwiYRSlvIH2mk7uvEdeXSp9GZXto4h+ihYKD13ZDAFvjS2rjjQy0c+3TZfRf6IKyFvUUaPZW2kE8+dl1bsI9n7mLXL3rzSRzPVKAJ0+DdR7ep39/TqyY2e1IXOj9cVvu5Yg1jaQvJYrH4TmeofwSnfrj0hi3kNEQPBcNdW85qa2ET/nyx0F/sQCv7oVzq1IXf9t2bD+Kjp9IWiq9hx9/hod/hOwf+FBdXeF/gOg+jh4a+TR7OfFKnLvz58Fx/9NFTaQul6IWO/uJB9M56dBv1eG01s3/tOdiMWVzfRY9d2FWXkr8O73oqbaEYvRsPZzGplT4YdXvX46iHU+8ovuvOpeipC7uquvFdpXe9nWL0gW29b+qU1Ja56Xr0gSbohWtt4QvLvR1usmcpeurCrrKXIox6Km2hGL2v27eNYkxqk/p4PbrVD8K1A/+9apu87tw2qjF66sIvevrojndSw7VTUJvE6OHkMUlJp3ouna9Ht/ppuDaTGzvI2fnHjjS7KXrqwo/6TOfIji2OqbSF0kGrysNBNr7a+eSprEfX+pcSr13J7S8yLmudBt+Gg2zoJ3bh3/X9fyr9rB/mH1NpC6Xo3fj5EgdZt+wHE97q9+K1I9uullXtTzb53TKXuggrvBSXMhvo50u3rXvbXXT3vvje3UXXj9a/H2xuzv1cfEzX/jEvTtxKfxmV18v76LGLsK8Xs95imZU3qfTr1vyXuv+83gsd42Lbd7EVI/tyy7d9F1uRyateOd72XWyHfaY2/d32f8C2q1YeTD6/7Pn1ybbvAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAL+ITrOa6fKadMcEAAAAASUVORK5CYII=")

Functions

func Btoi

func Btoi(b bool) int

Btoi transforms a boolean to an int. 1 for true, false otherwise

func DirExists

func DirExists(path string) (bool, error)

DirExists returns true if the given path exists and is a directory

func EmptyDir

func EmptyDir(path string) error

EmptyDir will recursively remove the contents of a directory at the given path

func EnsureDir

func EnsureDir(path string) error

EnsureDir will create a directory at the given path if it doesn't already exist

func EnsureDirAll added in v0.2.0

func EnsureDirAll(path string) error

EnsureDirAll will create a directory at the given path along with any necessary parents if they don't already exist

func FileExists

func FileExists(path string) (bool, error)

FileExists returns true if the given path exists

func FileType

func FileType(filePath string) (types.Type, error)

FileType uses the filetype package to determine the given file path's type

func FixWindowsPath

func FixWindowsPath(str string) string

FixWindowsPath replaces \ with / in the given path because sometimes the \ isn't recognized as valid on windows

func GenerateRandomKey added in v0.2.0

func GenerateRandomKey(l int) string

func GetBase64StringFromData

func GetBase64StringFromData(data []byte) string

GetBase64StringFromData returns the given byte slice as a base64 encoded string

func GetDataFromBase64String

func GetDataFromBase64String(encodedString string) ([]byte, error)

GetDataFromBase64String returns the given base64 encoded string as a byte slice

func GetDir added in v0.2.0

func GetDir(path string) string

func GetHomeDirectory

func GetHomeDirectory() string

GetHomeDirectory returns the path of the user's home directory. ~ on Unix and C:\Users\UserName on Windows

func GetIntraDir added in v0.2.0

func GetIntraDir(pattern string, depth, length int) string

GetIntraDir returns a string that can be added to filepath.Join to implement directory depth, "" on error eg given a pattern of 0af63ce3c99162e9df23a997f62621c5 and a depth of 2 length of 3 returns 0af/63c or 0af\63c ( dependin on os) that can be later used like this filepath.Join(directory, intradir, basename)

func GetParent added in v0.2.0

func GetParent(path string) *string

func GetUserAgent added in v0.6.0

func GetUserAgent() string

GetUserAgent returns a valid User Agent string that matches the running os/arch

func GetVTTTime

func GetVTTTime(totalSeconds float64) (s string)

GetVTTTime returns a timestamp appropriate for VTT files (hh:mm:ss.mmm)

func GetYMDFromDatabaseDate

func GetYMDFromDatabaseDate(dateString string) string

func IntAppendUnique added in v0.4.0

func IntAppendUnique(vs []int, toAdd int) []int

IntAppendUnique appends toAdd to the vs int slice if toAdd does not already exist in the slice. It returns the new or unchanged int slice.

func IntAppendUniques added in v0.4.0

func IntAppendUniques(vs []int, toAdd []int) []int

IntAppendUniques appends a slice of int values to the vs int slice. It only appends values that do not already exist in the slice. It returns the new or unchanged int slice.

func IntExclude added in v0.5.0

func IntExclude(vs []int, toExclude []int) []int

IntExclude removes all instances of any value in toExclude from the vs int slice. It returns the new or unchanged int slice.

func IntFromString added in v0.3.0

func IntFromString(str string) uint64

func IntInclude added in v0.4.0

func IntInclude(vs []int, t int) bool

IntInclude returns true if the provided int value exists in the provided int slice.

func IntIndex added in v0.4.0

func IntIndex(vs []int, t int) int

IntIndex returns the first index of the provided int value in the provided int slice. It returns -1 if it is not found.

func IsPathInDir added in v0.5.0

func IsPathInDir(dir, pathToCheck string) bool

IsPathInDir returns true if pathToCheck is within dir.

func IsTrue added in v0.6.0

func IsTrue(b *bool) bool

IsTrue returns true if the bool pointer is not nil and true.

func IsValidFloat64

func IsValidFloat64(value float64) bool

IsValidFloat64 ensures the given value is a valid number (not NaN) which is not equal to 0

func IsZipFileUncompressed added in v0.2.0

func IsZipFileUncompressed(path string) (bool, error)

IsZipFileUnmcompressed returns true if zip file in path is using 0 compression level

func ListDir

func ListDir(path string) []string

ListDir will return the contents of a given directory path as a string slice

func MD5FromBytes

func MD5FromBytes(data []byte) string

func MD5FromFilePath

func MD5FromFilePath(filePath string) (string, error)

func MD5FromReader added in v0.4.0

func MD5FromReader(src io.Reader) (string, error)

func MD5FromString

func MD5FromString(str string) string

func MatchEntries added in v0.5.0

func MatchEntries(dir, pattern string) ([]string, error)

MatchEntries returns a string slice of the entries in directory dir which match the regexp pattern. On error an empty slice is returned MatchEntries isn't recursive, only the specific 'dir' is searched without being expanded.

func OSHashFromFilePath added in v0.3.0

func OSHashFromFilePath(filePath string) (string, error)

OSHashFromFilePath calculates the hash using the same algorithm that OpenSubtitles.org uses.

Calculation is as follows: size + 64 bit checksum of the first and last 64k bytes of the file.

func ParseDateStringAsFormat

func ParseDateStringAsFormat(dateString string, format string) (string, error)

func ParseDateStringAsTime

func ParseDateStringAsTime(dateString string) (time.Time, error)

func ProcessBase64Image

func ProcessBase64Image(imageString string) (string, []byte, error)

ProcessBase64Image transforms a base64 encoded string from a form post and returns the MD5 hash of the data and the image itself as a byte slice.

func ProcessImageInput added in v0.6.0

func ProcessImageInput(imageInput string) ([]byte, error)

ProcessImageInput transforms an image string either from a base64 encoded string, or from a URL, and returns the image as a byte slice

func RandomSequence added in v0.6.0

func RandomSequence(n int) string

func ReadImageFromURL added in v0.6.0

func ReadImageFromURL(url string) ([]byte, error)

ReadImageFromURL returns image data from a URL

func RemoveDir

func RemoveDir(path string) error

RemoveDir removes the given dir (if it exists) along with all of its contents

func SafeMove added in v0.3.0

func SafeMove(src, dst string) error

func ServeFileNoCache added in v0.3.0

func ServeFileNoCache(w http.ResponseWriter, r *http.Request, filepath string)

ServeFileNoCache serves the provided file, ensuring that the response contains headers to prevent caching.

func ServeImage added in v0.3.0

func ServeImage(image []byte, w http.ResponseWriter, r *http.Request) error

func StrFilter

func StrFilter(vs []string, f func(string) bool) []string

func StrInclude

func StrInclude(vs []string, t string) bool

func StrIndex

func StrIndex(vs []string, t string) int

func StrMap

func StrMap(vs []string, f func(string) string) []string

func StringSliceToIntSlice added in v0.3.0

func StringSliceToIntSlice(ss []string) ([]int, error)

StringSliceToIntSlice converts a slice of strings to a slice of ints. Returns an error if any values cannot be parsed.

func SymWalk added in v0.4.0

func SymWalk(path string, walkFn filepath.WalkFunc) error

SymWalk extends filepath.Walk to also follow symlinks

func Touch

func Touch(path string) error

Touch creates an empty file at the given path if it doesn't already exist

func WriteFile added in v0.2.0

func WriteFile(path string, file []byte) error

WriteFile writes file to path creating parent directories if needed

Types

type ByteRange added in v0.3.0

type ByteRange struct {
	Start     int64
	End       *int64
	RawString string
}

func CreateByteRange added in v0.3.0

func CreateByteRange(s string) ByteRange

func (ByteRange) Apply added in v0.3.0

func (r ByteRange) Apply(bytes []byte) []byte

func (ByteRange) ToHeaderValue added in v0.3.0

func (r ByteRange) ToHeaderValue(fileLength int64) string

Jump to

Keyboard shortcuts

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