fix(feed): fix feed build
This commit is contained in:
36
src/app/feed.js
Normal file
36
src/app/feed.js
Normal file
@ -0,0 +1,36 @@
|
||||
import React, { Component } from 'react';
|
||||
import TorrentLine from './torrent'
|
||||
import {List} from 'material-ui/List';
|
||||
import Divider from 'material-ui/Divider';
|
||||
import Subheader from 'material-ui/Subheader';
|
||||
|
||||
export default class RecentTorrents extends Component {
|
||||
constructor() {
|
||||
super()
|
||||
this.torrents = [];
|
||||
}
|
||||
componentDidMount() {
|
||||
window.torrentSocket.emit('feed', window.customLoader((data) => {
|
||||
if(data) {
|
||||
this.torrents = data;
|
||||
console.log(data)
|
||||
this.forceUpdate();
|
||||
}
|
||||
}))
|
||||
}
|
||||
render() {
|
||||
return (
|
||||
<List className='animated torrents-container'>
|
||||
<Subheader className='recent-title' inset={true}>
|
||||
{__('Feed')}
|
||||
</Subheader>
|
||||
<Divider />
|
||||
{
|
||||
this.torrents.map((torrent, index) =>{
|
||||
return <TorrentLine key={index} torrent={torrent} />;
|
||||
})
|
||||
}
|
||||
</List>
|
||||
);
|
||||
}
|
||||
}
|
@ -3,7 +3,6 @@ const forBigTable = require('./forBigTable')
|
||||
const compareVersions = require('compare-versions');
|
||||
const getTorrent = require('./gettorrent')
|
||||
const _ = require('lodash')
|
||||
const Feed = require('./feed')
|
||||
|
||||
module.exports = async ({
|
||||
sphinx,
|
||||
@ -19,7 +18,8 @@ module.exports = async ({
|
||||
insertTorrentToDB,
|
||||
removeTorrentFromDB,
|
||||
checkTorrent,
|
||||
p2pStore
|
||||
p2pStore,
|
||||
feed
|
||||
}) => {
|
||||
let torrentClientHashMap = {}
|
||||
|
||||
@ -737,12 +737,8 @@ module.exports = async ({
|
||||
|
||||
});
|
||||
|
||||
const feed = new Feed({sphinx})
|
||||
await feed.load()
|
||||
feed.clear()
|
||||
setInterval(() => feed.save(), 10000)
|
||||
|
||||
// store torrent to feed
|
||||
await feed.load()
|
||||
p2pStore.on('store', async ({data: record, temp}) => {
|
||||
if(!temp || !temp.torrent)
|
||||
return
|
||||
|
@ -3,9 +3,13 @@ module.exports = class Feed {
|
||||
{
|
||||
this.feed = []
|
||||
this.sphinx = sphinx
|
||||
this.loaded = false
|
||||
}
|
||||
|
||||
async save() {
|
||||
if(!this.loaded)
|
||||
return // feed not loaded on begining, ignore saving
|
||||
|
||||
console.log('saving feed')
|
||||
await this.sphinx.query('delete from feed where id > 0')
|
||||
let id = 0
|
||||
@ -24,10 +28,13 @@ module.exports = class Feed {
|
||||
this.feed = []
|
||||
|
||||
this._order()
|
||||
this.loaded = true
|
||||
console.log('lodead feed')
|
||||
}
|
||||
|
||||
clear()
|
||||
{
|
||||
console.log('clearing feed')
|
||||
this.feed = []
|
||||
}
|
||||
|
||||
|
@ -11,6 +11,7 @@ const stun = require('stun')
|
||||
const natUpnp = require('nat-upnp');
|
||||
const http = require('https')
|
||||
const API = require('./api')
|
||||
const Feed = require('./feed')
|
||||
//var sm = require('sitemap');
|
||||
//var phantomjs = require('phantomjs-prebuilt')
|
||||
//const disk = require('diskusage');
|
||||
@ -699,6 +700,10 @@ spider.on('peer', (IPs) => {
|
||||
IPs.forEach(ip => p2p.add(ip))
|
||||
})
|
||||
|
||||
// feed
|
||||
const feed = new Feed({sphinx})
|
||||
// load inside api
|
||||
|
||||
// setup api
|
||||
API({
|
||||
sphinx,
|
||||
@ -714,7 +719,8 @@ API({
|
||||
insertTorrentToDB,
|
||||
removeTorrentFromDB,
|
||||
checkTorrent,
|
||||
p2pStore
|
||||
p2pStore,
|
||||
feed
|
||||
})
|
||||
|
||||
if(config.indexer) {
|
||||
@ -744,6 +750,9 @@ this.stop = async (callback) => {
|
||||
console.log('closing p2p...')
|
||||
p2p.close()
|
||||
|
||||
// save feed
|
||||
await feed.save()
|
||||
|
||||
// safe future peers
|
||||
if(dataDirectory)
|
||||
{
|
||||
|
Reference in New Issue
Block a user