database

package
v0.5.3 Latest Latest
Warning

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

Go to latest
Published: Sep 3, 2021 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrNoImagesFound represents a failure to find images.
	ErrNoImagesFound = errors.New("no images found")
	// ErrNoASCIIFound represents a failure to find ascii.
	ErrNoASCIIFound = errors.New("no ascii found")
)

Functions

func DownloadImage

func DownloadImage(url, filepath string)

DownloadImage downloads image to filepath

func Finalize

func Finalize() error

Finalize makes index read only optimized

Types

type ASCIIData

type ASCIIData struct {
	ID       string `json:"id,omitempty" gorm:"primary_key"`
	Source   string `json:"source,omitempty"`
	Keywords string `json:"keywords,omitempty"`
	Emoji    string `json:"emoji,omitempty"`
}

ASCIIData ascii-emoji object

type Database

type Database struct {
	SQL *gorm.DB
	IDX bleve.Index
}

Database database object

func Open

func Open() (*Database, error)

Open will open a Database or create it if it doesn't exist

func (*Database) Close

func (db *Database) Close()

Close closes a Database

func (*Database) GetImageByID

func (db *Database) GetImageByID(id string) (ImageMetaData, error)

GetImageByID returns the path to an image by id

func (*Database) GetImageByPath

func (db *Database) GetImageByPath(path string) (ImageMetaData, error)

GetImageByPath returns an image by path

func (*Database) GetRandomASCII

func (db *Database) GetRandomASCII() (ASCIIData, error)

GetRandomASCII returns a random ascii-emoji

func (*Database) GetRandomImage

func (db *Database) GetRandomImage(source string) (ImageMetaData, error)

GetRandomImage returns a random image path from source (xkcd/giphy)

func (*Database) SearchASCII

func (db *Database) SearchASCII(keywords []string) (ASCIIData, error)

SearchASCII searches ascii by keywords and returns a random matching ascii

func (*Database) SearchGetAll

func (db *Database) SearchGetAll(search []string, itype string) ([]ImageMetaData, error)

SearchGetAll searches imagess by text/title and returns all matching images

func (*Database) SearchImage

func (db *Database) SearchImage(search []string, itype string) (ImageMetaData, error)

SearchImage searches imagess by text/title and returns a random image

func (*Database) UpdateKeywords

func (db *Database) UpdateKeywords(image ImageMetaData) error

UpdateKeywords adds new keywords to an image's search text

func (*Database) WriteASCIIToDatabase

func (db *Database) WriteASCIIToDatabase(ascii ASCIIData) error

WriteASCIIToDatabase upserts ascii metadata into Database

func (*Database) WriteImageToDatabase

func (db *Database) WriteImageToDatabase(image ImageMetaData, itype string) error

WriteImageToDatabase upserts image metadata into Database

type ImageMetaData

type ImageMetaData struct {
	ID string `json:"id,omitempty" gorm:"primary_key"`
	// ID     string `json:"id,omitempty" gorm:"primary_key"`
	Source string `json:"source,omitempty"`
	Name   string `json:"name,omitempty"`
	Title  string `json:"title,omitempty"`
	Text   string `json:"text,omitempty"`
	Path   string `json:"path,omitempty"`
}

ImageMetaData image meta-data object

Jump to

Keyboard shortcuts

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