feat(filtering): negative name filter
This commit is contained in:
parent
090a34fb87
commit
21dedba555
@ -108,8 +108,21 @@ export default class ConfigPage extends Page {
|
|||||||
>
|
>
|
||||||
<MenuItem value={String.raw`^[А-Яа-я0-9A-Za-z.!@?#"$%&:;() *\+,\/;\-=[\\\]\^_{|}<>\u0400-\u04FF]+$`} primaryText="Russian + English only (With symbols)" />
|
<MenuItem value={String.raw`^[А-Яа-я0-9A-Za-z.!@?#"$%&:;() *\+,\/;\-=[\\\]\^_{|}<>\u0400-\u04FF]+$`} primaryText="Russian + English only (With symbols)" />
|
||||||
<MenuItem value={'^[0-9A-Za-z.!@?#"$%&:;() *\+,\/;\-=[\\\]\^_{|}<>]+$'} primaryText="English only (With symbols)" />
|
<MenuItem value={'^[0-9A-Za-z.!@?#"$%&:;() *\+,\/;\-=[\\\]\^_{|}<>]+$'} primaryText="English only (With symbols)" />
|
||||||
|
<MenuItem value={'^((?!badword).)*$'} primaryText="Ignore badword" />
|
||||||
</SelectField>
|
</SelectField>
|
||||||
</div>
|
</div>
|
||||||
|
<Toggle
|
||||||
|
style={{marginTop: '10px'}}
|
||||||
|
label="Negative regular extension filtering"
|
||||||
|
toggled={this.options.filters && this.options.filters.namingRegExpNegative}
|
||||||
|
onToggle={(e, checked) => {
|
||||||
|
if(!this.options.filters)
|
||||||
|
return
|
||||||
|
|
||||||
|
this.options.filters.namingRegExpNegative = checked
|
||||||
|
this.forceUpdate()
|
||||||
|
}}
|
||||||
|
/>
|
||||||
<div className='fs0-75' style={{color: 'grey'}}>
|
<div className='fs0-75' style={{color: 'grey'}}>
|
||||||
* - clean string means disabled
|
* - clean string means disabled
|
||||||
</div>
|
</div>
|
||||||
|
@ -40,6 +40,7 @@ let config = {
|
|||||||
filters: {
|
filters: {
|
||||||
maxFiles: 0,
|
maxFiles: 0,
|
||||||
namingRegExp: '',
|
namingRegExp: '',
|
||||||
|
namingRegExpNegative: false,
|
||||||
adultFilter: false,
|
adultFilter: false,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -404,11 +404,16 @@ const checkTorrent = (torrent) => {
|
|||||||
if(nameRX && nameRX.length > 0)
|
if(nameRX && nameRX.length > 0)
|
||||||
{
|
{
|
||||||
const rx = new RegExp(nameRX)
|
const rx = new RegExp(nameRX)
|
||||||
if(!rx.test(torrent.name))
|
if(!config.filters.namingRegExpNegative && !rx.test(torrent.name))
|
||||||
{
|
{
|
||||||
console.log('ignore', torrent.name, 'by naming rx')
|
console.log('ignore', torrent.name, 'by naming rx')
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
else if(config.filters.namingRegExpNegative && rx.test(torrent.name))
|
||||||
|
{
|
||||||
|
console.log('ignore', torrent.name, 'by naming rx negative')
|
||||||
|
return false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(torrent.contentType === 'bad')
|
if(torrent.contentType === 'bad')
|
||||||
|
Loading…
Reference in New Issue
Block a user