From 634e14aeebbbdeaaca3d11c7a4905422833e896e Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Thu, 11 Jul 2019 00:26:20 +0200 Subject: [PATCH] Change default output behavior a little bit --- tools/nymea-plugininfocompiler/main.cpp | 4 +- .../plugininfocompiler.cpp | 52 +++++++++++-------- 2 files changed, 32 insertions(+), 24 deletions(-) diff --git a/tools/nymea-plugininfocompiler/main.cpp b/tools/nymea-plugininfocompiler/main.cpp index a7df0c0e..d0f20497 100644 --- a/tools/nymea-plugininfocompiler/main.cpp +++ b/tools/nymea-plugininfocompiler/main.cpp @@ -34,8 +34,8 @@ int main(int argc, char *argv[]) QCommandLineParser parser; parser.setApplicationDescription("The nymea plugin info compiler. Compiles a plugininfo.json into a plugininfo.h/plugininfo-extern.h."); parser.addHelpOption(); - parser.addOption({{"o", "output"}, "Write generated output header to .", "file", "-"}); - parser.addOption({{"e", "extern"}, "Write generated output header (extern definitions) to .", "file", "-"}); + parser.addOption({{"o", "output"}, "Write generated output header to .", "file"}); + parser.addOption({{"e", "extern"}, "Write generated output header (extern definitions) to .", "file"}); parser.addPositionalArgument("input", "The input json file"); parser.process(a); diff --git a/tools/nymea-plugininfocompiler/plugininfocompiler.cpp b/tools/nymea-plugininfocompiler/plugininfocompiler.cpp index b28f7d99..7c418d56 100644 --- a/tools/nymea-plugininfocompiler/plugininfocompiler.cpp +++ b/tools/nymea-plugininfocompiler/plugininfocompiler.cpp @@ -60,29 +60,33 @@ int PluginInfoCompiler::compile(const QString &inputFile, const QString &outputF // OK. Json parsed fine. Let's open files for writing - if (outputFile == "-") { - if (!m_outputFile.open(stdout, QFile::WriteOnly | QFile::Text)) { - qWarning() << "Error opening stdout for writing. Aborting."; - return 1; - } - } else { - m_outputFile.setFileName(outputFile); - if (!m_outputFile.open(QFile::WriteOnly | QFile::Text)) { - qWarning() << "Error opening output file for writing. Aborting."; - return 1; + if (!outputFile.isEmpty()) { + if (outputFile == "-") { + if (!m_outputFile.open(stdout, QFile::WriteOnly | QFile::Text)) { + qWarning() << "Error opening stdout for writing. Aborting."; + return 1; + } + } else { + m_outputFile.setFileName(outputFile); + if (!m_outputFile.open(QFile::WriteOnly | QFile::Text)) { + qWarning() << "Error opening output file for writing. Aborting."; + return 1; + } } } - if (outputFileExtern == "-") { - if (!m_outputFileExtern.open(stdout, QFile::WriteOnly | QFile::Text)) { - qWarning() << "Error opening stdout for writing. Aborting."; - return 1; - } - } else { - m_outputFileExtern.setFileName(outputFileExtern); - if (!m_outputFileExtern.open(QFile::WriteOnly | QFile::Text)) { - qWarning() << "Error opening output file for writing. Aborting."; - return 1; + if (!outputFileExtern.isEmpty()) { + if (outputFileExtern == "-") { + if (!m_outputFileExtern.open(stdout, QFile::WriteOnly | QFile::Text)) { + qWarning() << "Error opening stdout for writing. Aborting."; + return 1; + } + } else { + m_outputFileExtern.setFileName(outputFileExtern); + if (!m_outputFileExtern.open(QFile::WriteOnly | QFile::Text)) { + qWarning() << "Error opening output file for writing. Aborting."; + return 1; + } } } @@ -278,10 +282,14 @@ void PluginInfoCompiler::writeActionTypes(const ActionTypes &actionTypes, const void PluginInfoCompiler::write(const QString &line) { - m_outputFile.write(QString("%1\n").arg(line).toUtf8()); + if (m_outputFile.isOpen()) { + m_outputFile.write(QString("%1\n").arg(line).toUtf8()); + } } void PluginInfoCompiler::writeExtern(const QString &line) { - m_outputFileExtern.write(QString("%1\n").arg(line).toUtf8()); + if (m_outputFileExtern.isOpen()) { + m_outputFileExtern.write(QString("%1\n").arg(line).toUtf8()); + } }