cross-seed 3.0.1 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/decide.js +39 -31
- package/dist/decide.js.map +1 -1
- package/package.json +1 -1
package/dist/decide.js
CHANGED
@@ -5,8 +5,8 @@ import { appDir } from "./configuration.js";
|
|
5
5
|
import { Decision, TORRENT_CACHE_FOLDER } from "./constants.js";
|
6
6
|
import db from "./db.js";
|
7
7
|
import { Label, logger } from "./logger.js";
|
8
|
-
import { parseTorrentFromFilename, parseTorrentFromURL } from "./torrent.js";
|
9
8
|
import { getRuntimeConfig } from "./runtimeConfig.js";
|
9
|
+
import { parseTorrentFromFilename, parseTorrentFromURL } from "./torrent.js";
|
10
10
|
const createReasonLogger = (Title, tracker, name) => (decision, cached) => {
|
11
11
|
function logReason(reason) {
|
12
12
|
logger.verbose({
|
@@ -83,6 +83,20 @@ async function getCachedTorrentFile(infoHash) {
|
|
83
83
|
function cacheTorrentFile(meta) {
|
84
84
|
writeFileSync(path.join(appDir(), TORRENT_CACHE_FOLDER, `${meta.infoHash}.cached.torrent`), parseTorrent.toTorrentFile(meta));
|
85
85
|
}
|
86
|
+
async function assessAndSaveResults(result, searchee, Guid, infoHashesToExclude) {
|
87
|
+
const assessment = await assessResultHelper(result, searchee, infoHashesToExclude);
|
88
|
+
db.data.decisions[searchee.name][Guid] = {
|
89
|
+
decision: assessment.decision,
|
90
|
+
lastSeen: Date.now(),
|
91
|
+
firstSeen: Date.now(),
|
92
|
+
};
|
93
|
+
if (assessment.decision === Decision.MATCH) {
|
94
|
+
db.data.decisions[searchee.name][Guid].infoHash =
|
95
|
+
assessment.info.infoHash;
|
96
|
+
cacheTorrentFile(assessment.info);
|
97
|
+
}
|
98
|
+
return assessment;
|
99
|
+
}
|
86
100
|
async function assessResultCaching(result, searchee, infoHashesToExclude) {
|
87
101
|
var _a;
|
88
102
|
var _b, _c;
|
@@ -91,41 +105,35 @@ async function assessResultCaching(result, searchee, infoHashesToExclude) {
|
|
91
105
|
(_a = (_b = db.data.decisions)[_c = searchee.name]) !== null && _a !== void 0 ? _a : (_b[_c] = {});
|
92
106
|
const cacheEntry = db.data.decisions[searchee.name][Guid];
|
93
107
|
let assessment;
|
94
|
-
if (cacheEntry
|
95
|
-
|
96
|
-
assessment =
|
97
|
-
logReason(
|
108
|
+
if (!(cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.decision) ||
|
109
|
+
cacheEntry.decision === Decision.DOWNLOAD_FAILED) {
|
110
|
+
assessment = await assessAndSaveResults(result, searchee, Guid, infoHashesToExclude);
|
111
|
+
logReason(assessment.decision, false);
|
98
112
|
}
|
99
|
-
else if (cacheEntry
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
assessment.decision;
|
106
|
-
}
|
107
|
-
else {
|
108
|
-
assessment = {
|
109
|
-
decision: cacheEntry.decision,
|
110
|
-
info: await getCachedTorrentFile(cacheEntry.infoHash),
|
111
|
-
};
|
112
|
-
}
|
113
|
+
else if (cacheEntry.decision === Decision.MATCH &&
|
114
|
+
infoHashesToExclude.includes(cacheEntry.infoHash)) {
|
115
|
+
// has been added since the last run
|
116
|
+
assessment = { decision: Decision.INFO_HASH_ALREADY_EXISTS };
|
117
|
+
db.data.decisions[searchee.name][Guid].decision =
|
118
|
+
Decision.INFO_HASH_ALREADY_EXISTS;
|
113
119
|
}
|
114
|
-
else
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
decision:
|
119
|
-
|
120
|
-
firstSeen: Date.now(),
|
120
|
+
else if (cacheEntry.decision === Decision.MATCH &&
|
121
|
+
existsInTorrentCache(cacheEntry.infoHash)) {
|
122
|
+
// cached match
|
123
|
+
assessment = {
|
124
|
+
decision: cacheEntry.decision,
|
125
|
+
info: await getCachedTorrentFile(cacheEntry.infoHash),
|
121
126
|
};
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
cacheTorrentFile(assessment.info);
|
126
|
-
}
|
127
|
+
}
|
128
|
+
else if (cacheEntry.decision === Decision.MATCH) {
|
129
|
+
assessment = await assessAndSaveResults(result, searchee, Guid, infoHashesToExclude);
|
127
130
|
logReason(assessment.decision, false);
|
128
131
|
}
|
132
|
+
else {
|
133
|
+
// cached rejection
|
134
|
+
assessment = { decision: cacheEntry.decision };
|
135
|
+
logReason(cacheEntry.decision, true);
|
136
|
+
}
|
129
137
|
db.data.decisions[searchee.name][Guid].lastSeen = Date.now();
|
130
138
|
db.write();
|
131
139
|
return assessment;
|
package/dist/decide.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"decide.js","sourceRoot":"","sources":["../src/decide.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC/C,OAAO,YAA0B,MAAM,eAAe,CAAC;AACvD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
1
|
+
{"version":3,"file":"decide.js","sourceRoot":"","sources":["../src/decide.ts"],"names":[],"mappings":"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"}
|