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={'^[0-9A-Za-z.!@?#"$%&:;() *\+,\/;\-=[\\\]\^_{|}<>]+$'} primaryText="English only (With symbols)" />
|
||||
<MenuItem value={'^((?!badword).)*$'} primaryText="Ignore badword" />
|
||||
</SelectField>
|
||||
</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'}}>
|
||||
* - clean string means disabled
|
||||
</div>
|
||||
|
@ -40,6 +40,7 @@ let config = {
|
||||
filters: {
|
||||
maxFiles: 0,
|
||||
namingRegExp: '',
|
||||
namingRegExpNegative: false,
|
||||
adultFilter: false,
|
||||
},
|
||||
|
||||
|
@ -404,11 +404,16 @@ const checkTorrent = (torrent) => {
|
||||
if(nameRX && nameRX.length > 0)
|
||||
{
|
||||
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')
|
||||
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')
|
||||
|
Loading…
Reference in New Issue
Block a user