|
@@ -0,0 +1,54 @@
|
|
|
|
+#!/usr/bin/lua
|
|
|
|
+
|
|
|
|
+local cli = require "cli"
|
|
|
|
+local plpath = require "pl.path"
|
|
|
|
+
|
|
|
|
+local pkar = require "pocket_archive"
|
|
|
|
+local sub = require "pocket_archive.submission"
|
|
|
|
+local hgen = require "pocket_archive.html_generator"
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+cli.locale "en_US"
|
|
|
|
+
|
|
|
|
+init = cli.command {
|
|
|
|
+ "Initialize a new Pocket Archive store.",
|
|
|
|
+
|
|
|
|
+ cli.flag "wipe" {
|
|
|
|
+ "Wipe all preexisting data.",
|
|
|
|
+ type = cli.boolean,
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ function(args)
|
|
|
|
+ if args.wipe then _ = pkar.reset_store
|
|
|
|
+ else _ = pkar.store end
|
|
|
|
+
|
|
|
|
+ _ = nil
|
|
|
|
+ collectgarbage()
|
|
|
|
+ end
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+submit = cli.command {
|
|
|
|
+ "Submit a package.",
|
|
|
|
+
|
|
|
|
+ cli.positional "path" {
|
|
|
|
+ [[Path of the package root. It must be a directory containing
|
|
|
|
+ all the files and folders to be submitted and a `pkar_submission.csv`
|
|
|
|
+ file at the top of the folder.]]
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ function(args)
|
|
|
|
+ sip = sub.generate_sip(plpath.join(args.path, "pkar_submission.csv"))
|
|
|
|
+ sub.deposit(sip)
|
|
|
|
+ end
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+generate = cli.command {
|
|
|
|
+ "Generate a static site from the archive.",
|
|
|
|
+
|
|
|
|
+ function(args) hgen.generate_site() end
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+cli.program {
|
|
|
|
+ "Pocket Archive command line interface.",
|
|
|
|
+}
|