- compile 환경 구축
- 리눅스에서 컴파일 안되는 코드 수정 - binary packaging 스크립트 추가
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -3,3 +3,5 @@
|
|||||||
*.user
|
*.user
|
||||||
**/build-*/
|
**/build-*/
|
||||||
WebBasedCrawler/proxy.txt
|
WebBasedCrawler/proxy.txt
|
||||||
|
clients-win/
|
||||||
|
clients-linux/
|
||||||
|
|||||||
@@ -338,7 +338,7 @@ void Widget::CompanyItemChanged(QListWidgetItem* _current,QListWidgetItem*)
|
|||||||
}
|
}
|
||||||
m_plw[E_LIST_CATALOG].clear();
|
m_plw[E_LIST_CATALOG].clear();
|
||||||
|
|
||||||
int nServiceCnt[E_SERVICE_MAX] = {0};
|
//int nServiceCnt[E_SERVICE_MAX] = {0};
|
||||||
|
|
||||||
QSqlQuery query("select num,name,servicenum FROM category where company_num = '" +_current->data(Qt::UserRole).toString()+ "' order by servicenum asc, num asc");
|
QSqlQuery query("select num,name,servicenum FROM category where company_num = '" +_current->data(Qt::UserRole).toString()+ "' order by servicenum asc, num asc");
|
||||||
while(query.next())
|
while(query.next())
|
||||||
@@ -788,6 +788,9 @@ void Widget::time_execute()
|
|||||||
{
|
{
|
||||||
case QProcess::NotRunning: m_aProcess[i].start();
|
case QProcess::NotRunning: m_aProcess[i].start();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
812
Filter/widget.cpp.bak
Normal file
812
Filter/widget.cpp.bak
Normal file
@@ -0,0 +1,812 @@
|
|||||||
|
#include "widget.h"
|
||||||
|
#include <QVBoxLayout>
|
||||||
|
#include <QLabel>
|
||||||
|
#include <QSqlDatabase>
|
||||||
|
#include <QSqlError>
|
||||||
|
#include <QSqlQuery>
|
||||||
|
#include <QDebug>
|
||||||
|
#include <QPushButton>
|
||||||
|
#include <QThread>
|
||||||
|
#include <QTime>
|
||||||
|
#include <QFile>
|
||||||
|
#include <QSettings>
|
||||||
|
|
||||||
|
#include "../Json/sjson.h"
|
||||||
|
#include "../common.h"
|
||||||
|
#define MINUTE 60000
|
||||||
|
Widget::Widget(QWidget *parent) :
|
||||||
|
QWidget(parent)
|
||||||
|
{
|
||||||
|
QVBoxLayout *vMainLayout = new QVBoxLayout;
|
||||||
|
{
|
||||||
|
{
|
||||||
|
QHBoxLayout *hLayout = new QHBoxLayout;
|
||||||
|
QStringList strList;
|
||||||
|
strList << "Data" << "Filter Group" << "Company" << "Category";
|
||||||
|
m_plw = new QListWidget[E_LIST_MAX];
|
||||||
|
int i = 0;
|
||||||
|
foreach(QString str , strList)
|
||||||
|
{
|
||||||
|
QVBoxLayout *vLayout = new QVBoxLayout;
|
||||||
|
vLayout->addWidget(new QLabel(str));
|
||||||
|
vLayout->addWidget(&m_plw[i++]);
|
||||||
|
hLayout->addLayout(vLayout);
|
||||||
|
}
|
||||||
|
connect(&m_plw[E_LIST_COMPANY],SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)),this,SLOT(CompanyItemChanged(QListWidgetItem*,QListWidgetItem*)));
|
||||||
|
vMainLayout->addLayout(hLayout);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
QHBoxLayout *hLayout = new QHBoxLayout;
|
||||||
|
{
|
||||||
|
QVBoxLayout *vLayout = new QVBoxLayout;
|
||||||
|
{
|
||||||
|
QHBoxLayout *h_0_Layout = new QHBoxLayout;
|
||||||
|
{
|
||||||
|
QVBoxLayout *v_0_Layout = new QVBoxLayout;
|
||||||
|
v_0_Layout->addWidget(new QLabel("Filter Process Group"));
|
||||||
|
m_plwFilterProcessGroup = new QListWidget;
|
||||||
|
connect(m_plwFilterProcessGroup,SIGNAL(itemClicked(QListWidgetItem*)),this,SLOT(FilterProcessGroupClicked(QListWidgetItem*)));
|
||||||
|
v_0_Layout->addWidget(m_plwFilterProcessGroup);
|
||||||
|
m_pleFilterProcessGroup = new QLineEdit;
|
||||||
|
v_0_Layout->addWidget(m_pleFilterProcessGroup);
|
||||||
|
{
|
||||||
|
QHBoxLayout *hSubLayout = new QHBoxLayout;
|
||||||
|
QPushButton *ppbInsert = new QPushButton("Insert");
|
||||||
|
connect(ppbInsert, SIGNAL(released()),this, SLOT(on_filter_process_group_insert()));
|
||||||
|
hSubLayout->addWidget(ppbInsert);
|
||||||
|
QPushButton *ppbDelete = new QPushButton("Delete");
|
||||||
|
connect(ppbDelete, SIGNAL(released()),this, SLOT(on_filter_process_group_delete()));
|
||||||
|
hSubLayout->addWidget(ppbDelete);
|
||||||
|
QPushButton *ppbModify = new QPushButton("Modify");
|
||||||
|
connect(ppbModify, SIGNAL(released()),this, SLOT(on_filter_process_group_modify()));
|
||||||
|
hSubLayout->addWidget(ppbModify);
|
||||||
|
v_0_Layout->addLayout(hSubLayout);
|
||||||
|
}
|
||||||
|
h_0_Layout->addLayout(v_0_Layout);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
QVBoxLayout *v_0_Layout = new QVBoxLayout;
|
||||||
|
v_0_Layout->addWidget(new QLabel("Process List"));
|
||||||
|
m_plwProcess = new QListWidget;
|
||||||
|
v_0_Layout->addWidget(m_plwProcess);
|
||||||
|
{
|
||||||
|
QHBoxLayout *hSubLayout = new QHBoxLayout;
|
||||||
|
hSubLayout->addWidget(new QLabel("Timer(Minute): "));
|
||||||
|
m_pleExcutionTime = new QLineEdit;
|
||||||
|
m_pleExcutionTime->setValidator( new QIntValidator(1, 100000, this));
|
||||||
|
m_pleExcutionTime->setText("60");
|
||||||
|
m_pleExcutionTime->setFixedWidth(50);
|
||||||
|
hSubLayout->addWidget(m_pleExcutionTime);
|
||||||
|
|
||||||
|
hSubLayout->addWidget(new QLabel("Influencer Limit: "));
|
||||||
|
m_pleInfluencerLimitFrom = new QLineEdit;
|
||||||
|
m_pleInfluencerLimitFrom->setValidator( new QIntValidator(1, 100000, this));
|
||||||
|
m_pleInfluencerLimitFrom->setText("1");
|
||||||
|
m_pleInfluencerLimitFrom->setFixedWidth(40);
|
||||||
|
m_pleInfluencerLimitTo = new QLineEdit;
|
||||||
|
m_pleInfluencerLimitTo->setValidator( new QIntValidator(1, 100000, this));
|
||||||
|
m_pleInfluencerLimitTo->setText("500");
|
||||||
|
m_pleInfluencerLimitTo->setFixedWidth(40);
|
||||||
|
|
||||||
|
hSubLayout->addWidget(m_pleInfluencerLimitFrom);
|
||||||
|
hSubLayout->addWidget(m_pleInfluencerLimitTo);
|
||||||
|
|
||||||
|
v_0_Layout->addLayout(hSubLayout);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
QHBoxLayout *hSubLayout = new QHBoxLayout;
|
||||||
|
QPushButton *ppbInsert = new QPushButton("Insert");
|
||||||
|
connect(ppbInsert, SIGNAL(released()),this, SLOT(on_process_insert()));
|
||||||
|
hSubLayout->addWidget(ppbInsert);
|
||||||
|
QPushButton *ppbDelete = new QPushButton("Delete");
|
||||||
|
connect(ppbDelete, SIGNAL(released()),this, SLOT(on_process_delete()));
|
||||||
|
hSubLayout->addWidget(ppbDelete);
|
||||||
|
QPushButton *ppbStart = new QPushButton("Start");
|
||||||
|
connect(ppbStart, SIGNAL(released()),this, SLOT(on_process_start()));
|
||||||
|
hSubLayout->addWidget(ppbStart);
|
||||||
|
QPushButton *ppbStop = new QPushButton("Stop");
|
||||||
|
connect(ppbStop, SIGNAL(released()),this, SLOT(on_process_stop()));
|
||||||
|
hSubLayout->addWidget(ppbStop);
|
||||||
|
|
||||||
|
v_0_Layout->addLayout(hSubLayout);
|
||||||
|
}
|
||||||
|
h_0_Layout->addLayout(v_0_Layout);
|
||||||
|
}
|
||||||
|
vLayout->addLayout(h_0_Layout);
|
||||||
|
|
||||||
|
{
|
||||||
|
vLayout->addWidget(new QLabel("Filter Process"));
|
||||||
|
m_plwFilterProcess = new QListWidget;
|
||||||
|
vLayout->addWidget(m_plwFilterProcess);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
QHBoxLayout *hLayoutEdit = new QHBoxLayout;
|
||||||
|
{
|
||||||
|
QPushButton *ppbLoad = new QPushButton("Load");
|
||||||
|
connect(ppbLoad, SIGNAL(released()),this, SLOT(on_load()));
|
||||||
|
hLayoutEdit->addWidget(ppbLoad);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
QPushButton *ppbCategory = new QPushButton("Category Make");
|
||||||
|
connect(ppbCategory, SIGNAL(released()),this, SLOT(on_category()));
|
||||||
|
hLayoutEdit->addWidget(ppbCategory);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
QPushButton *ppbSend = new QPushButton("Send");
|
||||||
|
connect(ppbSend, SIGNAL(released()),this, SLOT(on_send()));
|
||||||
|
hLayoutEdit->addWidget(ppbSend);
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
{
|
||||||
|
QPushButton *ppbCount = new QPushButton("Influence Count");
|
||||||
|
connect(ppbCount, SIGNAL(released()),this, SLOT(on_influence_count()));
|
||||||
|
hLayoutEdit->addWidget(ppbCount);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
QPushButton *ppbCount = new QPushButton("Spammers Count");
|
||||||
|
connect(ppbCount, SIGNAL(released()),this, SLOT(on_spammers_count()));
|
||||||
|
hLayoutEdit->addWidget(ppbCount);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
QPushButton *ppbCount = new QPushButton("Power Cafe Count");
|
||||||
|
connect(ppbCount, SIGNAL(released()),this, SLOT(on_power_cafe_count()));
|
||||||
|
hLayoutEdit->addWidget(ppbCount);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
//QPushButton *ppbCount = new QPushButton("Consumer Supervison Count");
|
||||||
|
//connect(ppbCount, SIGNAL(released()),this, SLOT(on_consumer_supervison_count()));
|
||||||
|
//hLayoutEdit->addWidget(ppbCount);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
{
|
||||||
|
QPushButton *ppbDelete = new QPushButton("Delete");
|
||||||
|
connect(ppbDelete, SIGNAL(released()),this, SLOT(on_delete()));
|
||||||
|
hLayoutEdit->addWidget(ppbDelete);
|
||||||
|
}
|
||||||
|
vLayout->addLayout(hLayoutEdit);
|
||||||
|
}
|
||||||
|
hLayout->addLayout(vLayout);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
QVBoxLayout *vLayout = new QVBoxLayout;
|
||||||
|
vLayout->addWidget(new QLabel("Log"));
|
||||||
|
m_plwLog = new QListWidget;
|
||||||
|
vLayout->addWidget(m_plwLog);
|
||||||
|
hLayout->addLayout(vLayout);
|
||||||
|
}
|
||||||
|
vMainLayout->addLayout(hLayout);
|
||||||
|
}
|
||||||
|
QPushButton *ppbRefresh = new QPushButton("Refresh");
|
||||||
|
connect(ppbRefresh, SIGNAL(released()),this, SLOT(on_refresh()));
|
||||||
|
vMainLayout->addWidget(ppbRefresh);
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
QPushButton *ppbSend = new QPushButton("Send");
|
||||||
|
vMainLayout->addWidget(ppbSend);
|
||||||
|
connect(ppbSend, SIGNAL(released()),this, SLOT(on_send()));
|
||||||
|
*/
|
||||||
|
connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(time_update()));
|
||||||
|
connect(&m_executionTimer, SIGNAL(timeout()), this, SLOT(time_execute()));
|
||||||
|
//m_pThread = new SGetThread;
|
||||||
|
setLayout(vMainLayout);
|
||||||
|
//m_pPutThread = new SPutThread[QThread::idealThreadCount()];
|
||||||
|
if (ReloadSetup() == false)
|
||||||
|
{
|
||||||
|
InsertLog("setup.ini don't find");
|
||||||
|
}
|
||||||
|
m_db = QSqlDatabase::addDatabase("QMYSQL");
|
||||||
|
//m_statusTimer.start(5000);
|
||||||
|
Refresh();
|
||||||
|
for(int i = 0; i < D_PROCESS_MAX ;i++)
|
||||||
|
{
|
||||||
|
connect(&m_aProcess[i],SIGNAL(readyReadStandardOutput()),SLOT(process_output()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget::~Widget()
|
||||||
|
{
|
||||||
|
for (int i = 0; i < D_PROCESS_MAX;i++)
|
||||||
|
Kill(i);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::InsertLog(QString str)
|
||||||
|
{
|
||||||
|
if(str[str.length()-1] == QChar('\n'))
|
||||||
|
str = str.mid(0, str.length()-1);
|
||||||
|
|
||||||
|
QTime time = QTime::currentTime();
|
||||||
|
QString strOut = time.toString("[hh:mm:ss] ") + str;
|
||||||
|
m_plwLog->addItem(strOut);
|
||||||
|
|
||||||
|
if (m_plwLog->count() > 1024)
|
||||||
|
{
|
||||||
|
m_plwLog->removeItemWidget(m_plwLog->item(0));
|
||||||
|
QListWidgetItem* item = m_plwLog->takeItem(0);
|
||||||
|
delete item;
|
||||||
|
}
|
||||||
|
m_plwLog->setCurrentRow( m_plwLog->count() - 1 );
|
||||||
|
m_plwLog->repaint();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Widget::ReloadSetup()
|
||||||
|
{
|
||||||
|
QSettings settings(QString("setup.ini"), QSettings::IniFormat);
|
||||||
|
settings.setIniCodec("UTF-8");
|
||||||
|
settings.beginGroup(QString("database"));
|
||||||
|
if (settings.childKeys().size() == 0) return false;
|
||||||
|
m_strWebDataBaseHost = settings.value("host").toString();
|
||||||
|
m_strWebDataBaseUser = settings.value("user").toString();
|
||||||
|
m_strWebDataBasePass = settings.value("pass").toString();
|
||||||
|
m_strWebDataBaseName = settings.value("name").toString();
|
||||||
|
settings.endGroup();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Widget::Refresh()
|
||||||
|
{
|
||||||
|
m_db.setHostName("bigbird.iptime.org");
|
||||||
|
m_db.setUserName("admin");
|
||||||
|
m_db.setPassword("admin123");
|
||||||
|
m_db.setDatabaseName("concepters");
|
||||||
|
if (m_db.open() == false)
|
||||||
|
{
|
||||||
|
InsertLog(m_db.lastError().text());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < E_LIST_MAX ; i++)
|
||||||
|
m_plw[i].clear();
|
||||||
|
|
||||||
|
{
|
||||||
|
QSqlQuery query("select id,name,locked from filtergroup");
|
||||||
|
while (query.next())
|
||||||
|
{
|
||||||
|
QListWidgetItem *pItem = new QListWidgetItem(query.value(1).toString() +
|
||||||
|
((query.value(2).toInt() == 0)? "" : " (Locked)")
|
||||||
|
,&m_plw[E_LIST_FILTER]);
|
||||||
|
pItem->setData(Qt::UserRole, QVariant(query.value(0)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
QSqlQuery query("select id,name FROM datagroup");
|
||||||
|
while(query.next())
|
||||||
|
{
|
||||||
|
QListWidgetItem *pItem = new QListWidgetItem(query.value(1).toString() + QString("(") + query.value(0).toString() + QString(")") ,&m_plw[E_LIST_DATA]);
|
||||||
|
pItem->setData(Qt::UserRole, QVariant(query.value(0)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
m_plwFilterProcessGroup->clear();
|
||||||
|
QSqlQuery query("select id,name,state from filterprocessgroup");
|
||||||
|
while (query.next())
|
||||||
|
{
|
||||||
|
QString str;
|
||||||
|
str = query.value(1).toString();
|
||||||
|
/*switch(query.value(2).toInt())
|
||||||
|
{
|
||||||
|
case 0:str += " (idle)";break;
|
||||||
|
case 1:str += " (warking)";break;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
QListWidgetItem *pItem = new QListWidgetItem(str,m_plwFilterProcessGroup);
|
||||||
|
pItem->setData(Qt::UserRole, QVariant(query.value(0)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
m_db.close();
|
||||||
|
FilterProcssRefresh("-1");
|
||||||
|
|
||||||
|
m_db.setHostName(m_strWebDataBaseHost);
|
||||||
|
m_db.setUserName(m_strWebDataBaseUser);
|
||||||
|
m_db.setPassword(m_strWebDataBasePass);
|
||||||
|
m_db.setDatabaseName(m_strWebDataBaseName);
|
||||||
|
|
||||||
|
if (m_db.open() == false)
|
||||||
|
{
|
||||||
|
InsertLog(m_db.lastError().text());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
QSqlQuery query("select num,name FROM company");
|
||||||
|
while(query.next())
|
||||||
|
{
|
||||||
|
QListWidgetItem *pItem = new QListWidgetItem(query.value(1).toString(),&m_plw[E_LIST_COMPANY]);
|
||||||
|
pItem->setData(Qt::UserRole, QVariant(query.value(0)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
m_db.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::CompanyItemChanged(QListWidgetItem* _current,QListWidgetItem*)
|
||||||
|
{
|
||||||
|
if (_current == 0) return;
|
||||||
|
m_db.setHostName(m_strWebDataBaseHost);
|
||||||
|
m_db.setUserName(m_strWebDataBaseUser);
|
||||||
|
m_db.setPassword(m_strWebDataBasePass);
|
||||||
|
m_db.setDatabaseName(m_strWebDataBaseName);
|
||||||
|
if (m_db.open() == false)
|
||||||
|
{
|
||||||
|
InsertLog(m_db.lastError().text());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
m_plw[E_LIST_CATALOG].clear();
|
||||||
|
|
||||||
|
int nServiceCnt[E_SERVICE_MAX] = {0};
|
||||||
|
|
||||||
|
QSqlQuery query("select num,name,servicenum FROM category where company_num = '" +_current->data(Qt::UserRole).toString()+ "' order by servicenum asc, num asc");
|
||||||
|
while(query.next())
|
||||||
|
{
|
||||||
|
int num = query.value(0).toInt();
|
||||||
|
int servicenum = query.value(2).toInt();
|
||||||
|
QString name = query.value(1).toString();
|
||||||
|
QString strService;
|
||||||
|
|
||||||
|
|
||||||
|
switch (servicenum - 1)
|
||||||
|
{
|
||||||
|
case E_SERVICE_INFLUENCER:
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
if (0 == nServiceCnt[E_SERVICE_INFLUENCER]++)
|
||||||
|
continue;
|
||||||
|
*/
|
||||||
|
strService = "[Influencer]";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case E_SERVICE_CONSUMER:
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
if (0 == nServiceCnt[E_SERVICE_CONSUMER]++)
|
||||||
|
continue;
|
||||||
|
*/
|
||||||
|
strService = "[Consumer]";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case E_SERVICE_SPAMMER:
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
if (0 == nServiceCnt[E_SERVICE_SPAMMER]++)
|
||||||
|
continue;
|
||||||
|
*/
|
||||||
|
strService = "[Spammer]";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case E_SERVICE_POWERCAFE:
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
if (0 == nServiceCnt[E_SERVICE_POWERCAFE]++)
|
||||||
|
continue;
|
||||||
|
*/
|
||||||
|
strService = "[Powercafe]";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QListWidgetItem *pItem = new QListWidgetItem(strService + ":" + name ,&m_plw[E_LIST_CATALOG]);
|
||||||
|
|
||||||
|
QList<QVariant> qlist;
|
||||||
|
qlist.append(QVariant(num));
|
||||||
|
qlist.append(QVariant(servicenum));
|
||||||
|
pItem->setData(Qt::UserRole, QVariant(qlist));
|
||||||
|
}
|
||||||
|
m_db.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::on_filter_process_group_insert()
|
||||||
|
{
|
||||||
|
if (m_pleFilterProcessGroup->text().trimmed().isEmpty()) return;
|
||||||
|
m_db.setHostName("bigbird.iptime.org");
|
||||||
|
m_db.setUserName("admin");
|
||||||
|
m_db.setPassword("admin123");
|
||||||
|
m_db.setDatabaseName("concepters");
|
||||||
|
if (m_db.open() == false) InsertLog(m_db.lastError().text());
|
||||||
|
QSqlQuery query;
|
||||||
|
QString strQuery;
|
||||||
|
strQuery = "insert into filterprocessgroup (name) value ('" + m_pleFilterProcessGroup->text() + "')";
|
||||||
|
if(query.exec(strQuery.toUtf8()) == false) {InsertLog(query.lastError().text());}
|
||||||
|
m_db.close();
|
||||||
|
|
||||||
|
Refresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::on_filter_process_group_delete()
|
||||||
|
{
|
||||||
|
m_db.setHostName("bigbird.iptime.org");
|
||||||
|
m_db.setUserName("admin");
|
||||||
|
m_db.setPassword("admin123");
|
||||||
|
m_db.setDatabaseName("concepters");
|
||||||
|
if (m_db.open() == false) InsertLog(m_db.lastError().text());
|
||||||
|
|
||||||
|
foreach (QListWidgetItem *item,m_plwFilterProcessGroup->selectedItems())
|
||||||
|
{
|
||||||
|
QSqlQuery query;
|
||||||
|
QString strQuery;
|
||||||
|
strQuery = "delete from filterprocessgroup where id = " + item->data(Qt::UserRole).toString();
|
||||||
|
if(query.exec(strQuery.toUtf8()) == false) {qDebug() << strQuery ; InsertLog(query.lastError().text());}
|
||||||
|
strQuery = "delete from filterprocess where filterprocessgroup_id = " + item->data(Qt::UserRole).toString();
|
||||||
|
if(query.exec(strQuery.toUtf8()) == false) {qDebug() << strQuery ; InsertLog(query.lastError().text());}
|
||||||
|
}
|
||||||
|
m_db.close();
|
||||||
|
Refresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::on_filter_process_group_modify()
|
||||||
|
{
|
||||||
|
if (m_pleFilterProcessGroup->text().trimmed().isEmpty()) return;
|
||||||
|
m_db.setHostName("bigbird.iptime.org");
|
||||||
|
m_db.setUserName("admin");
|
||||||
|
m_db.setPassword("admin123");
|
||||||
|
m_db.setDatabaseName("concepters");
|
||||||
|
if (m_db.open() == false) InsertLog(m_db.lastError().text());
|
||||||
|
|
||||||
|
foreach (QListWidgetItem *item,m_plwFilterProcessGroup->selectedItems())
|
||||||
|
{
|
||||||
|
QSqlQuery query;
|
||||||
|
QString strQuery;
|
||||||
|
strQuery = "update filterprocessgroup set name = '" + m_pleFilterProcessGroup->text().trimmed() + "' where id = " + item->data(Qt::UserRole).toString();
|
||||||
|
if(query.exec(strQuery.toUtf8()) == false) {qDebug() << strQuery ; InsertLog(query.lastError().text());}
|
||||||
|
}
|
||||||
|
m_db.close();
|
||||||
|
Refresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::FilterProcessGroupClicked(QListWidgetItem* _item)
|
||||||
|
{
|
||||||
|
m_db.setHostName("bigbird.iptime.org");
|
||||||
|
m_db.setUserName("admin");
|
||||||
|
m_db.setPassword("admin123");
|
||||||
|
m_db.setDatabaseName("concepters");
|
||||||
|
if (m_db.open() == false)
|
||||||
|
{
|
||||||
|
InsertLog(m_db.lastError().text());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
m_pleFilterProcessGroup->setText(_item->text());
|
||||||
|
FilterProcssRefresh(_item->data(Qt::UserRole).toString());
|
||||||
|
m_db.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
struct SFilterProcess
|
||||||
|
{
|
||||||
|
QString m_strID;
|
||||||
|
QString m_strName;
|
||||||
|
};
|
||||||
|
|
||||||
|
void Widget::InsertFilterProcess(int _nProcessType)
|
||||||
|
{
|
||||||
|
m_db.setHostName("bigbird.iptime.org");
|
||||||
|
m_db.setUserName("admin");
|
||||||
|
m_db.setPassword("admin123");
|
||||||
|
m_db.setDatabaseName("concepters");
|
||||||
|
|
||||||
|
if (m_db.open() == false)
|
||||||
|
{
|
||||||
|
InsertLog(m_db.lastError().text());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
SFilterProcess astProcessFilter[E_LIST_MAX] = {{"datagroup_id","datagroup_name"},
|
||||||
|
{"filtergroup_id","filtergroup_name"},
|
||||||
|
{"company_num","company_name"},
|
||||||
|
{"category_num","category_name"}};
|
||||||
|
QSqlQuery query;
|
||||||
|
QString strSelect;
|
||||||
|
foreach (QListWidgetItem *itemProcessGroup,m_plwFilterProcessGroup->selectedItems())
|
||||||
|
{
|
||||||
|
QString strQuery = "insert into filterprocess set ";
|
||||||
|
strQuery += "filterprocess_type = " + QString::number(_nProcessType) + ",";
|
||||||
|
strSelect = itemProcessGroup->data(Qt::UserRole).toString();
|
||||||
|
strQuery += "filterprocessgroup_id = " + strSelect + ",";
|
||||||
|
for(int i = 0; i < E_LIST_MAX; i++)
|
||||||
|
{
|
||||||
|
foreach (QListWidgetItem *item,m_plw[i].selectedItems())
|
||||||
|
{
|
||||||
|
if (i == E_LIST_CATALOG)
|
||||||
|
{
|
||||||
|
QList<QVariant> qlist = item->data(Qt::UserRole).toList();
|
||||||
|
int nCategory = qlist.at(0).toInt();
|
||||||
|
int nService = qlist.at(1).toInt();
|
||||||
|
strQuery += astProcessFilter[i].m_strID + "=";
|
||||||
|
strQuery += QString::number(nCategory) + ",";
|
||||||
|
strQuery += astProcessFilter[i].m_strName + "='";
|
||||||
|
strQuery += item->text() + "',";
|
||||||
|
strQuery += "service_num = " + QString::number(nService) + ",";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
strQuery += astProcessFilter[i].m_strID + "=";
|
||||||
|
strQuery += item->data(Qt::UserRole).toString() + ",";
|
||||||
|
strQuery += astProcessFilter[i].m_strName + "='";
|
||||||
|
strQuery += item->text() + "',";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
strQuery = strQuery.left(strQuery.size()-1);
|
||||||
|
if(query.exec(strQuery.toUtf8()) == false)
|
||||||
|
{
|
||||||
|
InsertLog(query.lastError().text());
|
||||||
|
qDebug() << strQuery;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
m_db.close();
|
||||||
|
if (strSelect.isEmpty() == false)
|
||||||
|
FilterProcssRefresh(strSelect);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::on_load()
|
||||||
|
{
|
||||||
|
InsertFilterProcess(E_PROCSS_TYPE_LOAD);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::on_send()
|
||||||
|
{
|
||||||
|
InsertFilterProcess(E_PROCSS_TYPE_SEND);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::on_category()
|
||||||
|
{
|
||||||
|
InsertFilterProcess(E_PROCSS_TYPE_CATEGORY_MAKE);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::on_influence_count()
|
||||||
|
{
|
||||||
|
InsertFilterProcess(E_PROCSS_TYPE_INFLUENCE_COUNT);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::on_spammers_count()
|
||||||
|
{
|
||||||
|
InsertFilterProcess(E_PROCSS_TYPE_SPAMMERS_COUNT);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::on_power_cafe_count()
|
||||||
|
{
|
||||||
|
InsertFilterProcess(E_PROCSS_TYPE_POWER_CAFE_COUNT);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::on_consumer_supervison_count()
|
||||||
|
{
|
||||||
|
//ConsumerSupervisionCount();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::on_delete()
|
||||||
|
{
|
||||||
|
m_db.setHostName("bigbird.iptime.org");
|
||||||
|
m_db.setUserName("admin");
|
||||||
|
m_db.setPassword("admin123");
|
||||||
|
m_db.setDatabaseName("concepters");
|
||||||
|
if (m_db.open() == false)
|
||||||
|
{
|
||||||
|
InsertLog(m_db.lastError().text());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
foreach (QListWidgetItem *item,m_plwFilterProcess->selectedItems())
|
||||||
|
{
|
||||||
|
QSqlQuery query;
|
||||||
|
QString sql("delete from filterprocess where id = " + item->data(Qt::UserRole).toString());
|
||||||
|
if(query.exec(sql) == false)
|
||||||
|
{
|
||||||
|
InsertLog(query.lastError().text());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
m_db.close();
|
||||||
|
|
||||||
|
foreach (QListWidgetItem *itemProcessGroup,m_plwFilterProcessGroup->selectedItems())
|
||||||
|
FilterProcssRefresh(itemProcessGroup->data(Qt::UserRole).toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::FilterProcssRefresh(QString _strGroupID)
|
||||||
|
{
|
||||||
|
qDebug() << __FILE__ << __LINE__;
|
||||||
|
m_db.setHostName("bigbird.iptime.org");
|
||||||
|
m_db.setUserName("admin");
|
||||||
|
m_db.setPassword("admin123");
|
||||||
|
m_db.setDatabaseName("concepters");
|
||||||
|
if (m_db.open() == false)
|
||||||
|
{
|
||||||
|
InsertLog(m_db.lastError().text());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
QString sql("select id,filterprocess_type,filterprocess_order,datagroup_id,datagroup_name,filtergroup_name,company_name,category_name from filterprocess where filterprocessgroup_id = " + _strGroupID);
|
||||||
|
QSqlQuery query;
|
||||||
|
if(query.exec(sql) == false)
|
||||||
|
{
|
||||||
|
InsertLog(query.lastError().text());
|
||||||
|
}
|
||||||
|
m_plwFilterProcess->clear();
|
||||||
|
while(query.next())
|
||||||
|
{
|
||||||
|
QString str;
|
||||||
|
switch(query.value(1).toInt())
|
||||||
|
{
|
||||||
|
case E_PROCSS_TYPE_LOAD:
|
||||||
|
str += "Loading : Data [";
|
||||||
|
str += query.value(4).toString();
|
||||||
|
str += "]";
|
||||||
|
break;
|
||||||
|
case E_PROCSS_TYPE_CATEGORY_MAKE:
|
||||||
|
str += "Category filter [";
|
||||||
|
str += query.value(5).toString();
|
||||||
|
str += "] Make Category [";
|
||||||
|
str += query.value(7).toString();
|
||||||
|
str += "]";
|
||||||
|
break;
|
||||||
|
case E_PROCSS_TYPE_SEND:
|
||||||
|
str += "Send : Company [";
|
||||||
|
str += query.value(6).toString();
|
||||||
|
str += "]";
|
||||||
|
break;
|
||||||
|
case E_PROCSS_TYPE_INFLUENCE_COUNT:
|
||||||
|
str += "Influence Count filter [" ;
|
||||||
|
str += query.value(5).toString();
|
||||||
|
str += "] and Send : Company [";
|
||||||
|
str += query.value(6).toString();
|
||||||
|
str += "]";
|
||||||
|
break;
|
||||||
|
case E_PROCSS_TYPE_SPAMMERS_COUNT:
|
||||||
|
str += "Spammers Count filter [" ;
|
||||||
|
str += query.value(5).toString();
|
||||||
|
str += "] and Send : Company [";
|
||||||
|
str += query.value(6).toString();
|
||||||
|
str += "]";
|
||||||
|
break;
|
||||||
|
case E_PROCSS_TYPE_POWER_CAFE_COUNT:
|
||||||
|
str += "Power Cafe Count filter [" ;
|
||||||
|
str += query.value(5).toString();
|
||||||
|
str += "] and Send : Company [";
|
||||||
|
str += query.value(6).toString();
|
||||||
|
str += "]";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
QListWidgetItem *pItem = new QListWidgetItem(str,m_plwFilterProcess);
|
||||||
|
pItem->setData(Qt::UserRole, QVariant(query.value(0)));
|
||||||
|
}
|
||||||
|
m_db.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::on_refresh()
|
||||||
|
{
|
||||||
|
Refresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::time_update()
|
||||||
|
{
|
||||||
|
process_refresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::process_refresh()
|
||||||
|
{
|
||||||
|
m_plwProcess->clear();
|
||||||
|
for(int i = 0; i < D_PROCESS_MAX; i++)
|
||||||
|
{
|
||||||
|
if (m_aProcess[i].arguments().size() == 0) continue;
|
||||||
|
QString str = m_aProcess[i].arguments().at(1);
|
||||||
|
str += "["+m_aProcess[i].arguments().at(2)+"] ";
|
||||||
|
|
||||||
|
switch(m_aProcess[i].state())
|
||||||
|
{
|
||||||
|
case QProcess::NotRunning:str += "(Wait)";break;
|
||||||
|
case QProcess::Running:str += "(Run)";break;
|
||||||
|
case QProcess::Starting:str += "(Start)";break;
|
||||||
|
}
|
||||||
|
QListWidgetItem *pItem = new QListWidgetItem(str,m_plwProcess);
|
||||||
|
pItem->setData(Qt::UserRole, QVariant(m_aProcess[i].arguments().at(0)));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::on_process_insert()
|
||||||
|
{
|
||||||
|
foreach(QListWidgetItem *item,m_plwFilterProcessGroup->selectedItems())
|
||||||
|
{
|
||||||
|
QStringList strlist;
|
||||||
|
strlist.append(item->data(Qt::UserRole).toString());
|
||||||
|
strlist.append(item->text().trimmed());
|
||||||
|
strlist.append(m_pleInfluencerLimitFrom->text() + "~" + m_pleInfluencerLimitTo->text());
|
||||||
|
for (int i = 0; i < D_PROCESS_MAX;i++)
|
||||||
|
{
|
||||||
|
if (m_aProcess[i].arguments().size() == 0)
|
||||||
|
{
|
||||||
|
|
||||||
|
#if defined(Q_OS_WIN32)
|
||||||
|
m_aProcess[i].setProgram("FilterProcess.exe");
|
||||||
|
|
||||||
|
#else
|
||||||
|
m_aProcess[i].setProgram("./FilterProcess");
|
||||||
|
|
||||||
|
#endif
|
||||||
|
m_aProcess[i].setArguments(strlist);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
process_refresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::on_process_start()
|
||||||
|
{
|
||||||
|
bool ok;
|
||||||
|
int time = m_pleExcutionTime->text().toInt(&ok);
|
||||||
|
if(!ok)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (m_statusTimer.isActive() == false)
|
||||||
|
m_statusTimer.start(5000);
|
||||||
|
|
||||||
|
if (m_executionTimer.isActive() == false)
|
||||||
|
m_executionTimer.start(time*MINUTE);
|
||||||
|
|
||||||
|
time_update();
|
||||||
|
time_execute();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::on_process_stop()
|
||||||
|
{
|
||||||
|
if (m_statusTimer.isActive() == true)
|
||||||
|
m_statusTimer.stop();
|
||||||
|
if (m_executionTimer.isActive() == true)
|
||||||
|
m_executionTimer.stop();
|
||||||
|
|
||||||
|
process_refresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::on_process_delete()
|
||||||
|
{
|
||||||
|
foreach(QListWidgetItem *item,m_plwProcess->selectedItems())
|
||||||
|
{
|
||||||
|
for (int i = 0; i < D_PROCESS_MAX;i++)
|
||||||
|
{
|
||||||
|
if (m_aProcess[i].arguments().size() > 0 && m_aProcess[i].arguments().at(0) == item->data(Qt::UserRole).toString())
|
||||||
|
{
|
||||||
|
Kill(i);
|
||||||
|
m_aProcess[i].setArguments(QStringList());
|
||||||
|
process_refresh();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Widget::time_execute()
|
||||||
|
{
|
||||||
|
for(int i = 0; i < D_PROCESS_MAX; i++)
|
||||||
|
{
|
||||||
|
if (m_aProcess[i].arguments().size() == 0) continue;
|
||||||
|
|
||||||
|
switch(m_aProcess[i].state())
|
||||||
|
{
|
||||||
|
case QProcess::NotRunning: m_aProcess[i].start();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
process_refresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::process_output()
|
||||||
|
{
|
||||||
|
QProcess *pPro = (QProcess*)sender();
|
||||||
|
QString str = pPro->readAllStandardOutput();
|
||||||
|
InsertLog(str);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::Kill(int _nProcess)
|
||||||
|
{
|
||||||
|
if (m_aProcess[_nProcess].state() == QProcess::Running)
|
||||||
|
{
|
||||||
|
m_aProcess[_nProcess].kill();
|
||||||
|
m_aProcess[_nProcess].waitForFinished();
|
||||||
|
m_aProcess[_nProcess].setArguments(QStringList());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -617,7 +617,7 @@ void SDatagroup::makeBodyCountOfPlatform()
|
|||||||
|
|
||||||
void SDatagroup::makeUserCountOfPlatform()
|
void SDatagroup::makeUserCountOfPlatform()
|
||||||
{
|
{
|
||||||
QMap<QString, QSet<QString>> mapUserIdsOfPlatform;
|
QMap<QString, QSet<QString> > mapUserIdsOfPlatform;
|
||||||
const int *anColumn = m_pSInitializer->getColumnIntArray();
|
const int *anColumn = m_pSInitializer->getColumnIntArray();
|
||||||
QMapIterator<QString, QStringList> iter(m_mapBody);
|
QMapIterator<QString, QStringList> iter(m_mapBody);
|
||||||
while (iter.hasNext())
|
while (iter.hasNext())
|
||||||
|
|||||||
@@ -247,12 +247,12 @@ bool SInfluencer::STInfluencer::SaveDataFile(int _companyNum)
|
|||||||
stream.setAutoDetectUnicode(true);
|
stream.setAutoDetectUnicode(true);
|
||||||
stream << "Category," << "ID," << "Nick," << "Title," << "Url," << "Like," << "Share," << "Body," << "Reply," << "Value" << "\n";
|
stream << "Category," << "ID," << "Nick," << "Title," << "Url," << "Like," << "Share," << "Body," << "Reply," << "Value" << "\n";
|
||||||
|
|
||||||
QMapIterator<int, QMap<int, QList<stInfluencer>>> iter(m_mapInfluencerOfGroup);
|
QMapIterator<int, QMap<int, QList<stInfluencer> > > iter(m_mapInfluencerOfGroup);
|
||||||
while (iter.hasNext())
|
while (iter.hasNext())
|
||||||
{
|
{
|
||||||
iter.next();
|
iter.next();
|
||||||
|
|
||||||
QMapIterator<int, QList<stInfluencer>> iter2(iter.value());
|
QMapIterator<int, QList<stInfluencer> > iter2(iter.value());
|
||||||
while (iter2.hasNext())
|
while (iter2.hasNext())
|
||||||
{
|
{
|
||||||
iter2.next();
|
iter2.next();
|
||||||
@@ -455,7 +455,7 @@ m_pSInitializer->insertLog("influencer_" + QString::number(_nCompany) + " rename
|
|||||||
|
|
||||||
int SInfluencer::STInfluencer::getInfluencerGroupNum(int _nCategoryNum)
|
int SInfluencer::STInfluencer::getInfluencerGroupNum(int _nCategoryNum)
|
||||||
{
|
{
|
||||||
QMapIterator<int, QList<int>> iter(m_mapInfluencerGroupInfo);
|
QMapIterator<int, QList<int> > iter(m_mapInfluencerGroupInfo);
|
||||||
while (iter.hasNext())
|
while (iter.hasNext())
|
||||||
{
|
{
|
||||||
iter.next();
|
iter.next();
|
||||||
@@ -475,13 +475,13 @@ int SInfluencer::STInfluencer::getInfluencerGroupNum(int _nCategoryNum)
|
|||||||
|
|
||||||
void SInfluencer::STInfluencer::setInfluencerValueWeight()
|
void SInfluencer::STInfluencer::setInfluencerValueWeight()
|
||||||
{
|
{
|
||||||
QMutableMapIterator<int, QMap<int, QList<stInfluencer>>> iter(m_mapInfluencerOfGroup);
|
QMutableMapIterator<int, QMap<int, QList<stInfluencer> > > iter(m_mapInfluencerOfGroup);
|
||||||
while (iter.hasNext())
|
while (iter.hasNext())
|
||||||
{
|
{
|
||||||
iter.next();
|
iter.next();
|
||||||
|
|
||||||
SInfluencerWeight influencerWeight;
|
SInfluencerWeight influencerWeight;
|
||||||
QMutableMapIterator<int, QList<stInfluencer>> iter2(iter.value());
|
QMutableMapIterator<int, QList<stInfluencer> > iter2(iter.value());
|
||||||
while (iter2.hasNext())
|
while (iter2.hasNext())
|
||||||
{
|
{
|
||||||
QList<stInfluencer> &listInfluencer = iter2.next().value();
|
QList<stInfluencer> &listInfluencer = iter2.next().value();
|
||||||
@@ -509,12 +509,12 @@ void SInfluencer::STInfluencer::setInfluencerValueWeight()
|
|||||||
//{
|
//{
|
||||||
// QMap<QString, int> mapCountOfGroupDuplicatedId;
|
// QMap<QString, int> mapCountOfGroupDuplicatedId;
|
||||||
|
|
||||||
// QMutableMapIterator<int, QMap<int, QList<stInfluencer>>> iter(m_mapInfluencerOfGroup);
|
// QMutableMapIterator<int, QMap<int, QList<stInfluencer> > > iter(m_mapInfluencerOfGroup);
|
||||||
// while (iter.hasNext())
|
// while (iter.hasNext())
|
||||||
// {
|
// {
|
||||||
// iter.next();
|
// iter.next();
|
||||||
|
|
||||||
// QMutableMapIterator<int, QList<stInfluencer>> iter2(iter.value());
|
// QMutableMapIterator<int, QList<stInfluencer> > iter2(iter.value());
|
||||||
// while (iter2.hasNext())
|
// while (iter2.hasNext())
|
||||||
// {
|
// {
|
||||||
// QList<stInfluencer> &listInfluencer = iter2.next().value();
|
// QList<stInfluencer> &listInfluencer = iter2.next().value();
|
||||||
@@ -536,12 +536,12 @@ QMap<QString, int> SInfluencer::STInfluencer::makeCountOfGroupDuplicatedId()
|
|||||||
{
|
{
|
||||||
QMap<QString, int> mapCountOfGroupDuplicatedId;
|
QMap<QString, int> mapCountOfGroupDuplicatedId;
|
||||||
|
|
||||||
QMutableMapIterator<int, QMap<int, QList<stInfluencer>>> iter(m_mapInfluencerOfGroup);
|
QMutableMapIterator<int, QMap<int, QList<stInfluencer> > > iter(m_mapInfluencerOfGroup);
|
||||||
while (iter.hasNext())
|
while (iter.hasNext())
|
||||||
{
|
{
|
||||||
iter.next();
|
iter.next();
|
||||||
|
|
||||||
QMutableMapIterator<int, QList<stInfluencer>> iter2(iter.value());
|
QMutableMapIterator<int, QList<stInfluencer> > iter2(iter.value());
|
||||||
while (iter2.hasNext())
|
while (iter2.hasNext())
|
||||||
{
|
{
|
||||||
QList<stInfluencer> &listInfluencer = iter2.next().value();
|
QList<stInfluencer> &listInfluencer = iter2.next().value();
|
||||||
@@ -558,12 +558,12 @@ QMap<QString, int> SInfluencer::STInfluencer::makeCountOfGroupDuplicatedId()
|
|||||||
|
|
||||||
void SInfluencer::STInfluencer::setGroupDuplicatedInfluencerFlag(QMap<QString, int> &_mapCountOfGroupDuplicatedId)
|
void SInfluencer::STInfluencer::setGroupDuplicatedInfluencerFlag(QMap<QString, int> &_mapCountOfGroupDuplicatedId)
|
||||||
{
|
{
|
||||||
QMutableMapIterator<int, QMap<int, QList<stInfluencer>>> iter(m_mapInfluencerOfGroup);
|
QMutableMapIterator<int, QMap<int, QList<stInfluencer> > > iter(m_mapInfluencerOfGroup);
|
||||||
while (iter.hasNext())
|
while (iter.hasNext())
|
||||||
{
|
{
|
||||||
iter.next();
|
iter.next();
|
||||||
|
|
||||||
QMutableMapIterator<int, QList<stInfluencer>> iter2(iter.value());
|
QMutableMapIterator<int, QList<stInfluencer> > iter2(iter.value());
|
||||||
while (iter2.hasNext())
|
while (iter2.hasNext())
|
||||||
{
|
{
|
||||||
QList<stInfluencer> &listInfluencer = iter2.next().value();
|
QList<stInfluencer> &listInfluencer = iter2.next().value();
|
||||||
@@ -581,13 +581,13 @@ void SInfluencer::STInfluencer::setGroupDuplicatedInfluencerFlag(QMap<QString, i
|
|||||||
|
|
||||||
void SInfluencer::STInfluencer::processDuplicatedInfluencer()
|
void SInfluencer::STInfluencer::processDuplicatedInfluencer()
|
||||||
{
|
{
|
||||||
QMutableMapIterator<int, QMap<int, QList<stInfluencer>>> iter(m_mapInfluencerOfGroup);
|
QMutableMapIterator<int, QMap<int, QList<stInfluencer> > > iter(m_mapInfluencerOfGroup);
|
||||||
while (iter.hasNext())
|
while (iter.hasNext())
|
||||||
{
|
{
|
||||||
iter.next();
|
iter.next();
|
||||||
|
|
||||||
QMap<QString, QList<double>> mapInfluencerValuesOfId = makeInfluencerValuesOfId(iter.value());
|
QMap<QString, QList<double> > mapInfluencerValuesOfId = makeInfluencerValuesOfId(iter.value());
|
||||||
QMap<QString, QList<double>> mapFilteredInfluencerValuesOfId = filterInfluencerValuesOfId(mapInfluencerValuesOfId);
|
QMap<QString, QList<double> > mapFilteredInfluencerValuesOfId = filterInfluencerValuesOfId(mapInfluencerValuesOfId);
|
||||||
sortInfluencerValuesOfId(mapFilteredInfluencerValuesOfId);
|
sortInfluencerValuesOfId(mapFilteredInfluencerValuesOfId);
|
||||||
|
|
||||||
setDuplicatedInfluencerFlag(iter.value(), mapFilteredInfluencerValuesOfId);
|
setDuplicatedInfluencerFlag(iter.value(), mapFilteredInfluencerValuesOfId);
|
||||||
@@ -597,11 +597,11 @@ void SInfluencer::STInfluencer::processDuplicatedInfluencer()
|
|||||||
setGroupDuplicatedInfluencerFlag(mapCountOfGroupDuplicatedId);
|
setGroupDuplicatedInfluencerFlag(mapCountOfGroupDuplicatedId);
|
||||||
}
|
}
|
||||||
|
|
||||||
QMap<QString, QList<double>> SInfluencer::STInfluencer::makeInfluencerValuesOfId(QMap<int, QList<stInfluencer>> &_mapInfluencersOfCategory)
|
QMap<QString, QList<double> > SInfluencer::STInfluencer::makeInfluencerValuesOfId(QMap<int, QList<stInfluencer> > &_mapInfluencersOfCategory)
|
||||||
{
|
{
|
||||||
QMap<QString, QList<double>> mapInfluencerValuesOfId;
|
QMap<QString, QList<double> > mapInfluencerValuesOfId;
|
||||||
|
|
||||||
QMutableMapIterator<int, QList<stInfluencer>> iter(_mapInfluencersOfCategory);
|
QMutableMapIterator<int, QList<stInfluencer> > iter(_mapInfluencersOfCategory);
|
||||||
while (iter.hasNext())
|
while (iter.hasNext())
|
||||||
{
|
{
|
||||||
iter.next();
|
iter.next();
|
||||||
@@ -616,11 +616,11 @@ QMap<QString, QList<double>> SInfluencer::STInfluencer::makeInfluencerValuesOfId
|
|||||||
return mapInfluencerValuesOfId;
|
return mapInfluencerValuesOfId;
|
||||||
}
|
}
|
||||||
|
|
||||||
QMap<QString, QList<double>> SInfluencer::STInfluencer::filterInfluencerValuesOfId(QMap<QString, QList<double>> &_mapInfluencerValuesOfId)
|
QMap<QString, QList<double> > SInfluencer::STInfluencer::filterInfluencerValuesOfId(QMap<QString, QList<double> > &_mapInfluencerValuesOfId)
|
||||||
{
|
{
|
||||||
QMap<QString, QList<double>> mapFilteredInfluencerValuesOfId;
|
QMap<QString, QList<double> > mapFilteredInfluencerValuesOfId;
|
||||||
|
|
||||||
QMutableMapIterator<QString, QList<double>> iter(_mapInfluencerValuesOfId);
|
QMutableMapIterator<QString, QList<double> > iter(_mapInfluencerValuesOfId);
|
||||||
while (iter.hasNext())
|
while (iter.hasNext())
|
||||||
{
|
{
|
||||||
iter.next();
|
iter.next();
|
||||||
@@ -636,9 +636,9 @@ QMap<QString, QList<double>> SInfluencer::STInfluencer::filterInfluencerValuesOf
|
|||||||
return mapFilteredInfluencerValuesOfId;
|
return mapFilteredInfluencerValuesOfId;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SInfluencer::STInfluencer::sortInfluencerValuesOfId(QMap<QString, QList<double>> &_mapInfluencerValuesOfId)
|
void SInfluencer::STInfluencer::sortInfluencerValuesOfId(QMap<QString, QList<double> > &_mapInfluencerValuesOfId)
|
||||||
{
|
{
|
||||||
QMutableMapIterator<QString, QList<double>> iter(_mapInfluencerValuesOfId);
|
QMutableMapIterator<QString, QList<double> > iter(_mapInfluencerValuesOfId);
|
||||||
while (iter.hasNext())
|
while (iter.hasNext())
|
||||||
{
|
{
|
||||||
iter.next();
|
iter.next();
|
||||||
@@ -652,14 +652,14 @@ void SInfluencer::STInfluencer::copyInfluencerFromGroupToList()
|
|||||||
{
|
{
|
||||||
m_listMap.clear();
|
m_listMap.clear();
|
||||||
|
|
||||||
QMapIterator<int, QMap<int, QList<stInfluencer>>> iter(m_mapInfluencerOfGroup);
|
QMapIterator<int, QMap<int, QList<stInfluencer> > > iter(m_mapInfluencerOfGroup);
|
||||||
int nInfluencerLimitFrom = m_pSInitializer->getInfluencerLimitFrom().toInt();
|
int nInfluencerLimitFrom = m_pSInitializer->getInfluencerLimitFrom().toInt();
|
||||||
int nInfluencerLimitTo = m_pSInitializer->getInfluencerLimitTo().toInt();
|
int nInfluencerLimitTo = m_pSInitializer->getInfluencerLimitTo().toInt();
|
||||||
while (iter.hasNext())
|
while (iter.hasNext())
|
||||||
{
|
{
|
||||||
iter.next();
|
iter.next();
|
||||||
|
|
||||||
QMapIterator<int, QList<stInfluencer>> iter2(iter.value());
|
QMapIterator<int, QList<stInfluencer> > iter2(iter.value());
|
||||||
while (iter2.hasNext())
|
while (iter2.hasNext())
|
||||||
{
|
{
|
||||||
iter2.next();
|
iter2.next();
|
||||||
@@ -681,12 +681,12 @@ void SInfluencer::STInfluencer::copyInfluencerFromGroupToList()
|
|||||||
|
|
||||||
void SInfluencer::STInfluencer::sortInfluencerByValue()
|
void SInfluencer::STInfluencer::sortInfluencerByValue()
|
||||||
{
|
{
|
||||||
QMutableMapIterator<int, QMap<int, QList<stInfluencer>>> iter(m_mapInfluencerOfGroup);
|
QMutableMapIterator<int, QMap<int, QList<stInfluencer> > > iter(m_mapInfluencerOfGroup);
|
||||||
while (iter.hasNext())
|
while (iter.hasNext())
|
||||||
{
|
{
|
||||||
iter.next();
|
iter.next();
|
||||||
|
|
||||||
QMutableMapIterator<int, QList<stInfluencer>> iter2(iter.value());
|
QMutableMapIterator<int, QList<stInfluencer> > iter2(iter.value());
|
||||||
while (iter2.hasNext())
|
while (iter2.hasNext())
|
||||||
{
|
{
|
||||||
iter2.next();
|
iter2.next();
|
||||||
@@ -701,12 +701,12 @@ void SInfluencer::STInfluencer::setInfluecnerRank()
|
|||||||
{
|
{
|
||||||
sortInfluencerByValue();
|
sortInfluencerByValue();
|
||||||
|
|
||||||
QMutableMapIterator<int, QMap<int, QList<stInfluencer>>> iter(m_mapInfluencerOfGroup);
|
QMutableMapIterator<int, QMap<int, QList<stInfluencer> > > iter(m_mapInfluencerOfGroup);
|
||||||
while (iter.hasNext())
|
while (iter.hasNext())
|
||||||
{
|
{
|
||||||
iter.next();
|
iter.next();
|
||||||
|
|
||||||
QMutableMapIterator<int, QList<stInfluencer>> iter2(iter.value());
|
QMutableMapIterator<int, QList<stInfluencer> > iter2(iter.value());
|
||||||
while (iter2.hasNext())
|
while (iter2.hasNext())
|
||||||
{
|
{
|
||||||
QList<stInfluencer> &listInfluencer = iter2.next().value();
|
QList<stInfluencer> &listInfluencer = iter2.next().value();
|
||||||
@@ -720,9 +720,9 @@ void SInfluencer::STInfluencer::setInfluecnerRank()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SInfluencer::STInfluencer::setDuplicatedInfluencerFlag(QMap<int, QList<stInfluencer>> &_mapInfluencersOfCategory, QMap<QString, QList<double>> &_mapInfluencerValuesOfId)
|
void SInfluencer::STInfluencer::setDuplicatedInfluencerFlag(QMap<int, QList<stInfluencer> > &_mapInfluencersOfCategory, QMap<QString, QList<double> > &_mapInfluencerValuesOfId)
|
||||||
{
|
{
|
||||||
QMutableMapIterator<int, QList<stInfluencer>> iter(_mapInfluencersOfCategory);
|
QMutableMapIterator<int, QList<stInfluencer> > iter(_mapInfluencersOfCategory);
|
||||||
while (iter.hasNext())
|
while (iter.hasNext())
|
||||||
{
|
{
|
||||||
iter.next();
|
iter.next();
|
||||||
@@ -1548,8 +1548,8 @@ bool SInfluencer::SStatsJson::uploadData(QSqlDatabase &_db, const int &_nCompany
|
|||||||
|
|
||||||
void SInfluencer::SIdrankbyinteraction::makeInteractorsJson(const SInfluencer::stInfluencer& _val)
|
void SInfluencer::SIdrankbyinteraction::makeInteractorsJson(const SInfluencer::stInfluencer& _val)
|
||||||
{
|
{
|
||||||
QMap<QString, QList<SDatagroup::stReply>> mapInteractions = _val.interactions;
|
QMap<QString, QList<SDatagroup::stReply> > mapInteractions = _val.interactions;
|
||||||
for (QMap<QString, QList<SDatagroup::stReply>>::const_iterator iterPos = mapInteractions.constBegin(); iterPos != mapInteractions.constEnd(); iterPos++)
|
for (QMap<QString, QList<SDatagroup::stReply> >::const_iterator iterPos = mapInteractions.constBegin(); iterPos != mapInteractions.constEnd(); iterPos++)
|
||||||
{
|
{
|
||||||
QJsonObject interactionJson;
|
QJsonObject interactionJson;
|
||||||
QList<SDatagroup::stReply> listReplys = iterPos.value();
|
QList<SDatagroup::stReply> listReplys = iterPos.value();
|
||||||
@@ -1680,7 +1680,7 @@ int SInfluencer::SPlatformStatistics::getTotalUserCount()
|
|||||||
|
|
||||||
void SInfluencer::SGroupStatistics::calculateUserCount()
|
void SInfluencer::SGroupStatistics::calculateUserCount()
|
||||||
{
|
{
|
||||||
for (QMap<int, QList<int>>::const_iterator iter = m_mapCategorysOfGroup.constBegin(); iter != m_mapCategorysOfGroup.constEnd(); iter++)
|
for (QMap<int, QList<int> >::const_iterator iter = m_mapCategorysOfGroup.constBegin(); iter != m_mapCategorysOfGroup.constEnd(); iter++)
|
||||||
{
|
{
|
||||||
QList<int> listCategory = iter.value();
|
QList<int> listCategory = iter.value();
|
||||||
|
|
||||||
@@ -1697,7 +1697,7 @@ void SInfluencer::SGroupStatistics::calculateUserCount()
|
|||||||
|
|
||||||
void SInfluencer::SGroupStatistics::calculatePlatform()
|
void SInfluencer::SGroupStatistics::calculatePlatform()
|
||||||
{
|
{
|
||||||
for (QMap<int, QList<int>>::const_iterator iter = m_mapCategorysOfGroup.constBegin(); iter != m_mapCategorysOfGroup.constEnd(); iter++)
|
for (QMap<int, QList<int> >::const_iterator iter = m_mapCategorysOfGroup.constBegin(); iter != m_mapCategorysOfGroup.constEnd(); iter++)
|
||||||
{
|
{
|
||||||
QList<int> listCategory = iter.value();
|
QList<int> listCategory = iter.value();
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ public:
|
|||||||
int likecount;
|
int likecount;
|
||||||
QString interactionrank;
|
QString interactionrank;
|
||||||
QString isSelected;
|
QString isSelected;
|
||||||
QMap<QString, QList<SDatagroup::stReply>> interactions;
|
QMap<QString, QList<SDatagroup::stReply> > interactions;
|
||||||
int interactionsTotalReplyCount;
|
int interactionsTotalReplyCount;
|
||||||
int interactionsTotalCount;
|
int interactionsTotalCount;
|
||||||
|
|
||||||
@@ -118,9 +118,9 @@ QString isSelected;
|
|||||||
private:
|
private:
|
||||||
SInitializer *m_pSInitializer;
|
SInitializer *m_pSInitializer;
|
||||||
QList<stInfluencer> m_listMap;
|
QList<stInfluencer> m_listMap;
|
||||||
QMap<int, QList<stInfluencer>> m_mapInfluencerOfCategory;
|
QMap<int, QList<stInfluencer> > m_mapInfluencerOfCategory;
|
||||||
QMap<int, QList<int>> m_mapInfluencerGroupInfo;
|
QMap<int, QList<int> > m_mapInfluencerGroupInfo;
|
||||||
QMap<int, QMap<int, QList<stInfluencer>>> m_mapInfluencerOfGroup;
|
QMap<int, QMap<int, QList<stInfluencer> > > m_mapInfluencerOfGroup;
|
||||||
public:
|
public:
|
||||||
void setInitiaizer(SInitializer &_initializer){ m_pSInitializer = &_initializer; }
|
void setInitiaizer(SInitializer &_initializer){ m_pSInitializer = &_initializer; }
|
||||||
void makeTable(SDatagroup &_datagroup, const QMap<int, stReal>& _mapCategory);
|
void makeTable(SDatagroup &_datagroup, const QMap<int, stReal>& _mapCategory);
|
||||||
@@ -134,13 +134,13 @@ QMap<int, QMap<int, QList<stInfluencer>>> m_mapInfluencerOfGroup;
|
|||||||
int getInfluencerGroupNum(int _nCategoryNum);
|
int getInfluencerGroupNum(int _nCategoryNum);
|
||||||
void setInfluencerValueWeight();
|
void setInfluencerValueWeight();
|
||||||
void processDuplicatedInfluencer();
|
void processDuplicatedInfluencer();
|
||||||
QMap<QString, QList<double>> makeInfluencerValuesOfId(QMap<int, QList<stInfluencer>> &_mapInfluencersOfCategory);
|
QMap<QString, QList<double> > makeInfluencerValuesOfId(QMap<int, QList<stInfluencer> > &_mapInfluencersOfCategory);
|
||||||
QMap<QString, QList<double>> filterInfluencerValuesOfId(QMap<QString, QList<double>> &_mapInfluencerValuesOfId);
|
QMap<QString, QList<double> > filterInfluencerValuesOfId(QMap<QString, QList<double> > &_mapInfluencerValuesOfId);
|
||||||
void sortInfluencerValuesOfId(QMap<QString, QList<double>> &_mapInfluencerValuesOfId);
|
void sortInfluencerValuesOfId(QMap<QString, QList<double> > &_mapInfluencerValuesOfId);
|
||||||
void copyInfluencerFromGroupToList();
|
void copyInfluencerFromGroupToList();
|
||||||
void sortInfluencerByValue();
|
void sortInfluencerByValue();
|
||||||
void setInfluecnerRank();
|
void setInfluecnerRank();
|
||||||
void setDuplicatedInfluencerFlag(QMap<int, QList<stInfluencer>> &_mapInfluencersOfCategory, QMap<QString, QList<double>> &_mapInfluencerValuesOfId);
|
void setDuplicatedInfluencerFlag(QMap<int, QList<stInfluencer> > &_mapInfluencersOfCategory, QMap<QString, QList<double> > &_mapInfluencerValuesOfId);
|
||||||
void setGroupDuplicatedInfluencerFlag(QMap<QString, int> &_mapCountOfGroupDuplicatedId);
|
void setGroupDuplicatedInfluencerFlag(QMap<QString, int> &_mapCountOfGroupDuplicatedId);
|
||||||
QMap<QString, int> makeCountOfGroupDuplicatedId();
|
QMap<QString, int> makeCountOfGroupDuplicatedId();
|
||||||
};
|
};
|
||||||
@@ -235,7 +235,7 @@ QMap<QString, int> makeCountOfGroupDuplicatedId();
|
|||||||
private:
|
private:
|
||||||
QMap<int, int> m_mapUserCountOfGroup;
|
QMap<int, int> m_mapUserCountOfGroup;
|
||||||
QMap<int, QString> m_mapPlatformOfGroup;
|
QMap<int, QString> m_mapPlatformOfGroup;
|
||||||
const QMap<int, QList<int>> m_mapCategorysOfGroup;
|
const QMap<int, QList<int> > m_mapCategorysOfGroup;
|
||||||
const QList<SInfluencer::stInfluencer>& m_listInfluencer;
|
const QList<SInfluencer::stInfluencer>& m_listInfluencer;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -243,7 +243,7 @@ QMap<QString, int> makeCountOfGroupDuplicatedId();
|
|||||||
void calculatePlatform();
|
void calculatePlatform();
|
||||||
QString getMaxBodyCountPlatform(QMap<QString, int> _mapBodyCountOfPlatform);
|
QString getMaxBodyCountPlatform(QMap<QString, int> _mapBodyCountOfPlatform);
|
||||||
public:
|
public:
|
||||||
SGroupStatistics(QMap<int, QList<int>> _mapCategorysOfGroup, QList<SInfluencer::stInfluencer>& _listInfluencer) :
|
SGroupStatistics(QMap<int, QList<int> > _mapCategorysOfGroup, QList<SInfluencer::stInfluencer>& _listInfluencer) :
|
||||||
m_mapCategorysOfGroup(_mapCategorysOfGroup), m_listInfluencer(_listInfluencer) {}
|
m_mapCategorysOfGroup(_mapCategorysOfGroup), m_listInfluencer(_listInfluencer) {}
|
||||||
void calculateGroupStatistics();
|
void calculateGroupStatistics();
|
||||||
QString getPlatform(int _nGroupNum);
|
QString getPlatform(int _nGroupNum);
|
||||||
|
|||||||
@@ -941,7 +941,7 @@ int SInitializer::getAllCategoryNum(int _nService)
|
|||||||
return m_anAllCategory[_nService];
|
return m_anAllCategory[_nService];
|
||||||
}
|
}
|
||||||
|
|
||||||
QMap<int, QList<int>> SInitializer::getInfluencerGroup()
|
QMap<int, QList<int> > SInitializer::getInfluencerGroup()
|
||||||
{
|
{
|
||||||
return m_mapInfluencerGroup;
|
return m_mapInfluencerGroup;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
psutil
|
||||||
|
pymysql
|
||||||
|
selenium
|
||||||
|
eventlet
|
||||||
requests
|
requests
|
||||||
bs4
|
bs4
|
||||||
pytz
|
pytz
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
WORKING_DIRECTORY=$(pwd)
|
WORKING_DIRECTORY=$(pwd)
|
||||||
PATH_SOURCE="$WORKING_DIRECTORY/source"
|
PATH_SOURCE="$WORKING_DIRECTORY"
|
||||||
PATH_COMPILE_PREFIX="$PATH_SOURCE/build-"
|
PATH_COMPILE_PREFIX="$PATH_SOURCE/build-"
|
||||||
PATH_COMPILE_SUFFIX="-Desktop_Qt_5_4_0_GCC_64bit-Release"
|
PATH_COMPILE_SUFFIX="-Desktop_Qt_5_4_0_GCC_64bit-Release"
|
||||||
QT_QMAKE_PATH="/home/testdb/Qt5.4.0/5.4/gcc_64/bin"
|
QT_QMAKE_PATH="/home/concepters/Qt/5.4/gcc_64/bin"
|
||||||
QMAKE="$QT_QMAKE_PATH/qmake"
|
QMAKE="$QT_QMAKE_PATH/qmake"
|
||||||
MAKE_CLEAN=
|
MAKE_CLEAN=
|
||||||
usage()
|
usage()
|
||||||
|
|||||||
41
package-clients.bat
Normal file
41
package-clients.bat
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
SET CUR_PATH=%cd%
|
||||||
|
SET DEPLOY_PATH=%CUR_PATH%\clients-win
|
||||||
|
|
||||||
|
SET BUILD_PATH_PREFIX=%CUR_PATH%\build-
|
||||||
|
SET BUILD_PATH_POSTFIX=-Desktop_Qt_5_4_2_MSVC2013_64bit
|
||||||
|
SET CONFIGURE=release
|
||||||
|
|
||||||
|
SET GROUPMANAGER_PATH=%BUILD_PATH_PREFIX%GroupManager%BUILD_PATH_POSTFIX%\%CONFIGURE%
|
||||||
|
SET CRAWLER_LIST_PATH=%BUILD_PATH_PREFIX%CrawlerList%BUILD_PATH_POSTFIX%\%CONFIGURE%
|
||||||
|
SET CRAWLER_PROCESS_PATH=%BUILD_PATH_PREFIX%CrawlerProcess%BUILD_PATH_POSTFIX%\%CONFIGURE%
|
||||||
|
SET FILTER_PATH=%BUILD_PATH_PREFIX%Filter%BUILD_PATH_POSTFIX%\%CONFIGURE%
|
||||||
|
SET FILTER_PROCESS_PATH=%BUILD_PATH_PREFIX%FilterProcess%BUILD_PATH_POSTFIX%\%CONFIGURE%
|
||||||
|
|
||||||
|
SET QT_PATH=C:\Qt\Qt5.4.2\5.4\msvc2013_64\bin
|
||||||
|
SET MYSQL_PATH=C:\Data\Project\temp\libmysql\64bit
|
||||||
|
|
||||||
|
SET PYTHONCRAWLER_PATH=C:\Data\Project\clients\WebBasedCrawler
|
||||||
|
|
||||||
|
mkdir %DEPLOY_PATH%
|
||||||
|
|
||||||
|
copy %GROUPMANAGER_PATH%\*.exe %DEPLOY_PATH%
|
||||||
|
copy %CRAWLER_LIST_PATH%\*.exe %DEPLOY_PATH%
|
||||||
|
copy %CRAWLER_PROCESS_PATH%\*.exe %DEPLOY_PATH%
|
||||||
|
copy %FILTER_PATH%\*.exe %DEPLOY_PATH%
|
||||||
|
copy %FILTER_PROCESS_PATH%\*.exe %DEPLOY_PATH%
|
||||||
|
|
||||||
|
call %QT_PATH%\qtenv2.bat
|
||||||
|
cd %CUR_PATH%
|
||||||
|
%QT_PATH%\windeployqt.exe %DEPLOY_PATH%\GroupManager.exe
|
||||||
|
%QT_PATH%\windeployqt.exe %DEPLOY_PATH%\CrawlerProcess.exe
|
||||||
|
%QT_PATH%\windeployqt.exe %DEPLOY_PATH%\CrawlerList.exe
|
||||||
|
%QT_PATH%\windeployqt.exe %DEPLOY_PATH%\Filter.exe
|
||||||
|
%QT_PATH%\windeployqt.exe %DEPLOY_PATH%\FilterProcess.exe
|
||||||
|
copy %MYSQL_PATH%\libmysql.dll %DEPLOY_PATH%
|
||||||
|
|
||||||
|
xcopy %PYTHONCRAWLER_PATH%\*.py %DEPLOY_PATH%\ /c /d /s /y
|
||||||
|
xcopy %PYTHONCRAWLER_PATH%\*.txt %DEPLOY_PATH%\ /c /d /s /y
|
||||||
|
|
||||||
|
del %DEPLOY_PATH%\*.qm
|
||||||
38
package-clients.sh
Normal file
38
package-clients.sh
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
|
PROJECT_PATH=.
|
||||||
|
|
||||||
|
PREFIX=${PROJECT_PATH}/build-
|
||||||
|
POSTFIX=-Desktop_Qt_5_4_0_GCC_64bit-Release
|
||||||
|
|
||||||
|
GROUP_MANAGER_PATH=${PREFIX}GroupManager${POSTFIX}
|
||||||
|
CRAWLER_PATH=${PREFIX}CrawlerList${POSTFIX}
|
||||||
|
CRAWLER_LIST_PATH=${PREFIX}CrawlerProcess${POSTFIX}
|
||||||
|
FILTER_PATH=${PREFIX}Filter${POSTFIX}
|
||||||
|
FILTER_PROCESS_PATH=${PREFIX}FilterProcess${POSTFIX}
|
||||||
|
|
||||||
|
PACKAGE_PATH=${PROJECT_PATH}/clients-linux
|
||||||
|
|
||||||
|
|
||||||
|
mkdir ${PACKAGE_PATH}
|
||||||
|
|
||||||
|
find ${GROUP_MANAGER_PATH} -perm /a+x -exec cp {} ${PACKAGE_PATH} \;
|
||||||
|
find ${CRAWLER_PATH} -perm /a+x -exec cp {} ${PACKAGE_PATH} \;
|
||||||
|
find ${CRAWLER_LIST_PATH} -perm /a+x -exec cp {} ${PACKAGE_PATH} \;
|
||||||
|
find ${FILTER_PATH} -perm /a+x -exec cp {} ${PACKAGE_PATH} \;
|
||||||
|
find ${FILTER_PROCESS_PATH} -perm /a+x -exec cp {} ${PACKAGE_PATH} \;
|
||||||
|
|
||||||
|
linuxdeployqt ${PACKAGE_PATH}/GroupManager
|
||||||
|
linuxdeployqt ${PACKAGE_PATH}/CrawlerList
|
||||||
|
linuxdeployqt ${PACKAGE_PATH}/CrawlerProcess
|
||||||
|
linuxdeployqt ${PACKAGE_PATH}/Filter
|
||||||
|
linuxdeployqt ${PACKAGE_PATH}/FilterProcess
|
||||||
|
|
||||||
|
cp -r ${PROJECT_PATH}/WebBasedCrawler/*.py ${PACKAGE_PATH}
|
||||||
|
cp -r ${PROJECT_PATH}/WebBasedCrawler/*.txt ${PACKAGE_PATH}
|
||||||
|
cp -r ${PROJECT_PATH}/WebBasedCrawler/*/ ${PACKAGE_PATH}
|
||||||
|
|
||||||
|
rm ${PACKAGE_PATH}/AppRun
|
||||||
|
rm ${PACKAGE_PATH}/qt.conf
|
||||||
|
rm -r ${PACKAGE_PATH}/translations
|
||||||
Reference in New Issue
Block a user