Split out _get_URL() and _add_link() functions
[GM_direct_download_links.git] / direct_download_links.user.js
index a91fb00..8e06997 100644 (file)
@@ -86,7 +86,7 @@ for (i = 0; i < supported_sites.length; i++) {
   if (result) {
     var ret = direct_download_link_add(window.location.href, site);
     if (!ret) {
-      alert('Cannot add the link');
+      DDL_log('Cannot add the link');
     }
   }
 }
@@ -101,26 +101,41 @@ for (i = 0; i < supported_sites.length; i++) {
 function direct_download_link_add(pageURL, site) {
   var element = document.getElementById(site.urlContainer);
   if (!element) {
-    alert('DirectDL (' + site.pageURL  + '): Cannot find the element ' + site.urlContainer + ' containing the URL.');
+    DDL_log('DirectDL (' + site.pageURL  + '): Cannot find the element ' + site.urlContainer + ' containing the URL.');
     return null;
   }
 
+  var URL = _get_URL(site, element);
+  if (!URL) {
+    DDL_log('DirectDL (' + site.pageURL + '): cannot get the URL.');
+    return null;
+  }
+
+  return _add_link(site, URL);
+}
+
+function _get_URL(site, element) {
   var content = element.innerHTML;
   if (!content) {
-    alert('DirectDL (' + site.pageURL + '): content is null, cannot find URL.');
+    DDL_log('DirectDL (' + site.pageURL + '): content is null, cannot find URL.');
     return null;
   }
 
   var matches = content.match(site.urlRegexp);
   if (!matches || matches.length < 2 || !matches[1]) {
-      alert('DirectDL (' + site.pageURL + '): URL not found, check the urlRegexp');
+      DDL_log('DirectDL (' + site.pageURL + '): URL not found, check the urlRegexp');
       return null;
   }
   var URL = matches[1];
 
+  return URL;
+}
+
+function _add_link(site, URL) {
+
   var links = document.getElementById(site.linkDest);
   if (!links) {
-    alert('DirectDl (' + site.pageURL + '): Cannot add the direct download link.');
+    DDL_log('DirectDl (' + site.pageURL + '): Cannot add the direct download link.');
     return null;
   }
 
@@ -137,3 +152,12 @@ function direct_download_link_add(pageURL, site) {
 
   return true;
 }
+
+function DDL_log(message) {
+  var debug = false;
+  if (debug) {
+    alert(message)
+  } else {
+    GM_log(message);
+  }
+}