Skip to content
This repository has been archived by the owner on Sep 2, 2022. It is now read-only.

pirmd/gostore

Repository files navigation

GOSTORE

GoDoc  Go Report Card 

gostore is a command line tool aiming at providing facilities to manage one or more collections of media files, keeping track of their metadata and/or additional information the user wants to record.

At this point of time, gostore is offering a way to manage a personnal ebooks collections but should be extendable to accommodate others kind of media files (music, images...).

You can think of gostore as something close to beets (but less feature-full and mature at this time) but for books.

USAGE

An up-to-date manpage is provided with the package (use man -l gostore.1 to browse it without installing) or in a text format.

To get a flavor of available commands: - import: add the given media files to the collection, extracting its metadata and optionally process (usually to clean/complete) them. User can also manually edit the metadata before saving them in the store; - export: copy requested record to the given location (usually your ebook-reader for eupb); - list: list records from the store. It accepts wildcards pattern. - search: search the store for existing matching records. Search query is based on bleve and adopt its query language; - info: get the information known about the given record; - edit: offer the user to edit information stored about the given record; - delete: remove a record from the collection; - check: verify the store's consistency (between file sytsems/database/index) and solve or report detected issue.

Different output style can be customized/chosen allowing different presentation and level of information given by the tool. You might want also to pipe output of the tool to some standard unix tool (like less).

CUSTOMIZATION

Customization can be achieved by using a yaml config files ans putting it in your usual user configuration folder (like $XDG_CONFIG_HOME/gostore/config.yaml). An example and commented config file can be found in config.example.yaml.

INSTALLATION

Run go get github.com/pirmd/gostore then sh ./go install from inside the gostore repository.

Note: make is a small shell script on top of go binary that incorporates version information and takes care of manpage generation and installation. You can either go directly with go standard command line commands.

MAIN GOALS

Beside bug hunting and improved user experience, main functions planned to be developed (in no special order): - scrapers to retrieve metadata from known remote sites (like goodread); - offering more record's metadata processings allowing further cleaning and quality of collection content; - allowing syncing file's embedded metatdata with cleaned and completed metadata stored in the collection; - tweak output template to issue static html description of the collection; - improve batch operation (add several media at a time); - support more bleve engine features (allowing sorting or folding or cleaver stemmers); - new media family to be supported (like mp3).

CONTRIBUTION

If you feel like to contribute, just follow github guidelines on forking then send a pull request

About

gostore is a CLI tool for managing one or more collections of media files, keeping track of their metadata.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages