RVI import-list generator.

This commit is contained in:
cora32 2015-08-08 23:31:07 +03:00
parent d39de296e7
commit 6827862988
5 changed files with 52 additions and 10 deletions

View File

@ -302,8 +302,12 @@ int rvi_login_ptr(const char *sDVRIP, int wDVRPort, const char *login, const cha
if (res != SOCKET_ERROR) { if (res != SOCKET_ERROR) {
send(sock, newlp, 32, 0); send(sock, newlp, 32, 0);
Activity += strlen(newlp);
stt->doEmitionAddOutData(QString(newlp));
char buff[32] = { 0 }; char buff[32] = { 0 };
recvWT(sock, buff, 16, gTimeOut, &bTO); recvWT(sock, buff, 16, gTimeOut, &bTO);
Activity += strlen(buff);
stt->doEmitionAddIncData(QString(sDVRIP) + ":" + QString(wDVRPort), QString(buff));
shutdown(sock, SD_BOTH); shutdown(sock, SD_BOTH);
closesocket(sock); closesocket(sock);

View File

@ -2,6 +2,7 @@
#include <sstream> #include <sstream>
std::string Utils::startDate; std::string Utils::startDate;
std::string Utils::startTime;
void Utils::emitScaryError() { void Utils::emitScaryError() {
__asm{ __asm{
@ -25,12 +26,27 @@ void Utils::emitScaryError() {
void Utils::saveStartDate() { void Utils::saveStartDate() {
startDate = std::string(QDate::currentDate().toString().toLocal8Bit().data()); QDate date = QDate::currentDate();
startDate = std::to_string(date.day())
+ "_"
+ std::to_string(date.month())
+ "_"
+ std::to_string(date.year());
}
void Utils::saveStartTime() {
QTime time = QTime::currentTime();
startTime = std::to_string(time.hour())
+ "_"
+ std::to_string(time.minute());
} }
std::string Utils::getStartDate() { std::string Utils::getStartDate() {
return startDate; return startDate;
} }
std::string Utils::getStartTime() {
return startTime;
}
int Utils::isDigest(const std::string *buffer) { int Utils::isDigest(const std::string *buffer) {
if (Utils::ustrstr(buffer, "401 authorization") != -1 if (Utils::ustrstr(buffer, "401 authorization") != -1
|| Utils::ustrstr(buffer, "401 unauthorized") != -1 || Utils::ustrstr(buffer, "401 unauthorized") != -1

View File

@ -25,6 +25,7 @@ private:
class Utils { class Utils {
private: static std::string startDate; private: static std::string startDate;
private: static std::string startTime;
public: public:
static int isDigest(const std::string *buffer); static int isDigest(const std::string *buffer);
@ -85,7 +86,9 @@ public:
static std::vector<std::string> splitToStrVector(const std::string &s, char delim); static std::vector<std::string> splitToStrVector(const std::string &s, char delim);
static std::vector<int> splitToIntVector(const std::string &s, char delim); static std::vector<int> splitToIntVector(const std::string &s, char delim);
static void saveStartDate(); static void saveStartDate();
static void saveStartTime();
static std::string getStartDate(); static std::string getStartDate();
static std::string getStartTime();
static void emitScaryError(); static void emitScaryError();
}; };

View File

@ -2443,6 +2443,8 @@ std::string getHeader(const std::string *buffcpy, const int flag) {
return result; return result;
} }
#define RVI_START_FILE "<Organization>\n\t<Department name=\"root\">\n\t\t"
void parseFlag(int flag, char* ip, int port, int size, const std::string &header, char* cp) { void parseFlag(int flag, char* ip, int port, int size, const std::string &header, char* cp) {
//Streaming server? //Streaming server?
@ -2558,16 +2560,32 @@ void parseFlag(int flag, char* ip, int port, int size, const std::string &header
char fileName[256] = { 0 }; char fileName[256] = { 0 };
char date[64] = { 0 }; char date[64] = { 0 };
strcpy(date, Utils::getStartDate().c_str()); strcpy(date, Utils::getStartDate().c_str());
sprintf(fileName, "./result_files-%s/rvifile_%s.csv", date, date); sprintf(fileName, "./result_files-%s/rvifile_%s(%s).xml",
FILE *f = fopen(fileName, "a"); date, date, Utils::getStartTime().c_str());
if (f != NULL) {
char string[1024] = { 0 }; char string[1024] = { 0 };
sprintf(string, "\"%s\",\"0\",%s,\"%d\",\"2\",\"%s\",\"%s\",\"0\",\"1\",\"0\",\"0\"\n", if (fopen(fileName, "r") == NULL) {
ip, ip, port, lps.login, lps.pass); FILE *f = fopen(fileName, "a");
fputs(string, f); if (f != NULL) {
fclose(f); sprintf(string, RVI_START_FILE"<Device title=\"%s\" ip=\"%s\" port=\"%d\" user=\"%s\" password=\"%s\"/>\n\t</Department>\n</Organization>\n",
ip, ip, port, lps.login, lps.pass);
fputs(string, f);
fclose(f);
}
else stt->doEmitionRedFoundData("Cannot open xml - \"" + QString::fromLocal8Bit(fileName));
}
else {
FILE *f = fopen(fileName, "r+");
if (f != NULL) {
fseek(f, -35, SEEK_END);
sprintf(string, "\n\t\t<Device title=\"%s\" ip=\"%s\" port=\"%d\" user=\"%s\" password=\"%s\"/>\n\t</Department>\n</Organization>\n",
ip, ip, port, lps.login, lps.pass);
fputs(string, f);
fclose(f);
}
else stt->doEmitionRedFoundData("Cannot open xml - \"" + QString::fromLocal8Bit(fileName));
} }
else stt->doEmitionRedFoundData("Cannot open csv - \"" + QString(fileName));
rviStop = false; rviStop = false;
}; };
return; return;

View File

@ -3346,6 +3346,7 @@ nesca_3::nesca_3(bool isWM, QWidget *parent = 0) : QMainWindow(parent)
RestoreSession(); RestoreSession();
Utils::saveStartDate(); Utils::saveStartDate();
Utils::saveStartTime();
char buffer[MAX_PATH] = { 0 }; char buffer[MAX_PATH] = { 0 };
GetCurrentDir(buffer, MAX_PATH); GetCurrentDir(buffer, MAX_PATH);