summaryrefslogtreecommitdiffstats
path: root/js/service
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2014-09-18 14:26:02 +0200
committerBernhard Posselt <dev@bernhard-posselt.com>2014-09-18 14:26:02 +0200
commitd45ce51678df7b5dcfa29d02d59962ccdbf95771 (patch)
treeab740d03ca9dc190e8286db86eddb6279435b7d8 /js/service
parent69ebc02cca77e8dfa4ea2712e914093d5140a5d4 (diff)
fix opml import
Diffstat (limited to 'js/service')
-rw-r--r--js/service/OPMLImporter.js22
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) {