utils

package
v0.18.0 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2022 License: AGPL-3.0 Imports: 18 Imported by: 1

Documentation

Index

Examples

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 FindDuplicates added in v0.7.0

func FindDuplicates(hashes []*Phash, distance int) [][]int

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 GetVTTTime

func GetVTTTime(fracSeconds float64) string

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

func GetYMDFromDatabaseDate

func GetYMDFromDatabaseDate(dateString string) string

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 NotNilFields added in v0.11.0

func NotNilFields(subject interface{}, tag string) []string

NotNilFields returns the matching tag values of fields from an object that are not nil. Panics if the provided object is not a struct.

func ParseDateStringAsFormat

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

func ParseDateStringAsTime

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

func PhashToString added in v0.7.0

func PhashToString(phash int64) string

func ProcessBase64Image

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

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

func ProcessImageInput added in v0.6.0

func ProcessImageInput(ctx context.Context, 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 ReadImageFromURL added in v0.6.0

func ReadImageFromURL(ctx context.Context, url string) ([]byte, error)

ReadImageFromURL returns image data from a URL

func ServeImage added in v0.3.0

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

func StrFormat added in v0.8.0

func StrFormat(format string, m StrFormatMap) string

StrFormat formats the provided format string, replacing placeholders in the form of "{fieldName}" with the values in the provided StrFormatMap.

For example,

StrFormat("{foo} bar {baz}", StrFormatMap{
    "foo": "bar",
    "baz": "abc",
})

would return: "bar bar abc"

Example
fmt.Println(StrFormat("{foo} bar {baz}", StrFormatMap{
	"foo": "bar",
	"baz": "abc",
}))
Output:

bar bar abc

func StringToPhash added in v0.8.0

func StringToPhash(s string) (int64, error)

func Timeout added in v0.7.0

func Timeout(todo func(), waitTime time.Duration, onTimeout func(done chan struct{}))

Timeout executes the provided todo function, and waits for it to return. If the function does not return before the waitTime duration is elapsed, then onTimeout is executed, passing a channel that will be closed when the function returns.

Types

type MutexManager added in v0.11.0

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

MutexManager manages access to mutexes using a mutex type and key.

func NewMutexManager added in v0.11.0

func NewMutexManager() *MutexManager

NewMutexManager returns a new instance of MutexManager.

func (*MutexManager) Claim added in v0.11.0

func (csm *MutexManager) Claim(mutexType string, key string, done <-chan struct{})

Claim blocks until the mutex for the mutexType and key pair is available. The mutex is then claimed by the calling code until the provided done channel is closed.

type Phash added in v0.7.0

type Phash struct {
	SceneID   int   `db:"id"`
	Hash      int64 `db:"phash"`
	Neighbors []int
	Bucket    int
}

type StrFormatMap added in v0.8.0

type StrFormatMap map[string]interface{}

Jump to

Keyboard shortcuts

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