|
10 | 10 | #include "clientcommands.h" |
11 | 11 | #include <QEventLoop> |
12 | 12 | #include <QTimer> |
| 13 | +#include <QTextStream> |
| 14 | +#include <QJsonDocument> |
| 15 | +#include <QJsonObject> |
| 16 | + |
13 | 17 | #include "merginuserauth.h" |
14 | 18 |
|
15 | 19 | ClientCommands::ClientCommands( const QString &dir, int timeout ): |
@@ -106,6 +110,35 @@ void ClientCommands::sync() |
106 | 110 | download( lp.projectNamespace, lp.projectName ); |
107 | 111 | } |
108 | 112 |
|
| 113 | +void ClientCommands::info( bool isJsonFormat ) |
| 114 | +{ |
| 115 | + LocalProject lp = mLocalProjectsManager.projectFromDirectory( QDir::currentPath() ); |
| 116 | + if ( !lp.isValid() ) |
| 117 | + throw QString( "no mergin project in the current directory" ); |
| 118 | + |
| 119 | + QTextStream out( stdout ); |
| 120 | + if ( isJsonFormat ) |
| 121 | + { |
| 122 | + QJsonObject jsonData |
| 123 | + { |
| 124 | + {"name", QJsonValue( lp.projectName )}, |
| 125 | + {"namespace", QJsonValue( lp.projectNamespace )}, |
| 126 | + {"id", QJsonValue( lp.id() )}, |
| 127 | + {"localVersion", QJsonValue( lp.localVersion )} |
| 128 | + }; |
| 129 | + |
| 130 | + QJsonDocument doc( jsonData ); |
| 131 | + out << doc.toJson( QJsonDocument::Compact ); |
| 132 | + } |
| 133 | + else |
| 134 | + { |
| 135 | + out << "name: " << lp.projectName << endl; |
| 136 | + out << "namespace: " << lp.projectNamespace << endl; |
| 137 | + out << "id: " << lp.id() << endl; |
| 138 | + out << "localVersion: " << lp.localVersion << endl; |
| 139 | + } |
| 140 | +} |
| 141 | + |
109 | 142 |
|
110 | 143 | bool ClientCommands::isAuthorized() |
111 | 144 | { |
|
0 commit comments