diff --git a/js/controllers.js b/js/controllers.js index d032d07..b6f1f45 100644 --- a/js/controllers.js +++ b/js/controllers.js @@ -164,7 +164,7 @@ function ImportCtrl($scope, pageSwitcher, google) -function DevCtrl($scope, downloader, updateFeedsAlarmManager) +function DevCtrl($scope, downloader, updateFeedsAlarmManager, opml, downloaderBackend) { $scope.downloadFiles = function() { downloader.downloadAll(); @@ -177,4 +177,12 @@ function DevCtrl($scope, downloader, updateFeedsAlarmManager) $scope.setAlarmTmp = function() { updateFeedsAlarmManager.setAlarm(); }; + $scope.importColinsOpml = function() { + var url = 'https://raw.github.com/colinfrei/Podcast/master/podcasts.xml'; + var xmlPromise = downloaderBackend.downloadXml(url); + + xmlPromise.then(function(xml) { + opml.import(xml); + }); + } } \ No newline at end of file diff --git a/js/services.js b/js/services.js index 8c14b5f..b613625 100644 --- a/js/services.js +++ b/js/services.js @@ -828,14 +828,25 @@ angular.module('podcasts.settings', ['podcasts.database']) }]) ; -angular.module('podcasts.importer', []) - .service('opml', function() { +angular.module('podcasts.importer', ['podcasts.utilities', 'podcasts.services']) + .service('opml', ['xmlParser', 'feeds', function(xmlParser, feeds) { return { - import: function(url) { + import: function(xml) { + angular.forEach(xml.find('outline'), function(value, key) { + var element = angular.element(value); + if ("rss" != element.attr('type')) { + return; + } + var feedUrl = element.attr('xmlUrl'); + if (feedUrl) { + console.log('adding something'); + feeds.add(feedUrl); + } + }); } } - }) + }]) .service('google', ['$q', '$http', 'feeds', function($q, $http, feeds) { return { import: function(email, password) { diff --git a/partials/dev.html b/partials/dev.html index 3a59152..a8ba4be 100644 --- a/partials/dev.html +++ b/partials/dev.html @@ -2,7 +2,16 @@ - +
+ Import OPML File
+ + +
+