| OLD | NEW |
| 1 /* | 1 /* |
| 2 * This file is part of Adblock Plus <https://adblockplus.org/>, | 2 * This file is part of Adblock Plus <https://adblockplus.org/>, |
| 3 * Copyright (C) 2006-present eyeo GmbH | 3 * Copyright (C) 2006-present eyeo GmbH |
| 4 * | 4 * |
| 5 * Adblock Plus is free software: you can redistribute it and/or modify | 5 * Adblock Plus is free software: you can redistribute it and/or modify |
| 6 * it under the terms of the GNU General Public License version 3 as | 6 * it under the terms of the GNU General Public License version 3 as |
| 7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
| 8 * | 8 * |
| 9 * Adblock Plus is distributed in the hope that it will be useful, | 9 * Adblock Plus is distributed in the hope that it will be useful, |
| 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 172 return subscription; | 172 return subscription; |
| 173 | 173 |
| 174 if (url[0] != "~") | 174 if (url[0] != "~") |
| 175 return new DownloadableSubscription(url, null); | 175 return new DownloadableSubscription(url, null); |
| 176 return new SpecialSubscription(url); | 176 return new SpecialSubscription(url); |
| 177 }; | 177 }; |
| 178 | 178 |
| 179 /** | 179 /** |
| 180 * Deserializes a subscription | 180 * Deserializes a subscription |
| 181 * | 181 * |
| 182 * @param {Object} obj | 182 * @param {Map.<string,string>} map |
| 183 * map of serialized properties and their values | 183 * map of serialized properties and their values |
| 184 * @return {Subscription} | 184 * @return {Subscription} |
| 185 * subscription or null if the subscription couldn't be created | 185 * subscription or null if the subscription couldn't be created |
| 186 */ | 186 */ |
| 187 Subscription.fromObject = function(obj) | 187 Subscription.fromMap = function(map) |
| 188 { | 188 { |
| 189 let result; | 189 let result; |
| 190 if (obj.url[0] != "~") | 190 |
| 191 let url = map.get("url"); |
| 192 let title = map.get("title"); |
| 193 if (url[0] != "~") |
| 191 { | 194 { |
| 192 // URL is valid - this is a downloadable subscription | 195 // URL is valid - this is a downloadable subscription |
| 193 result = new DownloadableSubscription(obj.url, obj.title); | 196 result = new DownloadableSubscription(url, title); |
| 194 if ("downloadStatus" in obj) | 197 |
| 195 result._downloadStatus = obj.downloadStatus; | 198 let downloadStatus = map.get("downloadStatus"); |
| 196 if ("lastSuccess" in obj) | 199 let lastSuccess = map.get("lastSuccess"); |
| 197 result.lastSuccess = parseInt(obj.lastSuccess, 10) || 0; | 200 let lastCheck = map.get("lastCheck"); |
| 198 if ("lastCheck" in obj) | 201 let expires = map.get("expires"); |
| 199 result._lastCheck = parseInt(obj.lastCheck, 10) || 0; | 202 let softExpiration = map.get("softExpiration"); |
| 200 if ("expires" in obj) | 203 let errors = map.get("errors"); |
| 201 result.expires = parseInt(obj.expires, 10) || 0; | 204 let version = map.get("version"); |
| 202 if ("softExpiration" in obj) | 205 let requiredVersion = map.get("requiredVersion"); |
| 203 result.softExpiration = parseInt(obj.softExpiration, 10) || 0; | 206 let homepage = map.get("homepage"); |
| 204 if ("errors" in obj) | 207 let lastDownload = map.get("lastDownload"); |
| 205 result._errors = parseInt(obj.errors, 10) || 0; | 208 let downloadCount = map.get("downloadCount"); |
| 206 if ("version" in obj) | 209 if (typeof downloadStatus != "undefined") |
| 207 result.version = parseInt(obj.version, 10) || 0; | 210 result._downloadStatus = downloadStatus; |
| 208 if ("requiredVersion" in obj) | 211 if (typeof lastSuccess != "undefined") |
| 209 result.requiredVersion = obj.requiredVersion; | 212 result.lastSuccess = parseInt(lastSuccess, 10) || 0; |
| 210 if ("homepage" in obj) | 213 if (typeof lastCheck != "undefined") |
| 211 result._homepage = obj.homepage; | 214 result._lastCheck = parseInt(lastCheck, 10) || 0; |
| 212 if ("lastDownload" in obj) | 215 if (typeof expires != "undefined") |
| 213 result._lastDownload = parseInt(obj.lastDownload, 10) || 0; | 216 result.expires = parseInt(expires, 10) || 0; |
| 214 if ("downloadCount" in obj) | 217 if (typeof softExpiration != "undefined") |
| 215 result.downloadCount = parseInt(obj.downloadCount, 10) || 0; | 218 result.softExpiration = parseInt(softExpiration, 10) || 0; |
| 219 if (typeof errors != "undefined") |
| 220 result._errors = parseInt(errors, 10) || 0; |
| 221 if (typeof version != "undefined") |
| 222 result.version = parseInt(version, 10) || 0; |
| 223 if (typeof requiredVersion != "undefined") |
| 224 result.requiredVersion = requiredVersion; |
| 225 if (typeof homepage != "undefined") |
| 226 result._homepage = homepage; |
| 227 if (typeof lastDownload != "undefined") |
| 228 result._lastDownload = parseInt(lastDownload, 10) || 0; |
| 229 if (typeof downloadCount != "undefined") |
| 230 result.downloadCount = parseInt(downloadCount, 10) || 0; |
| 216 } | 231 } |
| 217 else | 232 else |
| 218 { | 233 { |
| 219 result = new SpecialSubscription(obj.url, obj.title); | 234 result = new SpecialSubscription(url, title); |
| 220 if ("defaults" in obj) | 235 |
| 221 result.defaults = obj.defaults.split(" "); | 236 let defaults = map.get("defaults"); |
| 237 if (typeof defaults != "undefined") |
| 238 result.defaults = defaults.split(" "); |
| 222 } | 239 } |
| 223 if ("fixedTitle" in obj) | 240 |
| 224 result._fixedTitle = (obj.fixedTitle == "true"); | 241 let fixedTitle = map.get("fixedTitle"); |
| 225 if ("disabled" in obj) | 242 let disabled = map.get("disabled"); |
| 226 result._disabled = (obj.disabled == "true"); | 243 if (typeof fixedTitle != "undefined") |
| 244 result._fixedTitle = (fixedTitle == "true"); |
| 245 if (typeof disabled != "undefined") |
| 246 result._disabled = (disabled == "true"); |
| 227 | 247 |
| 228 return result; | 248 return result; |
| 229 }; | 249 }; |
| 230 | 250 |
| 231 /** | 251 /** |
| 232 * Class for special filter subscriptions (user's filters) | 252 * Class for special filter subscriptions (user's filters) |
| 233 * @param {string} url see Subscription() | 253 * @param {string} url see Subscription() |
| 234 * @param {string} [title] see Subscription() | 254 * @param {string} [title] see Subscription() |
| 235 * @constructor | 255 * @constructor |
| 236 * @augments Subscription | 256 * @augments Subscription |
| (...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 566 if (this.errors) | 586 if (this.errors) |
| 567 buffer.push("errors=" + this.errors); | 587 buffer.push("errors=" + this.errors); |
| 568 if (this.version) | 588 if (this.version) |
| 569 buffer.push("version=" + this.version); | 589 buffer.push("version=" + this.version); |
| 570 if (this.requiredVersion) | 590 if (this.requiredVersion) |
| 571 buffer.push("requiredVersion=" + this.requiredVersion); | 591 buffer.push("requiredVersion=" + this.requiredVersion); |
| 572 if (this.downloadCount) | 592 if (this.downloadCount) |
| 573 buffer.push("downloadCount=" + this.downloadCount); | 593 buffer.push("downloadCount=" + this.downloadCount); |
| 574 } | 594 } |
| 575 }); | 595 }); |
| OLD | NEW |