diff options
author | Matěj Cepl <mcepl@redhat.com> | 2010-08-19 14:17:30 -0400 |
---|---|---|
committer | Matěj Cepl <mcepl@redhat.com> | 2010-08-19 14:54:43 -0400 |
commit | 3c7ce2acd32114ba6a9e49aa8af23516261e3c6f (patch) | |
tree | 8e7dc949f1087c30d2a2a73b5c1ba336e604c648 /lib | |
parent | 3ace26856d4fb2ea82de39ec7a97a7fb1c0c63ca (diff) | |
download | bugzilla-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.js | 20 | ||||
-rw-r--r-- | lib/rhbzpage.js | 11 |
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" ], |