add urlcleaner utility
This commit is contained in:
parent
28112eb306
commit
37e290f4b0
3 changed files with 23 additions and 5 deletions
|
@ -49,6 +49,7 @@
|
||||||
<script src="lib/angular/angular.js"></script>
|
<script src="lib/angular/angular.js"></script>
|
||||||
<script src="lib/iscroll.js"></script>
|
<script src="lib/iscroll.js"></script>
|
||||||
<script src="js/app.js"></script>
|
<script src="js/app.js"></script>
|
||||||
|
<script src="js/utilities.js"></script>
|
||||||
<script src="js/services.js"></script>
|
<script src="js/services.js"></script>
|
||||||
<script src="js/directives.js"></script>
|
<script src="js/directives.js"></script>
|
||||||
<script src="js/controllers.js"></script>
|
<script src="js/controllers.js"></script>
|
||||||
|
|
|
@ -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 {
|
return {
|
||||||
feeds: [],
|
feeds: [],
|
||||||
add: function(url) {
|
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) {
|
promise.then(function(xml) {
|
||||||
var channelChildren = xml.find('channel').children(),
|
var channelChildren = xml.find('channel').children(),
|
||||||
newFeed = {},
|
newFeed = {},
|
||||||
|
@ -175,7 +175,7 @@ angular.module('podcasts.services', [])
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
newFeed.url = url;
|
newFeed.url = cleanedUrl;
|
||||||
newFeed.title = channelChildren.find('title').text();
|
newFeed.title = channelChildren.find('title').text();
|
||||||
newFeed.summary = channelChildren.find('description').text();
|
newFeed.summary = channelChildren.find('description').text();
|
||||||
newFeed.nrQueueItems = 1;
|
newFeed.nrQueueItems = 1;
|
||||||
|
@ -190,7 +190,7 @@ angular.module('podcasts.services', [])
|
||||||
}, function() {
|
}, function() {
|
||||||
console.warn('Could not fetch XML for feed, adding just URL for now');
|
console.warn('Could not fetch XML for feed, adding just URL for now');
|
||||||
var newFeed = {};
|
var newFeed = {};
|
||||||
newFeed.url = url;
|
newFeed.url = cleanedUrl;
|
||||||
|
|
||||||
finishSave(newFeed);
|
finishSave(newFeed);
|
||||||
});
|
});
|
||||||
|
|
17
js/utilities.js
Normal file
17
js/utilities.js
Normal file
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
;
|
Loading…
Add table
Add a link
Reference in a new issue