From 142aaf2a92cdd7ff5f3eb0b7e2e04e15439d21fc Mon Sep 17 00:00:00 2001 From: Jim Evins Date: Sat, 28 Mar 2020 19:10:28 -0400 Subject: [PATCH] Glabels-batch: allow project file to be provided on stdin. (#90) --- glabels-batch/main.cpp | 14 ++++++++++++-- user-docs/_build/man/glabels-batch-qt.1 | 9 +++++---- user-docs/_build/man/glabels-qt.1 | 2 +- user-docs/conf.py | 2 +- user-docs/man/glabels-batch-qt.rst | 5 +++-- 5 files changed, 22 insertions(+), 10 deletions(-) diff --git a/glabels-batch/main.cpp b/glabels-batch/main.cpp index 332ac62..274b4fc 100644 --- a/glabels-batch/main.cpp +++ b/glabels-batch/main.cpp @@ -44,10 +44,13 @@ namespace #if defined(Q_OS_WIN) const QString STDOUT_FILENAME = "CON:"; + const QString STDIN_FILENAME = "CON:"; #elif defined(Q_OS_LINUX) const QString STDOUT_FILENAME = "/dev/stdout"; + const QString STDIN_FILENAME = "/dev/stdin"; #else const QString STDOUT_FILENAME = "/dev/stdout"; + const QString STDIN_FILENAME = "/dev/stdin"; #endif } @@ -173,7 +176,14 @@ int main( int argc, char **argv ) if ( parser.positionalArguments().size() == 1 ) { + qDebug() << "Batch mode."; + QString filename = parser.positionalArguments().constFirst(); + if ( filename == "-" ) + { + filename = STDIN_FILENAME; + } + qDebug() << "Project file =" << filename; glabels::model::Model *model = glabels::model::XmlLabelParser::readFile( filename ); if ( model ) @@ -184,7 +194,7 @@ int main( int argc, char **argv ) printer.setColorMode( QPrinter::Color ); if ( parser.isSet("printer") ) { - qDebug() << "Batch mode. printer =" << parser.value("printer"); + qDebug() << "Printer =" << parser.value("printer"); printer.setPrinterName( parser.value("printer") ); } else if ( parser.isSet("output") ) @@ -194,7 +204,7 @@ int main( int argc, char **argv ) { outputFilename = STDOUT_FILENAME; } - qDebug() << "Batch mode. output =" << outputFilename; + qDebug() << "Output =" << outputFilename; printer.setOutputFileName( outputFilename ); } else diff --git a/user-docs/_build/man/glabels-batch-qt.1 b/user-docs/_build/man/glabels-batch-qt.1 index a76103e..b052ece 100644 --- a/user-docs/_build/man/glabels-batch-qt.1 +++ b/user-docs/_build/man/glabels-batch-qt.1 @@ -1,8 +1,8 @@ .\" Man page generated from reStructuredText. . -.TH "GLABELS-BATCH-QT" "1" "Jan 02, 2020" "" "gLabels" +.TH "GLABELS-BATCH-QT" "1" "Mar 28, 2020" "" "gLabels" .SH NAME -glabels-batch-qt \- batch creation of labels and business cards +glabels-batch-qt \- print glabels project from command line . .nr rst2man-indent-level 0 . @@ -32,11 +32,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .. .SH SYNOPSIS .sp -\fBglabels\-batch\-qt\fP [\fIoptions\fP] [\fIfilename\fP] +\fBglabels\-batch\-qt\fP [\fIoptions\fP] \fIFILE\fP .SH DESCRIPTION .sp \fBglabels\-batch\-qt\fP is a utility for printing a glabels project file -from the command line. It is suitable for use with scripts. +from the command line. This command takes exactly one project file, FILE. If FILE +is "\-", it expects an XML glabels project to be provided on standard input. .SH OPTIONS .INDENT 0.0 .TP diff --git a/user-docs/_build/man/glabels-qt.1 b/user-docs/_build/man/glabels-qt.1 index 44a43c5..b86788b 100644 --- a/user-docs/_build/man/glabels-qt.1 +++ b/user-docs/_build/man/glabels-qt.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "GLABELS-QT" "1" "Jan 02, 2020" "" "gLabels" +.TH "GLABELS-QT" "1" "Mar 28, 2020" "" "gLabels" .SH NAME glabels-qt \- create labels and business cards . diff --git a/user-docs/conf.py b/user-docs/conf.py index 00cd3b8..d393132 100644 --- a/user-docs/conf.py +++ b/user-docs/conf.py @@ -150,7 +150,7 @@ latex_documents = [ # (source start file, name, description, authors, manual section). man_pages = [ ('man/glabels-qt', 'glabels-qt', 'create labels and business cards', [], 1), - ('man/glabels-batch-qt', 'glabels-batch-qt', 'batch creation of labels and business cards', [], 1) + ('man/glabels-batch-qt', 'glabels-batch-qt', 'print glabels project from command line', [], 1) ] diff --git a/user-docs/man/glabels-batch-qt.rst b/user-docs/man/glabels-batch-qt.rst index c3f7802..cafe485 100644 --- a/user-docs/man/glabels-batch-qt.rst +++ b/user-docs/man/glabels-batch-qt.rst @@ -4,13 +4,14 @@ glabels-batch-qt SYNOPSIS -------- -**glabels-batch-qt** [*options*] [*filename*] +**glabels-batch-qt** [*options*] *FILE* DESCRIPTION ----------- :program:`glabels-batch-qt` is a utility for printing a glabels project file -from the command line. It is suitable for use with scripts. +from the command line. This command takes exactly one project file, FILE. If FILE +is "-", it expects an XML glabels project to be provided on standard input. OPTIONS