Immediately set the current URL even prior to analysis.
This commit is contained in:
parent
e944977cb7
commit
39f59d129d
2 changed files with 13 additions and 5 deletions
10
scripts/external/processor.js
vendored
10
scripts/external/processor.js
vendored
|
@ -5,6 +5,7 @@ Process the information on the website and display it on screen.
|
||||||
import scraper from "/scripts/external/scraper.js";
|
import scraper from "/scripts/external/scraper.js";
|
||||||
import product from "/scripts/product.js";
|
import product from "/scripts/product.js";
|
||||||
import injection from "/scripts/GUI/entrypoints/inject.js"
|
import injection from "/scripts/GUI/entrypoints/inject.js"
|
||||||
|
import {global} from "/scripts/secretariat.js";
|
||||||
|
|
||||||
export default class processor {
|
export default class processor {
|
||||||
#filter;
|
#filter;
|
||||||
|
@ -23,13 +24,18 @@ export default class processor {
|
||||||
constructor (filter) {
|
constructor (filter) {
|
||||||
this.#filter = filter;
|
this.#filter = filter;
|
||||||
|
|
||||||
|
this.notify();
|
||||||
|
|
||||||
this.targets = this.#filter[`data`];
|
this.targets = this.#filter[`data`];
|
||||||
this.scrape();
|
this.scrape();
|
||||||
|
|
||||||
if ((this.data) ? (((typeof (this.data)).includes(`obj`) && !Array.isArray(this.data)) ? Object.keys(this.data) : this.data) : false) {
|
if ((this.data) ? (((typeof (this.data)).includes(`obj`) && !Array.isArray(this.data)) ? Object.keys(this.data) : this.data) : false) {
|
||||||
this.analyze();
|
this.analyze();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async notify () {
|
||||||
|
// Indicate that this is the last updated.
|
||||||
|
await global.write([`last`], this.URL, -1);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -43,9 +43,6 @@ export default class product {
|
||||||
// Add the data digest.
|
// Add the data digest.
|
||||||
this.#snip = (await hash.digest(this.details, {"output": "Array"}));
|
this.#snip = (await hash.digest(this.details, {"output": "Array"}));
|
||||||
|
|
||||||
// Indicate that this is the last updated.
|
|
||||||
await session.write([`last`], this.URL);
|
|
||||||
|
|
||||||
// Add the status about this data.
|
// Add the status about this data.
|
||||||
this.status = {};
|
this.status = {};
|
||||||
this.status[`update`] = !(await (compare([`sites`, this.URL, `snip`], this.#snip)));
|
this.status[`update`] = !(await (compare([`sites`, this.URL, `snip`], this.#snip)));
|
||||||
|
@ -70,6 +67,8 @@ export default class product {
|
||||||
};
|
};
|
||||||
|
|
||||||
async analyze() {
|
async analyze() {
|
||||||
|
console.log(`run`, this[`analysis`], this.status ? (!this.status.update) : false);
|
||||||
|
|
||||||
// Stop when the data is already analyzed.
|
// Stop when the data is already analyzed.
|
||||||
if (this[`analysis`]) {return(this.analysis)}
|
if (this[`analysis`]) {return(this.analysis)}
|
||||||
else if (this.status ? (!this.status.update) : false) {this.analysis = await global.read([`sites`, this.URL, `analysis`]);}
|
else if (this.status ? (!this.status.update) : false) {this.analysis = await global.read([`sites`, this.URL, `analysis`]);}
|
||||||
|
@ -85,9 +84,12 @@ export default class product {
|
||||||
PROMPT.push({"text": ((new texts(`AI_message_prompt`)).localized).concat(JSON.stringify(this.details))});
|
PROMPT.push({"text": ((new texts(`AI_message_prompt`)).localized).concat(JSON.stringify(this.details))});
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
// Run the analysis.
|
// Run the analysis.
|
||||||
await analyzer.generate(PROMPT);
|
await analyzer.generate(PROMPT);
|
||||||
|
|
||||||
|
console.log(`done`, analyzer.blocked);
|
||||||
|
|
||||||
// Raise an error if the product analysis is blocked.
|
// Raise an error if the product analysis is blocked.
|
||||||
if (analyzer.blocked) {
|
if (analyzer.blocked) {
|
||||||
throw new Error((new texts(`error_msg_blocked`)).localized)
|
throw new Error((new texts(`error_msg_blocked`)).localized)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue