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 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