diff --git a/randomwallpaper@iflow.space/sourceAdapter.js b/randomwallpaper@iflow.space/sourceAdapter.js index eec828a..8c6de28 100644 --- a/randomwallpaper@iflow.space/sourceAdapter.js +++ b/randomwallpaper@iflow.space/sourceAdapter.js @@ -367,35 +367,35 @@ var RedditAdapter = new Lang.Class({ requestRandomImage: function (callback) { let session = new Soup.SessionAsync(); - const subreddits = this._settings.get('subreddits', 'string').split(',').map(s => s.trim()).join('+'); - const require_sfw = this._settings.get('allow-sfw', 'boolean'); - const url = encodeURI(`https://www.reddit.com/r/${subreddits}.json`); + const subreddits = this._settings.get('subreddits', 'string').split(',').map(s => s.trim()).join('+'); + const require_sfw = this._settings.get('allow-sfw', 'boolean'); + const url = encodeURI(`https://www.reddit.com/r/${subreddits}.json`); let message = Soup.Message.new('GET', url); if (message === null) { - this._error("Could not create request.", callback); - return; + this._error("Could not create request.", callback); + return; } session.queue_message(message, (session, message) => { try { - const submissions = JSON.parse(message.response_body.data).data.children.filter(child => { - if(child.data.post_hint !== 'image') return false; - if(require_sfw) return child.data.over_18 === false; - return true; - }); - if(submissions.length === 0) { - this._error("No suitable submissions found!", callback); - return; - } - const random = Math.floor(Math.random() * submissions.length); - const submission = submissions[random].data; - const imageDownloadUrl = submission.preview.images[0].source.url; + const submissions = JSON.parse(message.response_body.data).data.children.filter(child => { + if(child.data.post_hint !== 'image') return false; + if(require_sfw) return child.data.over_18 === false; + return true; + }); + if(submissions.length === 0) { + this._error("No suitable submissions found!", callback); + return; + } + const random = Math.floor(Math.random() * submissions.length); + const submission = submissions[random].data; + const imageDownloadUrl = submission.preview.images[0].source.url; if (callback) { let historyEntry = new HistoryModule.HistoryEntry(null, 'reddit', imageDownloadUrl); - historyEntry.source.sourceUrl = 'https://www.reddit.com/' + submission.permalink; + historyEntry.source.sourceUrl = 'https://www.reddit.com/' + submission.permalink; callback(historyEntry); } } catch (e) {