fix:修复动漫花园订阅地址非https的问题
update:手动rss下载,同时跳过下一次自动订阅下载
This commit is contained in:
parent
15e32c9b00
commit
584779cc13
@ -1,5 +1,6 @@
|
|||||||
package com.yutou.nas.Controllers;
|
package com.yutou.nas.Controllers;
|
||||||
|
|
||||||
|
import com.yutou.nas.Services.IBangumiService;
|
||||||
import com.yutou.nas.utils.AnimRssManager;
|
import com.yutou.nas.utils.AnimRssManager;
|
||||||
import com.yutou.nas.utils.BTDownloadManager;
|
import com.yutou.nas.utils.BTDownloadManager;
|
||||||
import com.yutou.nas.utils.DmhyRssDownloadManager;
|
import com.yutou.nas.utils.DmhyRssDownloadManager;
|
||||||
@ -8,8 +9,12 @@ import org.springframework.stereotype.Controller;
|
|||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
@Controller
|
@Controller
|
||||||
public class BTDownloadController {
|
public class BTDownloadController {
|
||||||
|
@Resource
|
||||||
|
IBangumiService bangumiService;
|
||||||
|
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
@RequestMapping("/bt/down.do")
|
@RequestMapping("/bt/down.do")
|
||||||
@ -25,4 +30,11 @@ public class BTDownloadController {
|
|||||||
BTDownloadManager.done(id,name);
|
BTDownloadManager.done(id,name);
|
||||||
return "ok";
|
return "ok";
|
||||||
}
|
}
|
||||||
|
@ResponseBody
|
||||||
|
@RequestMapping("/bt/download.do")
|
||||||
|
public String download(int id,boolean isDownloadNext,String url){
|
||||||
|
Log.i("跳过下载","手动下载 id = " + id + ", isDownloadNext = " + isDownloadNext + ", url = " + url);
|
||||||
|
bangumiService.download(id,isDownloadNext,url);
|
||||||
|
return "1";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,4 +6,6 @@ import java.util.List;
|
|||||||
|
|
||||||
public interface IBangumiService {
|
public interface IBangumiService {
|
||||||
List<BangumiItem> getAllBangumi();
|
List<BangumiItem> getAllBangumi();
|
||||||
|
|
||||||
|
void download(int id,boolean isDownloadNext, String url);
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,9 @@ import com.yutou.nas.Services.IBangumiService;
|
|||||||
import com.yutou.nas.mybatis.dao.BangumiItemDao;
|
import com.yutou.nas.mybatis.dao.BangumiItemDao;
|
||||||
import com.yutou.nas.mybatis.model.BangumiItem;
|
import com.yutou.nas.mybatis.model.BangumiItem;
|
||||||
import com.yutou.nas.mybatis.model.BangumiItemExample;
|
import com.yutou.nas.mybatis.model.BangumiItemExample;
|
||||||
|
import com.yutou.nas.utils.BTDownloadManager;
|
||||||
|
import com.yutou.nas.utils.Log;
|
||||||
|
import com.yutou.nas.utils.RedisTools;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@ -19,4 +22,16 @@ public class BangumiServiceImpl implements IBangumiService {
|
|||||||
example.createCriteria().andEnableEqualTo(1);
|
example.createCriteria().andEnableEqualTo(1);
|
||||||
return itemDao.selectByExample(example);
|
return itemDao.selectByExample(example);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void download(int id,boolean isDownloadNext, String url) {
|
||||||
|
BangumiItem item = itemDao.selectByPrimaryKey(id);
|
||||||
|
if(item!=null){
|
||||||
|
BTDownloadManager.download(item.getTitle(),url);
|
||||||
|
if(!isDownloadNext){
|
||||||
|
Log.i("跳过下载","确定跳过:"+item.getTitle()+"的下载,id = "+item.getId());
|
||||||
|
RedisTools.set(item.getId()+"","next");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,22 @@ import java.util.concurrent.TimeUnit;
|
|||||||
public class BTDownloadManager {
|
public class BTDownloadManager {
|
||||||
protected static final String DownloadHomePath = "/media/yutou/disk_lvm/public/download/";
|
protected static final String DownloadHomePath = "/media/yutou/disk_lvm/public/download/";
|
||||||
|
|
||||||
|
public synchronized static boolean skipDownload(String title, JSONObject json){
|
||||||
|
if ("ok".equals(json.getString("status"))) {
|
||||||
|
JSONArray items = json.getJSONArray("items");
|
||||||
|
for (Object _item : items) {
|
||||||
|
JSONObject item = (JSONObject) _item;
|
||||||
|
if (!isDownload(title, item.getString("title"))) {
|
||||||
|
JSONArray array = getDownload(title);
|
||||||
|
array.add(item.getString("title"));
|
||||||
|
RedisTools.set(title, array.toJSONString());
|
||||||
|
Log.i("跳过下载",title);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
public synchronized static void download(String title, JSONObject json) {
|
public synchronized static void download(String title, JSONObject json) {
|
||||||
if ("ok".equals(json.getString("status"))) {
|
if ("ok".equals(json.getString("status"))) {
|
||||||
JSONArray items = json.getJSONArray("items");
|
JSONArray items = json.getJSONArray("items");
|
||||||
@ -52,7 +68,7 @@ public class BTDownloadManager {
|
|||||||
//RedisTools.set(item.getString("title"),url);
|
//RedisTools.set(item.getString("title"),url);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean download(String title, String url) {
|
public static boolean download(String title, String url) {
|
||||||
try {
|
try {
|
||||||
String exec = String.format("transmission-remote -n yutou:34864394 -w \"%sanim/%s\" -a \"%s\" --torrent-done-script \"/home/yutou/public/servier/btDone.sh\""
|
String exec = String.format("transmission-remote -n yutou:34864394 -w \"%sanim/%s\" -a \"%s\" --torrent-done-script \"/home/yutou/public/servier/btDone.sh\""
|
||||||
, DownloadHomePath
|
, DownloadHomePath
|
||||||
@ -71,7 +87,7 @@ public class BTDownloadManager {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static JSONArray getDownload(String title) {
|
private static JSONArray getDownload(String title) {
|
||||||
String _title = RedisTools.get(title);
|
String _title = RedisTools.get(title);
|
||||||
if (StringUtils.isEmpty(_title)) {
|
if (StringUtils.isEmpty(_title)) {
|
||||||
return new JSONArray();
|
return new JSONArray();
|
||||||
@ -114,7 +130,6 @@ public class BTDownloadManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static void grep(String remoteLocation, String remoteName) {
|
private static void grep(String remoteLocation, String remoteName) {
|
||||||
System.out.println("remoteName = " + remoteName.contains("265"));
|
|
||||||
if(remoteName.contains("265")){
|
if(remoteName.contains("265")){
|
||||||
String newName=remoteName.replace("265","贰陸伍");
|
String newName=remoteName.replace("265","贰陸伍");
|
||||||
String exec="mv \"" + remoteLocation + File.separator + remoteName + "\" \"" + remoteLocation + File.separator + newName+"\"";
|
String exec="mv \"" + remoteLocation + File.separator + remoteName + "\" \"" + remoteLocation + File.separator + newName+"\"";
|
||||||
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user