Only scraping profile source matching actor entity, changed avatar entropy cut-off from 6 to 5.5.
This commit is contained in:
		
							parent
							
								
									7f53f585c0
								
							
						
					
					
						commit
						00c06778ef
					
				|  | @ -45,7 +45,7 @@ | |||
| 
 | ||||
| <script> | ||||
| function photos() { | ||||
| 	return this.actor.photos.filter(photo => !photo.entropy || photo.entropy > 6); | ||||
| 	return this.actor.photos.filter(photo => !photo.entropy || photo.entropy > 5.5); | ||||
| } | ||||
| 
 | ||||
| function sfw() { | ||||
|  |  | |||
|  | @ -580,7 +580,7 @@ async function interpolateProfiles(actorIdsOrNames) { | |||
| 
 | ||||
| 		profile.avatar_media_id = actorProfiles | ||||
| 			.map(actorProfile => actorProfile.avatar) | ||||
| 			.filter(avatar => avatar && (avatar.entropy === null || avatar.entropy > 6)) | ||||
| 			.filter(avatar => avatar && (avatar.entropy === null || avatar.entropy > 5.5)) | ||||
| 			.sort((avatarA, avatarB) => avatarB.height - avatarA.height)[0]?.id || null; | ||||
| 
 | ||||
| 		return profile; | ||||
|  | @ -646,7 +646,9 @@ async function upsertProfiles(profiles) { | |||
| } | ||||
| 
 | ||||
| async function scrapeProfiles(actor, sources, entitiesBySlug, existingProfilesByActorEntityId) { | ||||
| 	const profiles = Promise.map(sources, async (source) => { | ||||
| 	const validSources = actor.entity ? sources.filter(source => source === actor.entity.slug) : sources; | ||||
| 
 | ||||
| 	const profiles = Promise.map(validSources, async (source) => { | ||||
| 		try { | ||||
| 			// config may group sources to try until success
 | ||||
| 			return await [].concat(source).reduce(async (outcome, scraperSlug) => outcome.catch(async () => { | ||||
|  | @ -768,9 +770,11 @@ async function scrapeActors(argNames) { | |||
| 	const [entitiesBySlug, existingActorEntries] = await Promise.all([ | ||||
| 		fetchEntitiesBySlug(entitySlugs, 'desc'), | ||||
| 		knex('actors') | ||||
| 			.select(['id', 'name', 'slug', 'entry_id']) | ||||
| 			.whereIn('slug', baseActors.map(baseActor => baseActor.slug)) | ||||
| 			.whereNull('alias_for'), | ||||
| 			.select(knex.raw('actors.id, actors.name, actors.slug, actors.entry_id, actors.entity_id, row_to_json(entities) as entity')) | ||||
| 			.whereIn('actors.slug', baseActors.map(baseActor => baseActor.slug)) | ||||
| 			.whereNull('actors.alias_for') | ||||
| 			.leftJoin('entities', 'entities.id', 'actors.entity_id') | ||||
| 			.groupBy('actors.id', 'entities.id'), | ||||
| 	]); | ||||
| 
 | ||||
| 	const existingActorEntriesBySlugAndEntryId = existingActorEntries.reduce((acc, actorEntry) => ({ | ||||
|  |  | |||
|  | @ -25,7 +25,9 @@ function logActive() { | |||
| } | ||||
| 
 | ||||
| async function init() { | ||||
| 	logActive(); | ||||
| 	if (argv.logActive) { | ||||
| 		logActive(); | ||||
| 	} | ||||
| 
 | ||||
| 	if (argv.server) { | ||||
| 		await initServer(); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue