diff --git a/src/app/images/strategies/nyaa.jpg b/src/app/images/strategies/nyaa.jpg
new file mode 100644
index 0000000..5c492d4
Binary files /dev/null and b/src/app/images/strategies/nyaa.jpg differ
diff --git a/src/app/images/strategies/rutracker.png b/src/app/images/strategies/rutracker.png
new file mode 100644
index 0000000..dbbbd59
Binary files /dev/null and b/src/app/images/strategies/rutracker.png differ
diff --git a/src/app/torrent.js b/src/app/torrent.js
index 0f63b9f..5d1794d 100644
--- a/src/app/torrent.js
+++ b/src/app/torrent.js
@@ -11,6 +11,9 @@ import LinearProgress from 'material-ui/LinearProgress';
let rating = require('./rating');
import scrollBack from './remember-scroll'
+import RutrackerIcon from './images/strategies/rutracker.png'
+import NyaaIcon from './images/strategies/nyaa.jpg'
+
const contentIcon = (type, category, fill = 'grey') => {
if(category == 'xxx')
{
@@ -250,7 +253,7 @@ export default class Torrent extends Component {
{
const torrent = this.props.torrent;
if(!torrent)
- return null // can try draw null torrent (for example on downloading not started)
+ return null // can try draw null torrent (for example on downloading not started)
let torrentRating = -1
if(torrent.good > 0 || torrent.bad > 0)
@@ -357,7 +360,14 @@ export default class Torrent extends Component {
{this.state.downloadProgress && formatBytes(this.state.downloadProgress.downloadSpeed || 0, 0)}/s
}
- }
+ }
+
+ {
+ torrent.info && torrent.info.trackers && torrent.info.trackers.includes('rutracker')
+ &&
+

+ }
+
}
diff --git a/src/background/mysql.js b/src/background/mysql.js
index 1e11b90..c830ac5 100644
--- a/src/background/mysql.js
+++ b/src/background/mysql.js
@@ -119,7 +119,7 @@ const expand = (sphinx) => {
})
sphinx.replaceValues = (table, values, options = {}, callback = () => {}) => new Promise((resolve) => {
- const {particial, key, merge, mergeCallback} = Object.assign({
+ const {particial, key, merge, mergeCallback, sphinxIndex} = Object.assign({
particial: true,
key: 'id'
}, options)
@@ -128,6 +128,10 @@ const expand = (sphinx) => {
let names = '';
let data = '';
const parseValues = (values) => {
+ if(sphinxIndex)
+ for(const k in sphinxIndex)
+ values[k] = values[sphinxIndex[k]]
+
let valuesData = ''
names = ''
for(const val in values)
diff --git a/src/background/spider.js b/src/background/spider.js
index 01b8b3d..0486006 100644
--- a/src/background/spider.js
+++ b/src/background/spider.js
@@ -116,14 +116,19 @@ module.exports = function (send, recive, dataDirectory, version, env)
return
logT('tracker', 'found', name, 'on', tracker)
- this.sphinx.replaceValues('torrents', {hash, info: data}, {particial: true, key: 'hash', merge: ['info'], mergeCallback: (n, obj) => {
- if(n != 'info')
- return
+ this.sphinx.replaceValues('torrents', {hash, info: data}, {
+ particial: true,
+ key: 'hash',
+ sphinxIndex: {nameIndex: 'name'},
+ merge: ['info'],
+ mergeCallback: (n, obj) => {
+ if(n != 'info')
+ return
- if(!obj.trackers)
- obj.trackers = []
- obj.trackers.push(name)
- obj.trackers = [...new Set(obj.trackers)]
+ if(!obj.trackers)
+ obj.trackers = []
+ obj.trackers.push(tracker)
+ obj.trackers = [...new Set(obj.trackers)]
} })
})
}
@@ -149,6 +154,7 @@ module.exports = function (send, recive, dataDirectory, version, env)
trackersChecked: row.trackersChecked ? row.trackersChecked.getTime() : undefined,
good: row.good,
bad: row.bad,
+ info: typeof row.info == 'string' && row.info.length > 0 ? JSON.parse(row.info) : undefined
}
}
diff --git a/src/background/strategies/nyaa.js b/src/background/strategies/nyaa.js
index 6f17597..fb446b1 100644
--- a/src/background/strategies/nyaa.js
+++ b/src/background/strategies/nyaa.js
@@ -14,7 +14,12 @@ module.exports = class Nyaa
async parse()
{
- let html = await fetch('https://nyaa.si/' + (this.threadId ? `view/${this.threadId}` : (this.hash ? `?q=${this.hash}` : '')))
+ let html;
+ try {
+ html = await fetch('https://nyaa.si/' + (this.threadId ? `view/${this.threadId}` : (this.hash ? `?q=${this.hash}` : '')))
+ } catch(err) {
+ return
+ }
if(!html)
return
html = await html.text()
diff --git a/src/background/strategies/rutracker.js b/src/background/strategies/rutracker.js
index 79d4a94..f96534b 100644
--- a/src/background/strategies/rutracker.js
+++ b/src/background/strategies/rutracker.js
@@ -14,7 +14,12 @@ module.exports = class Rutracker
async parse()
{
- let html = await fetch('https://rutracker.org/forum/viewtopic.php?' + (this.threadId ? `t=${this.threadId}` : (this.hash ? `h=${this.hash}` : '')))
+ let html;
+ try {
+ html = await fetch('https://rutracker.org/forum/viewtopic.php?' + (this.threadId ? `t=${this.threadId}` : (this.hash ? `h=${this.hash}` : '')))
+ } catch(err) {
+ return
+ }
if(!html)
return
html = await html.text()