]> git.sven.stormbind.net Git - sven/vym.git/blobdiff - bugagent.cpp
New upstream version 2.9.22
[sven/vym.git] / bugagent.cpp
diff --git a/bugagent.cpp b/bugagent.cpp
deleted file mode 100644 (file)
index d1677d2..0000000
+++ /dev/null
@@ -1,206 +0,0 @@
-#include "bugagent.h"\r
-\r
-#include "branchitem.h"\r
-#include "mainwindow.h"\r
-#include "vymmodel.h"\r
-\r
-#include <QHash>\r
-\r
-extern Main *mainWindow;\r
-extern QDir vymBaseDir;\r
-extern bool debug;\r
-\r
-\r
-BugAgent::BugAgent (BranchItem *bi,const QString &u)\r
-{\r
-    if (!bi) \r
-    {\r
-       qWarning ("Const BugAgent: bi==NULL");\r
-       delete (this);\r
-       return;\r
-    }\r
-    branchID=bi->getID();\r
-    VymModel *model=bi->getModel();\r
-    modelID=model->getModelID();\r
-\r
-    //qDebug()<<"Constr. BugAgent for "<<branchID;\r
-\r
-    url=u;\r
-\r
-    QStringList args;\r
-\r
-    if (url.contains("show_bug"))\r
-    {\r
-       missionType=SingleBug;\r
-       QRegExp rx("(\\d+)");\r
-       if (rx.indexIn(url) !=-1)\r
-       {\r
-           bugID=rx.cap(1);\r
-           args<<bugID;\r
-       } else\r
-       {\r
-           qDebug()<<"BugAgent: No bugID found in: "<<url;\r
-           delete (this);\r
-           return;\r
-       }\r
-\r
-    } else if (u.contains("buglist.cgi"))\r
-    {\r
-       missionType=Query; //FIXME-3 query not supported yet by new bugger\r
-       args<<"--query";\r
-       args<<url;\r
-    } else\r
-    {\r
-       qDebug()<<"Unknown Bugzilla command:\n"<<url;\r
-       delete (this);\r
-       return;\r
-    }\r
-       \r
-\r
-    bugScript=vymBaseDir.path()+"/scripts/bugger";\r
-\r
-    p=new VymProcess;\r
-\r
-    connect (p, SIGNAL (finished(int,QProcess::ExitStatus) ), \r
-       this, SLOT (processFinished(int,QProcess::ExitStatus) ));\r
-\r
-    p->start (bugScript,args);\r
-    if (!p->waitForStarted())\r
-    {\r
-       qWarning()<<"BugAgent::getBugzillaData couldn't start "<<bugScript;\r
-       return;\r
-    }  \r
-\r
-    // Visual hint that we are doing something  // FIXME-4 show spinner instead?\r
-    if (missionType==SingleBug)\r
-        model->setHeading ("Updating: "+bi->getHeadingPlain(),bi );//FIXME-4 translation needed?\r
-       \r
-}\r
-\r
-BugAgent::~BugAgent ()\r
-{\r
-    //qDebug()<<"Destr. BugAgent for "<<branchID;\r
-    delete p;\r
-}\r
-\r
-void BugAgent::processFinished(int exitCode, QProcess::ExitStatus exitStatus)\r
-{\r
-    if (exitStatus==QProcess::NormalExit)\r
-    {\r
-       result=p->getStdout().split("\n");\r
-       QString err=p->getErrout();\r
-       if (!err.isEmpty())\r
-           qWarning() << "BugAgent Error: "<<err;\r
-       else \r
-           processBugzillaData ();\r
-\r
-    } else     \r
-       qWarning()<< "BugAgent: Process finished with exitCode="<<exitCode;\r
-    deleteLater();\r
-}\r
-\r
-\r
-void BugAgent::processBugzillaData()\r
-{\r
-    // Find model from which we had been started\r
-    VymModel *model=mainWindow->getModel (modelID);\r
-    if (model)\r
-    {\r
-       // and find branch which triggered this mission\r
-       BranchItem *missionBI=(BranchItem*)(model->findID (branchID));      \r
-       if (missionBI)\r
-       {\r
-           // Here we go...\r
-\r
-           QRegExp re("(\\d*):(\\S*):\"(.*)\"");\r
-           re.setMinimal(false);\r
-           bug_desc.clear();\r
-           bug_prio.clear();\r
-           bug_sev.clear();\r
-           bug_deltats.clear();\r
-           bug_status.clear();\r
-           bug_whiteboard.clear();\r
-\r
-           QStringList bugs; \r
-           foreach (QString line,result)\r
-           {\r
-               if (debug) qDebug()<<"BugAgent::procBugData  line="<<line;\r
-               if (re.indexIn(line) !=-1) \r
-               {\r
-                   if (re.cap(2)=="short_desc") \r
-                   {\r
-                       bugs.append(re.cap(1));\r
-                       bug_desc[re.cap(1)]=re.cap(3).replace("\\\"","\"");\r
-                   }   \r
-                   else if (re.cap(2)=="priority") \r
-                       bug_prio[re.cap(1)]=re.cap(3).left(2);\r
-                   else if (re.cap(2)=="bug_severity") \r
-                   {\r
-                       if (re.cap(3)=="Critical")\r
-                           bug_sev[re.cap(1)]="S1";\r
-                       else if (re.cap(3)=="Major")\r
-                           bug_sev[re.cap(1)]="S2";\r
-                       else if (re.cap(3)=="Normal")\r
-                           bug_sev[re.cap(1)]="S3";\r
-                       else if (re.cap(3)=="Minor")\r
-                           bug_sev[re.cap(1)]="S4";\r
-                       else if (re.cap(3)=="Enhancement")\r
-                           bug_sev[re.cap(1)]="S5";\r
-                       else \r
-                       {\r
-                           qWarning()<<"BugAgent: Bugzilla returned severity "<<re.cap(3);\r
-                           bug_sev[re.cap(1)]=re.cap(3);\r
-                       }\r
-                   }   \r
-                   else if (re.cap(2)=="delta_ts") \r
-                       bug_deltats[re.cap(1)]=re.cap(3);\r
-                   else if (re.cap(2)=="bug_status") \r
-                       bug_status[re.cap(1)]=re.cap(3);\r
-                   else if (re.cap(2)=="status_whiteboard") \r
-                       bug_whiteboard[re.cap(1)]=re.cap(3);\r
-               }\r
-           }\r
-           if (bug_desc.count()<=0)\r
-               qWarning()<<"BugAgent: Couldn't find data";\r
-           else if (missionType==SingleBug)\r
-           {\r
-               // Only single bug changed\r
-               QString b=bugs.first();\r
-               setModelBugzillaData (model, missionBI,b);\r
-           } else\r
-           {\r
-               // Process results of query\r
-               BranchItem *newbi;\r
-               foreach (QString b,bugs)\r
-               {\r
-                   //qDebug ()<<" -> "<<b<<" "<<bug_desc[b];\r
-                   newbi=model->addNewBranch(missionBI);    \r
-                   newbi->setURL ("https://bugzilla.novell.com/show_bug.cgi?id="+b);\r
-                   if (!newbi)\r
-                       qWarning()<<"BugAgent: Couldn't create new branch?!";\r
-                   else\r
-                       setModelBugzillaData (model, newbi,b);\r
-               }\r
-           } \r
-       } else\r
-           qWarning ()<<"BugAgent: Found model, but not branch #"<<branchID;\r
-    } else\r
-       qWarning ()<<"BugAgent: Couldn't find model #"<<modelID;\r
-\r
-\r
-}\r
-\r
-void BugAgent::setModelBugzillaData (VymModel *model, BranchItem *bi, const QString &bugID)\r
-{\r
-    QString ps=bug_prio[bugID];\r
-    if (bug_whiteboard[bugID].contains ("PNEW")) ps=ps+"/"+bug_sev[bugID];\r
-    if (bug_status[bugID]=="CLOSED" \r
-       || bug_status[bugID]=="VERIFIED"\r
-       || bug_status[bugID]=="RESOLVED")\r
-    {\r
-    model->setHeadingPlainText ("("+ps+") - " + bugID + " - " + bug_desc[bugID],bi);\r
-       model->colorSubtree (Qt::blue,bi);\r
-    }else   \r
-    model->setHeadingPlainText (ps+ " - " + bugID + " - " + bug_desc[bugID],bi);\r
-}\r
-\r