MEDIALIST-CLI(1) MediaList CLI MEDIALIST-CLI(1) NAME medialist-cli - CLI for MediaList SYNOPSIS medialist-cli [--help] [--version] [command_options...] DESCRIPTION medialist-cli acts as the command-line interface for the MediaList suite of programs. With it you can create an update lists to help keep track of which books you are reading, or which movies/tv shows you are watching. OPTIONS --help Print a simplified usage message and exit. --version Print the current version of medialist-cli and exit. COMMANDS add [--progress PROGRESS] [--status STATUS] Add a new item to an existing list. listname is the list to add the item to and title is the name of the item. PROGRESS and STATUS are optional, with the defaults being -/- and UNKNOWN respectively. Generally speaking, the PROGRESS is you current progress through the media, and STATUS is the cur- rent status of the media (e.g. reading, watching, etc.). create <listname> Create a new list, using listname for the name. The new name must be unique. delete <listname> [<id>...] Irreversibly delete the listname list. If an id is provided, then the corresponding item is deleted from the list. In this case, the list itself isn't deleted. export <listname> [-t | --type TYPE] Export the list listname using the specified output TYPE to the standard output. The potentian values for TYPE are: "json" (the default) and "html". The JSON output type will write a standard JSON formatted object to the standard output, while the HTML op- tion will print a HTML Table to the standard output. import <list.json> [--update] [--overwrite] [--overwrite-list] Import a JSON formatted list. If the list doesn't exist, then a new list is created and filled with the contents of list.json . It should also be mentioned that the name of list.json has no impact on which list to update, that information is stored in the JSON file itself. If you import a list with no command options, then any new items in list.json are automatically appended to your pre-existing list. No old items are updated, removed, or overwritten. If you choose --update, then any items which can be found in both the original list and list.json will be updated to use the information from whichever has the more recent "last_updated" field. If --overwrite is used, then any items which are present in both the original list and list.json are changed to use the informa- tion found in list.json . Finally, --overwrite-list will remove everything from the origi- nal list and use only the information found in list.json (in other words, this will replace the entire list with list.json ). show <listname> [-n | --numbered] [--show-headers] Show the contents of a listname. Specifying the -n flag will print the item's ID before the item's information. This ID is used for the update and delete commands. The --show-headers flag will print the headers for each field at the beginning. update <list> <id> [options] This will update the item with id on list with the changes spec- ified in options. Potential options are: --title TITLE; --status STATUS; --progress PROGRESS; --start-date DATE; --end-date DATE. The --status and --progress share the same meaning from add, while title will change the item's title. --start-date and --end-date will update the start and end dates for the specified item, currently these aren't used anywhere else in the program, but there are plans for them to be used later. The DATE for these is in the form YYYY-MM-DD. EXAMPLES medialist-cli create manga Creates a new list named manga. medialist-cli add manga One Piece -s READING -p 946/- Add a new item to the manga list with the name One Piece, a sta- tus of READING and a progress of 946/-. medialist-cli show manga -n Prints all items in the "manga" list, along with the item's ID. For example: 1. One Piece => READING => 946/- medialist-cli update manga 1 --progress 957/- This will update the item 1 from list manga with a new progress of 957/-. medialist-cli delete manga Deletes the list with name "manga". medialist-cli delete manga 1 Deletes the item with ID "1" from the list "manga". As an ID is supplied, the list itself isn't deleted. FILES $XDG_CONFIG_HOME/medialist/medialist.conf Configuration file for all MediaList programs. BUGS Currently there is no proper way of handling something that you want to re-read or re-watch. So, if you have something that is marked COMPLETE (with an end date set), then you change the status to READING/WATCHING, only to then change it back to the COMPLETE, the end date will be up- dated again, overwriting the original end date. One shortfall with the import command is that items are compared by us- ing their title. Meaning that if the title has changed between export and import, then it won't be recognised. COPYRIGHT Copyright (C) 2021-2023 dawning. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright no- tice and this notice are preserved. This file is offered as-is, without any warranty. 0.4 2023-04-06 MEDIALIST-CLI(1)