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
				
			
		
							
								
								
									
										8
									
								
								scripts/external/processor.js
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								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 product from "/scripts/product.js"; | ||||
| import injection from "/scripts/GUI/entrypoints/inject.js" | ||||
| import {global} from "/scripts/secretariat.js"; | ||||
| 
 | ||||
| export default class processor { | ||||
| 	#filter;  | ||||
|  | @ -23,13 +24,18 @@ export default class processor { | |||
| 	constructor (filter) { | ||||
| 		this.#filter = filter; | ||||
| 
 | ||||
| 		this.notify(); | ||||
| 
 | ||||
| 		this.targets = this.#filter[`data`]; | ||||
| 		this.scrape(); | ||||
| 
 | ||||
| 		if ((this.data) ? (((typeof (this.data)).includes(`obj`) && !Array.isArray(this.data)) ? Object.keys(this.data) : this.data) : false) { | ||||
| 			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.
 | ||||
| 		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.
 | ||||
| 		this.status = {}; | ||||
| 		this.status[`update`] = !(await (compare([`sites`, this.URL, `snip`], this.#snip))); | ||||
|  | @ -70,6 +67,8 @@ export default class product { | |||
| 	}; | ||||
| 
 | ||||
| 	async analyze() { | ||||
| 		console.log(`run`, this[`analysis`], this.status ? (!this.status.update) : false); | ||||
| 
 | ||||
| 		// Stop when the data is already analyzed.
 | ||||
| 		if (this[`analysis`]) {return(this.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))}); | ||||
| 
 | ||||
| 			try { | ||||
| 				 | ||||
| 				// Run the analysis.
 | ||||
| 				await analyzer.generate(PROMPT); | ||||
| 	 | ||||
| 				console.log(`done`, analyzer.blocked); | ||||
| 
 | ||||
| 				// Raise an error if the product analysis is blocked. 
 | ||||
| 				if (analyzer.blocked) { | ||||
| 					throw new Error((new texts(`error_msg_blocked`)).localized) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue