diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-09-18 14:26:02 +0200 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-09-18 14:26:02 +0200 |
commit | d45ce51678df7b5dcfa29d02d59962ccdbf95771 (patch) | |
tree | ab740d03ca9dc190e8286db86eddb6279435b7d8 /js/service | |
parent | 69ebc02cca77e8dfa4ea2712e914093d5140a5d4 (diff) |
fix opml import
Diffstat (limited to 'js/service')
-rw-r--r-- | js/service/OPMLImporter.js | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/js/service/OPMLImporter.js b/js/service/OPMLImporter.js index 2edb7921b..9644ee3dd 100644 --- a/js/service/OPMLImporter.js +++ b/js/service/OPMLImporter.js @@ -7,12 +7,13 @@ * @author Bernhard Posselt <dev@bernhard-posselt.com> * @copyright Bernhard Posselt 2014 */ -app.service('OPMLImporter', function (FeedResource, FolderResource, $q) { +app.service('OPMLImporter', function (FeedResource, FolderResource, Publisher, + $q) { 'use strict'; var startFeedJob = function (queue) { var deferred = $q.defer(); - if (queue.lenght > 0) { + if (queue.length > 0) { var feed = queue.pop(); var url = feed.url; var title = feed.title; @@ -20,13 +21,18 @@ app.service('OPMLImporter', function (FeedResource, FolderResource, $q) { var folderName = feed.folderName; if (folderName !== undefined && - FeedResource.get(folderName) !== undefined) { - folderId = FeedResource.get(feed.folderName).id; + FolderResource.get(folderName) !== undefined) { + var folder = FolderResource.get(folderName); + folder.opened = true; + folderId = folder.id; } // make sure to not add already existing feeds if (url !== undefined && FeedResource.get(url) === undefined) { FeedResource.create(url, folderId, title) + .then(function (data) { + Publisher.publishAll(data); + }) .finally(function () { startFeedJob(queue); }); @@ -46,8 +52,12 @@ app.service('OPMLImporter', function (FeedResource, FolderResource, $q) { content.folders.forEach(function (folder) { if (folder.name !== undefined) { // skip already created folders - if (FolderResource.get(folder.name) !== undefined) { - folderPromises.push(FolderResource.create(folder.name)); + if (FolderResource.get(folder.name) === undefined) { + var promise = FolderResource.create(folder.name) + .then(function (data) { + Publisher.publishAll(data); + }); + folderPromises.push(promise); } folder.feeds.forEach(function (feed) { |