From 37e290f4b0dce91b9a17aa2415e3a459f44047fb Mon Sep 17 00:00:00 2001 From: Colin Frei Date: Wed, 26 Jun 2013 23:22:35 +0200 Subject: [PATCH] add urlcleaner utility --- index.html | 1 + js/services.js | 10 +++++----- js/utilities.js | 17 +++++++++++++++++ 3 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 js/utilities.js diff --git a/index.html b/index.html index 4a25aa9..f793934 100644 --- a/index.html +++ b/index.html @@ -49,6 +49,7 @@ + diff --git a/js/services.js b/js/services.js index ac8670b..e9dbff7 100644 --- a/js/services.js +++ b/js/services.js @@ -143,7 +143,7 @@ angular.module('podcasts.services', []) } } }]) - .service('feeds', ['$log', '$q', 'dbNew', 'db', 'downloaderBackend', 'xmlParser', 'feedItems', function($log, $q, db, dbOld, downloaderBackend, xmlParser, feedItems) { + .service('feeds', ['$log', '$q', 'dbNew', 'db', 'downloaderBackend', 'xmlParser', 'feedItems', 'utilities', function($log, $q, db, dbOld, downloaderBackend, xmlParser, feedItems, utilities) { return { feeds: [], add: function(url) { @@ -157,9 +157,9 @@ angular.module('podcasts.services', []) }); }; - // TODO: verify URL format somewhere + var cleanedUrl = utilities.clean_url(url); - var promise = downloaderBackend.downloadXml(url); + var promise = downloaderBackend.downloadXml(cleanedUrl); promise.then(function(xml) { var channelChildren = xml.find('channel').children(), newFeed = {}, @@ -175,7 +175,7 @@ angular.module('podcasts.services', []) } }); - newFeed.url = url; + newFeed.url = cleanedUrl; newFeed.title = channelChildren.find('title').text(); newFeed.summary = channelChildren.find('description').text(); newFeed.nrQueueItems = 1; @@ -190,7 +190,7 @@ angular.module('podcasts.services', []) }, function() { console.warn('Could not fetch XML for feed, adding just URL for now'); var newFeed = {}; - newFeed.url = url; + newFeed.url = cleanedUrl; finishSave(newFeed); }); diff --git a/js/utilities.js b/js/utilities.js new file mode 100644 index 0000000..00a0f6f --- /dev/null +++ b/js/utilities.js @@ -0,0 +1,17 @@ +angular.module('podcasts.utilities', []) + .service('utilities', function() { + return { + clean_url: function(url) { + var cleanedUrl; + + if (url.substring(0, 4) != 'http') { + cleanedUrl = 'http://' + url; + } else { + cleanedUrl = url; + } + + return cleanedUrl; + } + } + }) +;