-
Notifications
You must be signed in to change notification settings - Fork 1
/
aping-rss-helper.js
88 lines (73 loc) · 3.53 KB
/
aping-rss-helper.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
"use strict";
angular.module("jtt_aping_rss")
.service('apingRssHelper', ['apingModels', 'apingTimeHelper', 'apingUtilityHelper', function (apingModels, apingTimeHelper, apingUtilityHelper) {
this.getThisPlatformString = function () {
return "rss";
};
this.getObjectByJsonData = function (_data, _helperObject) {
var requestResults = [];
if (_data && _data.data && _data.data.items) {
var _this = this;
var tempResult;
angular.forEach(_data.data.items, function (value, key) {
if (typeof _helperObject.items === "undefined" || requestResults.length < _helperObject.items) {
if (_helperObject.getNativeData === true || _helperObject.getNativeData === "true") {
tempResult = value;
} else {
value.blog_link = _data.data.feed.link || _data.data.feed.feedUrl || undefined;
value.blog_author = _data.data.feed.author || _data.data.feed.title || undefined;
tempResult = _this.getItemByJsonData(value, _helperObject);
}
if (tempResult) {
requestResults.push(tempResult);
}
}
});
}
return requestResults;
};
this.getItemByJsonData = function (_item, _helperObject) {
var returnObject = {};
if (_item && _helperObject.model) {
switch (_helperObject.model) {
case "social":
returnObject = this.getSocialItemByJsonData(_item, _helperObject);
break;
case "native":
case "rss":
returnObject = _item;
break;
default:
return false;
}
}
return returnObject;
};
this.getSocialItemByJsonData = function (_item, _helperObject) {
var socialObject = apingModels.getNew("social", this.getThisPlatformString());
//fill _item in socialObject
angular.extend(socialObject, {
blog_name: _item.blog_author || undefined,
blog_link: _item.blog_link || undefined,
post_url: _item.link || undefined,
source: (_item.categories && _item.categories.length > 0) ? _item.categories : undefined
});
if (_item.content) {
socialObject.text = apingUtilityHelper.getTextFromHtml(_item.content);
socialObject.caption = _item.title || undefined;
} else {
socialObject.text = _item.title || undefined;
}
if (_item.content && _helperObject.parseImage) {
var imagesArray = apingUtilityHelper.getFirstImageFromHtml(_item.content);
if (imagesArray && imagesArray.length > 1) {
socialObject.img_url = imagesArray[1];
socialObject.thumb_url = imagesArray[1];
socialObject.native_url = imagesArray[1];
}
}
socialObject.date_time = _item.pubDate ? new Date(_item.pubDate) : undefined;
socialObject.timestamp = socialObject.date_time ? socialObject.date_time.getTime() : undefined;
return socialObject;
};
}]);