update SrcParseS.js.

pull/1/head
src48597962 3 years ago committed by Gitee
parent d232967415
commit c4f6e9dd41
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
  1. 57
      SrcParseS.js

@ -601,7 +601,8 @@ var SrcParseS = {
myjxnum = myjxnum + 1;
}else{
if(myJXlist[j].stopfrom.indexOf(from)==-1&&excludeparse.indexOf(myJXlist[j].parse)==-1&&!Uparselist.some(item => item.parse ==myJXlist[j].parse)){
Uparselist.push({type:'myjx',name:myJXlist[j].name,parse:myJXlist[j].parse,sort:1});
let sort = myJXlist[j]['sort']||1;
Uparselist.push({type:'myjx',name:myJXlist[j].name,parse:myJXlist[j].parse,sort:sort});
//Nparselist.push(myJXlist[j].name);
myjxnum = myjxnum + 1;
}
@ -622,6 +623,7 @@ var SrcParseS = {
var dellist = [];//需从本地解析中删除列表
var appJXchange = 0;//app解析是否有发现新的或增加可解片源
var myJXchange = 0;//私有解析是否排除片源
var appzdchange = 0;//app自带解析是否加入黑名单
//断插线程代码
var dnaytmParse = function(vipUrl) {
@ -856,7 +858,7 @@ var SrcParseS = {
if(playurl==""){playurl = beurls[k];}
//记录除断插线程以外最快的,做为下次优先
if(beparses[k].type!="dn"){
if(printlog==1){log(beparses[k].name+'-解析成功>'+beurls[k])};
if(printlog==1){log(beparses[k].name+'>解析成功>'+beurls[k])};
if(isrecord==0){
if(printlog==1){log(beparses[k].name+',记录为片源'+from+'的优先')};
recordlist['parse'] = recordlist['parse']||{};
@ -891,6 +893,19 @@ var SrcParseS = {
appJXchange = 1;
if(printlog==1){log('发现新解析,自动保存,当前解析数:' + appJXlist.length)};
}
}else{
//私有解析成功的,提升一下排序
for(var j=0;j<myJXlist.length;j++){
if(parseurl==myJXlist[j].parse){
//解析成功的,排序+1
myJXlist[j]['sort'] = myJXlist[j]['sort']||0;
if(myJXlist[j].sort>0){
myJXlist[j].sort = myJXlist[j].sort - 1;
myJXchange = 1;
}
break;
}
}
}
}else{
if(printlog==1){log('当前播放地址通过断插解析获得')};
@ -928,8 +943,7 @@ var SrcParseS = {
}
//if(ismul==0){break;}
}else{
//if(printlog==1){log(beparses[k].name+'-解析失败>'+beurls[k])};
if((beparses[k].type=="apps"||beparses[k].type=="myjx")&&beparses[k].x5==0){
if(beparses[k].x5==0){
dellist.push(beparses[k])
};
}
@ -938,29 +952,40 @@ var SrcParseS = {
//失败的解析,处理
for(var p=0;p<dellist.length;p++){
/*
if(dellist[p].type=="myjx"){
for(var j=0;j<myJXlist.length;j++){
if(dellist[p].parse==myJXlist[j].parse){
//解析失败的从私有中排除片源
if(myJXlist[j].stopfrom.indexOf(from)==-1){
//解析失败的,且排序大于5次从私有中排除片源
myJXlist[j]['sort'] = myJXlist[j]['sort']||0;
myJXlist[j].sort = myJXlist[j].sort + 1;
if(printlog==1){log(myJXlist[j].name+'>私有解析失败,排序-1')};
if(myJXlist[j].sort>5 && myJXlist[j].stopfrom.indexOf(from)==-1){
myJXlist[j].stopfrom[myJXlist[j].stopfrom.length] = from;
myJXchange = 1;
if(printlog==1){log(myJXlist[j].name+'>私有解析失败大于5次,排除片源'+from)};
}
break;
}
}
}*/
}
if(dellist[p].type=="appz"){
//app自带的解析在解析失败时,直接加入黑名单
recordlist['excludeparse'] = recordlist['excludeparse']||[];
if(recordlist['excludeparse'].indexOf(dellist[p].parse)==-1){
recordlist['excludeparse'].push(dellist[p].parse);
appzdchange = 1;
}
}
if(dellist[p].type=="apps"){
for(var j=0;j<appJXlist.length;j++){
if(dellist[p].parse==appJXlist[j].parse){
//解析失败的从app本地删除
if(appJXlist[j].from.length>1){
if(printlog==1){log('发现失效解析,自动删除解析片源'+from)};
//if(printlog==1){log('发现失效app保存解析,自动删除解析片源'+from)};
removeByValue(appJXlist[j].from,from);
appJXchange = 1;
}else{
if(printlog==1){log('发现失效解析,自动删除解析')};
//if(printlog==1){log('发现失效app保存解析,自动删除解析')};
appJXlist.splice(j,1);
appJXchange = 1;
}
@ -968,12 +993,16 @@ var SrcParseS = {
}
}
}
}
//私有解析有排除片源
if(myJXchange == 1){writeFile(myJXfile, JSON.stringify(myJXlist))};
if(myJXchange == 1){writeFile(myJXfile, JSON.stringify(myJXlist));}
//app有发现或修改解析时保存本地
if(appJXchange == 1){writeFile(appJXfile, JSON.stringify(appJXlist))};
//if(printlog==1&&failedmyjx.length>0){log('本次失败的私有解析有:' + failedmyjx)};
if(appJXchange == 1){writeFile(appJXfile, JSON.stringify(appJXlist));}
//app自带解析是否加入黑名单
if(appzdchange==1){writeFile(recordfile, JSON.stringify(recordlist));}
//播放
if(playurl!=""){
if(urls.length>1){
@ -990,7 +1019,7 @@ var SrcParseS = {
}else{
if(printlog==1){
log('明码解析失败,转嗅探备用解析');
log('进入嗅探解析列表:' + x5jxlist)
log('进入嗅探解析列表:' + x5namelist)
}
return this.聚嗅(vipUrl, x5jxlist);
}

Loading…
Cancel
Save