aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorMatěj Cepl <mcepl@redhat.com>2010-08-19 14:17:30 -0400
committerMatěj Cepl <mcepl@redhat.com>2010-08-19 14:54:43 -0400
commit3c7ce2acd32114ba6a9e49aa8af23516261e3c6f (patch)
tree8e7dc949f1087c30d2a2a73b5c1ba336e604c648 /lib
parent3ace26856d4fb2ea82de39ec7a97a7fb1c0c63ca (diff)
downloadbugzilla-triage-3c7ce2acd32114ba6a9e49aa8af23516261e3c6f.tar.gz
Make skipping attachments working
- add attachment.cgi$ to skipMatches regexp - NotLoggedinException should be caught in main.js not in rhbzpage.js Fixes #41 New release 0.18
Diffstat (limited to 'lib')
-rw-r--r--lib/main.js20
-rw-r--r--lib/rhbzpage.js11
2 files changed, 14 insertions, 17 deletions
diff --git a/lib/main.js b/lib/main.js
index a8bae4c..25498d6 100644
--- a/lib/main.js
+++ b/lib/main.js
@@ -39,15 +39,13 @@ function isOurPage(window, matchingURLs) {
*/
function skipThisPage(doc) {
var stemURL = "https://HOSTNAME/show_bug.cgi?id=";
- var titleStr = doc.getElementsByTagName("title")[0].textContent;
+ var titleElems = doc.getElementsByTagName("title");
+ console.log("titleElems.length = " + titleElems.length);
+ var titleStr = titleElems[0].textContent;
var REArr = new RegExp("[bB]ug\\s+([0-9]+)").exec(titleStr);
var hostname = doc.location.hostname;
if (REArr) {
var bugNo = REArr[1];
- var emailsSent = doc.
- querySelector("#bugzilla-body > dl:nth-of-type(1)").textContent;
- emailsSent = emailsSent.replace(/^(\s*)$/mg,"");
- prompts.notification(emailsSent);
doc.location = stemURL.replace("HOSTNAME",hostname) + bugNo;
}
}
@@ -102,7 +100,7 @@ function initialize(callback) {
config.matches = config.gJSONData.configData.matches;
config.skipMatches = config.matches.map(function(x) {
- return x.replace("show_bug.cgi.*","(process|post)_bug.cgi");
+ return x.replace("show_bug.cgi.*","((process|post)_bug|attachment)\.cgi$");
});
callback(config);
@@ -126,7 +124,15 @@ exports.main = function main(options, callbacks) {
construct = require("mozillabzpage").MozillaBugzilla;
}
if (isOurPage(window, config.matches)) {
- var curPage = new construct(window, config);
+ try {
+ var curPage = new construct(window, config);
+ } catch (ex) {
+ if (ex instanceof require("bzpage").NotLoggedinException) {
+ return ; // Bail out if the user is not logged in
+ } else {
+ throw ex; // rethrow the exception otherwise
+ }
+ }
} else if (isOurPage(window, config.skipMatches)) {
skipThisPage(window.document);
}
diff --git a/lib/rhbzpage.js b/lib/rhbzpage.js
index e858145..b55e44b 100644
--- a/lib/rhbzpage.js
+++ b/lib/rhbzpage.js
@@ -21,16 +21,7 @@ var NumberOfFrames = require("bzpage").NumberOfFrames;
var RHBugzillaPage = function RHBugzillaPage(win, config) {
// inheritance ... call superobject's constructor
- try {
- BZPage.call(this, win, config);
- } catch (ex) {
- if (ex instanceof require("bzpage").NotLoggedinException) {
- console.log(ex);
- return ; // Bail out if the user is not logged in
- } else {
- throw ex; // rethrow the exception otherwise
- }
- }
+ BZPage.call(this, win, config);
// For identification of graphics card
this.manuChipStrs = [ [ "ATI Radeon", "ATI", "1002" ],