App::Zapzi - store articles and publish them to read later
This class implements the application functions for Zapzi. See the page for the zapzi command for details on how to run it.
The current state of the application, -1 means nothing has been done, 0 OK, otherwise an error code. Used for exit code when the process terminates.
Option to force processing of the init command. Default is unset.
Option to not archive articles on publication
Option to present a detailed listing
Folder to work on. Default is 'Inbox'
Transformer to extract text from the article. Default is '', which means Zapzi will automatically the best option based on the content type of the text.
Format to publish a collection of folder articles in.
Encoding to publish a collection of folder articles in. Zapzi will select the best encoding for the content and publication format if not specified.
Method to distribute a published eBook - eg copy, script, email.
The folder where Zapzi files are stored.
The folder where Zapzi published eBook files are stored.
The instance of App:Zapzi::Database used by the application.
If set, use an in-memory database. Used to speed up testing only.
If set, this is an interactive session where Zapzi can prompt the user for input.
At construction time,
a copy of the application object is stored and can be retrieved later via
Read the arguments
@args (normally you'd pass in
@ARGV and process them according to the command line specification for the application.
Creates the database. Will only do so if the database does not exist already or if the force attribute is set.
On initialiseation, ask the user for settings for configuration variables. Will not ask if this is being run non-interactively.
Get or set configuration variables.
If args is 'get' will list out all variables and their values. If args is 'get x' will list the value of variable x. If args is 'set x y' will set the value of x to be y.
Determines if the folder specified exists.
Determines if @args could be article IDs.
Lists out the articles in folder.
List folder names and article counts.
Create one or more new folders. Will ignore any folders that already exist.
Remove one or more new folders. Will not allow removal of system folders ie Inbox and Archive, but will ignore removal of folders that do not exist.
Remove an article from the database
Add an article to the database for later publication.
Exports article text.
output is 'browser' then will start a browser to view the article,
otherwise it will print to STDOUT.
Move one or more articles to a folder.
Publish a folder of articles to an eBook
Displays help text.
Displays version information.
Rupert Lane <email@example.com>
This software is copyright (c) 2014 by Rupert Lane.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.