Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var CopyCommand = Command{ Name: "copy", Synopsis: "Create a copy of a tag", Description: `tmsu copy TAG NEW... Creates a new tag NEW applied to the same set of files as TAG. Examples: $ tmsu copy cheese wine $ tmsu copy report document`, Options: Options{}, Exec: copyExec, }
View Source
var DeleteCommand = Command{ Name: "delete", Synopsis: "Delete one or more tags", Description: `tmsu delete TAG... Permanently deletes the TAGs specified. Examples: $ tmsu delete pineapple $ tmsu delete red green blue`, Options: Options{}, Exec: deleteExec, }
View Source
var DupesCommand = Command{ Name: "dupes", Synopsis: "Identify duplicate files", Description: `tmsu dupes [FILE]... Identifies all files in the database that are exact duplicates of FILE. If no FILE is specified then identifies duplicates between files in the database. Examples: $ tmsu dupes Set of 2 duplicates: /tmp/song.mp3 /tmp/copy of song.mp3 $ tmsu dupes /tmp/song.mp3 /tmp/copy of song.mp3`, Options: Options{Option{"--recursive", "-r", "recursively check directory contents", false, ""}}, Exec: dupesExec, }
View Source
var FilesCommand = Command{ Name: "files", Synopsis: "List files with particular tags", Description: `tmsu files [OPTION]... QUERY Lists the files that match the QUERY specified. QUERY may contain tag names to match, logical operators, comparison operators and parentheses. * Logical operators: and, or, not * Comparison operators: ==, !=, <, >, <=, >= eq, ne, lt, gt, le, ge The 'and' operator may be omitted for brevity, e.g. 'chalk cheese' is interpretted as 'chalk and cheese'. Note: Your shell may interpret some punctuation, e.g. '<' and '>' as stream redirects. Either enclose the query in quotation marks, escape the problematic characters or use the equivalent text operators, e.g. 'lt' for '<'. Examples: $ tmsu files music mp3 # files with both 'music' and 'mp3' $ tmsu files music and mp3 # same query but with explicit 'and' $ tmsu files music and not mp3 $ tmsu files "music and (mp3 or flac)" $ tmsu files year = 2014 # tagged 'year' with a value '2014' $ tmsu files "year < 2014" # tagged 'year' with values under '2014' $ tmsu files year # tagged 'year' (any or no value) $ tmsu files --top music # don't list individual files if directory is tagged $ tmsu files --path=/home/bob music # tagged 'music' under /home/bob`, Options: Options{{"--all", "-a", "list the complete set of tagged files", false, ""}, {"--directory", "-d", "list only items that are directories", false, ""}, {"--file", "-f", "list only items that are files", false, ""}, {"--top", "-t", "list only the top-most matching items (exclude files under matching directories)", false, ""}, {"--leaf", "-l", "list only the leaf items (files and directories without tagged contents)", false, ""}, {"--print0", "-0", "delimit files with a NUL character rather than newline.", false, ""}, {"--count", "-c", "lists the number of files rather than their names", false, ""}, {"--path", "-p", "list only items under PATH", true, ""}, {"--untagged", "-u", "combined with --path, lists untagged files under PATH", false, ""}, {"--explicit", "-e", "list only explicitly tagged files", false, ""}}, Exec: filesExec, }
View Source
var HelpCommand = Command{ Name: "help", Synopsis: "List commands or show help for a particular command", Description: `tmsu help [OPTION]... [COMMAND] Shows help summary or, where COMMAND is specified, help for COMMAND.`, Options: Options{{"--list", "-l", "list commands", false, ""}}, Exec: helpExec, }
View Source
var ImplyCommand = Command{ Name: "imply", Synopsis: "Creates a tag implication", Description: `tmsu [OPTION] imply TAG IMPL... tmsu imply --list Creates a tag implication such that whenever TAG is applied, IMPL are automatically applied. Examples: $ tmsu imply mp3 music $ tmsu imply --list mp3 ⇒ music $ tmsu imply --delete mp3 music`, Options: Options{Option{"--delete", "-d", "deletes the tag implication", false, ""}, Option{"--list", "-l", "lists the tag implications", false, ""}}, Exec: implyExec, }
View Source
var MergeCommand = Command{ Name: "merge", Synopsis: "Merge tags", Description: `tmsu merge TAG... DEST Merges TAGs into tag DEST resulting in a single tag of name DEST. Examples: $ tmsu merge cehese cheese $ tmsu merge outdoors outdoor outside`, Options: Options{}, Exec: mergeExec, }
View Source
var MountCommand = Command{ Name: "mount", Synopsis: "Mount the virtual filesystem", Description: `tmsu mount tmsu mount [OPTION]... [FILE] MOUNTPOINT Without arguments, lists the currently mounted file-systems, otherwise mounts a virtual file-system at the path MOUNTPOINT. Where FILE is specified, the database at FILE is mounted. If FILE is not specified but the TMSU_DB environment variable is defined then the database at TMSU_DB is mounted. Where neither FILE is specified nor TMSU_DB defined then the default database is mounted. To allow other users access to the mounted filesystem, pass the 'allow_other' FUSE option, e.g. 'tmsu mount --option=allow_other mp'. (FUSE only allows the root user to use this option unless 'user_allow_other' is present in '/etc/fuse.conf'.) Examples: $ tmsu mount mp $ tmsu mount /tmp/db mp $ tmsu mount --options=allow_other mp`, Options: Options{Option{"--options", "-o", "mount options (passed to fusermount)", true, ""}}, Exec: mountExec, }
View Source
var RenameCommand = Command{ Name: "rename", Synopsis: "Rename a tag", Description: `tmsu rename OLD NEW Renames a tag from OLD to NEW. Attempting to rename a tag with a new name for which a tag already exists will result in an error. To merge tags use the 'merge' command instead. Examples: $ tmsu rename montain mountain`, Options: Options{}, Exec: renameExec, }
View Source
var RepairCommand = Command{ Name: "repair", Synopsis: "Repair the database", Description: `tmsu [OPTION]... repair [PATH]... Fixes broken paths and stale fingerprints in the database caused by file modifications and moves. Where no PATHS are specified all files in the database are checked. Reported Repaired Modified files yes yes Moved files yes yes Missing files yes no Untagged files yes no Unmodified files no no Modified files are identified by a change to the file's modification time or file size. These files are repaired by updating the modification time, size and fingerprint in the database. Moved files will only be repaired if a file with the same fingerprint can be found under PATHs: this means files that are simultaneously moved and modified will not be identified. Where no PATHs are specified, moved files will only be identified if moved to a tagged directory. Missing files are reported but are not, by default, removed from the database as this would destroy the tagging information associated with them. If you do wish to clear missing files from the database and destroying the associated tagging information then use the --force option. Untagged files are reported but not added to the database. Examples: $ tmsu repair $ tmsu repair . $ tmsu repair --force`, Options: Options{{"--pretend", "-p", "do not make any changes", false, ""}, {"--remove", "-R", "remove missing files from the database", false, ""}, {"--unmodified", "-u", "recalculate fingerprints for unmodified files", false, ""}}, Exec: repairExec, }
View Source
var StatsCommand = Command{ Name: "stats", Synopsis: "Show database statistics", Description: `tmsu stats Shows the database statistics.`, Options: Options{}, Exec: statsExec, }
View Source
var StatusCommand = Command{ Name: "status", Synopsis: "List the file tagging status", Description: `tmsu status [PATH]... Shows the status of PATHs. Where PATHs are not specified the status of the database is shown. T - Tagged M - Modified ! - Missing U - Untagged Status codes of T, M and ! mean that the file has been tagged (and thus is in the TMSU database). Modified files are those with a different modification time or size to that in the database. Missing files are those in the database but that no longer exist in the file-system. Note: The 'repair' command can be used to fix problems caused by files that have been modified or moved on disk. Examples: $ tmsu status $ tmsu status . $ tmsu status --directory *`, Options: Options{Option{"--directory", "-d", "list directory entries only: do not list contents", false, ""}}, Exec: statusExec, }
View Source
var TagCommand = Command{ Name: "tag", Synopsis: "Apply tags to files", Description: `tmsu tag [OPTION]... FILE TAG[=VALUE]... tmsu tag [OPTION]... --tags="TAG[=VALUE]..." FILE... tmsu tag [OPTION]... --from=FILE FILE... tmsu tag [OPTION]... --create TAG[=VALUE]... Tags the file FILE with the TAGs specified. Tag names may consist of one or more letter, number, punctuation and symbol characters (from the corresponding Unicode categories). Tag names may not contain whitespace characters, the comparison operator symbols ('=', '<' and '>"), parentheses ('(' and ')'), commas (',') or the slash symbol ('/'). In addition, the tag names '.' and '..' are not valid. Optionally tags applied to files may be attributed with a VALUE using the TAG=VALUE syntax. Examples: $ tmsu tag mountain1.jpg photo landscape holiday good country=france $ tmsu tag --from=mountain1.jpg mountain2.jpg $ tmsu tag --tags="landscape" field1.jpg field2.jpg $ tmsu tag --create bad rubbish awful`, Options: Options{{"--tags", "-t", "the set of tags to apply", true, ""}, {"--recursive", "-r", "recursively apply tags to directory contents", false, ""}, {"--from", "-f", "copy tags from the specified file", true, ""}, {"--create", "-c", "create a tag without tagging any files", false, ""}}, Exec: tagExec, }
View Source
var TagsCommand = Command{ Name: "tags", Synopsis: "List tags", Description: `tmsu tags [OPTION]... [FILE]... Lists the tags applied to FILEs. When run with no arguments, tags for the current working directory are listed. Examples: $ tmsu tags tralala.mp3: mp3 music opera $ tmsu tags tralala.mp3 mp3 music opera $ tmsu tags --count tralala.mp3 3`, Options: Options{{"--all", "-a", "lists all of the tags defined", false, ""}, {"--count", "-c", "lists the number of tags rather than their names", false, ""}, {"", "-1", "list one tag per line", false, ""}, {"--explicit", "-e", "do not show implied tags", false, ""}}, Exec: tagsExec, }
View Source
var UnmountCommand = Command{ Name: "unmount", Synopsis: "Unmount the virtual filesystem", Description: `tmsu unmount MOUNTPOINT tmsu unmount --all Unmounts the virtual file-system at MOUNTPOINT.`, Options: Options{{"--all", "-a", "unmounts all mounted TMSU file-systems", false, ""}}, Exec: unmountExec, }
View Source
var UntagCommand = Command{ Name: "untag", Synopsis: "Remove tags from files", Description: `tmsu untag [OPTION]... FILE TAG[=VALUE]... tmsu untag [OPTION]... --all FILE... tmsu untag [OPTION]... --tags="TAG[=VALUE]..." FILE... Disassociates FILE with the TAGs specified. Examples: $ tmsu untag mountain.jpg hill county=germany $ tmsu untag --all mountain-copy.jpg $ tmsu untag --tags="river underwater year=2014" forest.jpg desert.jpg`, Options: Options{{"--all", "-a", "strip each file of all tags", false, ""}, {"--tags", "-t", "the set of tags to remove", true, ""}, {"--recursive", "-r", "recursively remove tags from directory contents", false, ""}}, Exec: untagExec, }
View Source
var ValuesCommand = Command{ Name: "values", Synopsis: "List values", Description: `tmsu values [OPTION]... [TAG]... Lists the values for TAGs. Examples: $ tmsu values year 2000 2001 2014 $ tmsu values --all 2000 2001 2014 cheese opera $ tmsu values --count year 3`, Options: Options{{"--all", "-a", "lists all of the values used by any tag", false, ""}, {"--count", "-c", "lists the number of values rather than their names", false, ""}, {"", "-1", "list one value per line", false, ""}}, Exec: valuesExec, }
View Source
var VersionCommand = Command{ Name: "version", Synopsis: "", Description: `tmsu version Displays version and copyright information.`, Options: Options{}, Exec: versionExec, }
View Source
var VfsCommand = Command{ Name: "vfs", Synopsis: "", Description: `This command is the foreground process which hosts the virtual filesystem. It is run automatically when a virtual filesystem is mounted using the 'mount' command and terminated when the virtual filesystem is unmounted. It is not normally necessary to issue this command manually unless debugging the virtual filesystem. For debug output use the --verbose option.`, Options: Options{{"--options", "-o", "mount options", true, ""}}, Exec: vfsExec, }
Functions ¶
Types ¶
type OptionParser ¶ added in v0.3.0
type OptionParser struct {
// contains filtered or unexported fields
}
func NewOptionParser ¶ added in v0.3.0
func NewOptionParser(globalOptions Options, commandByName map[string]*Command) *OptionParser
type StatusReport ¶ added in v0.3.0
type StatusReport struct {
Rows []Row
}
func NewReport ¶ added in v0.3.0
func NewReport() *StatusReport
func (*StatusReport) AddRow ¶ added in v0.3.0
func (report *StatusReport) AddRow(row Row)
func (*StatusReport) ContainsRow ¶ added in v0.3.0
func (report *StatusReport) ContainsRow(path string) bool
type TagValuePair ¶ added in v0.4.0
Click to show internal directories.
Click to hide internal directories.