NaverCafeListManager 추가
git-svn-id: svn://192.168.0.12/source@222 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
89
CrawlerList/snavercafelistmanager.cpp
Normal file
89
CrawlerList/snavercafelistmanager.cpp
Normal file
@@ -0,0 +1,89 @@
|
||||
#include "snavercafelistmanager.h"
|
||||
#include <QThread>
|
||||
#include "widget.h"
|
||||
SNaverCafeListManage::SNaverCafeListManage(QObject *pObject) : SManage(pObject)
|
||||
{
|
||||
m_nID = 0;
|
||||
connect(&m_pro[0], SIGNAL(readyReadStandardOutput()), this, SLOT(readStandardOutput()));
|
||||
connect(&m_pro[0], SIGNAL(readyReadStandardError()), this, SLOT(readStandardError()));
|
||||
}
|
||||
|
||||
|
||||
void SNaverCafeListManage::Start()
|
||||
{
|
||||
m_nMode = E_PROCESS_RUN;
|
||||
m_bFinalLast = false;
|
||||
}
|
||||
|
||||
bool SNaverCafeListManage::Update()
|
||||
{
|
||||
if(m_bFinalLast) return m_bFinalLast;
|
||||
switch(m_nMode)
|
||||
{
|
||||
case E_PROCESS_RUN:
|
||||
if(UseProcess() == false)
|
||||
{
|
||||
#if defined(Q_OS_WIN32)
|
||||
m_pro[0].start("python", QStringList() << "navercrawl.py" << m_strKeywordID << m_strGroupID << m_pMain->StartDay());
|
||||
#else
|
||||
m_pro[0].start("/usr/bin/python3", QStringList() << "navercrawl.py" << m_strKeywordID << m_strGroupID << m_pMain->StartDay());
|
||||
#endif
|
||||
m_nMode = E_PROCESS_FINISH_WAIT;
|
||||
}
|
||||
break;
|
||||
|
||||
case E_PROCESS_FINISH_WAIT:
|
||||
break;
|
||||
}
|
||||
|
||||
return m_bFinalLast;
|
||||
}
|
||||
|
||||
void SNaverCafeListManage::processFinished(QProcess *pPro, QString _strOut)
|
||||
{
|
||||
switch(m_nMode)
|
||||
{
|
||||
case E_PROCESS_FINISH_WAIT:
|
||||
m_nMode = E_PROCESS_RUN;
|
||||
m_bFinalLast = true;
|
||||
m_pMain->InsertLog("Finish Crawling :)");
|
||||
m_pMain->SetCrawlingState("Finish");
|
||||
m_ncList=1;
|
||||
m_bLast = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void SNaverCafeListManage::readStandardOutput()
|
||||
{
|
||||
QProcess *pPro = (QProcess*)sender();
|
||||
QThread::msleep(100);
|
||||
QString str = pPro->readAllStandardOutput();
|
||||
QStringList list = str.split("\n", QString::SkipEmptyParts);
|
||||
foreach(QString log,list)
|
||||
{
|
||||
if (m_pMain)
|
||||
{
|
||||
m_pMain->InsertLog(log);
|
||||
}
|
||||
else
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
void SNaverCafeListManage::readStandardError()
|
||||
{
|
||||
QProcess *pPro = (QProcess*)sender();
|
||||
QThread::msleep(100);
|
||||
QString str = pPro->readAllStandardError();
|
||||
QStringList list = str.split("\n", QString::SkipEmptyParts);
|
||||
foreach(QString log,list)
|
||||
{
|
||||
if (m_pMain)
|
||||
{
|
||||
m_pMain->InsertLog(log);
|
||||
}
|
||||
else
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user