Merging improvements.
This commit is contained in:
		
							parent
							
								
									7185c8dc08
								
							
						
					
					
						commit
						4d89256a4c
					
				|  | @ -83,6 +83,7 @@ | |||
| 					> | ||||
| 						<span class="movie-title">{{ movie.title }}</span> | ||||
| 						<img | ||||
| 							v-if="movie.covers.length > 0" | ||||
| 							:src="`/media/${movie.covers[0].thumbnail}`" | ||||
| 							class="movie-cover" | ||||
| 						> | ||||
|  |  | |||
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 1.2 MiB | 
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 6.6 KiB | 
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 806 KiB | 
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 28 KiB | 
|  | @ -891,7 +891,7 @@ const tags = [ | |||
| 	{ | ||||
| 		name: 'toys', | ||||
| 		slug: 'toys', | ||||
| 		priority: 7, | ||||
| 		priority: 6, | ||||
| 	}, | ||||
| 	{ | ||||
| 		name: 'toy anal', | ||||
|  |  | |||
|  | @ -729,6 +729,7 @@ const tagPhotos = [ | |||
| 	['creampie', 'poster', 'Alina Lopez in "Making Yourself Unforgettable" for Blacked'], | ||||
| 	['cum-drunk', 0, 'Ashly Anderson in "Rough Love" for Hookup Hotshot'], | ||||
| 	['cum-in-mouth', 3, 'Kira Noir for HardX'], | ||||
| 	['cum-in-mouth', 5, 'Emma Hix in "A Big Dick For Emma Hix" for DarkX'], | ||||
| 	['cum-in-mouth', 4, 'Vanna Bardot and Isiah Maxwell in "Vanna Craves Isiah\'s Cock!" for DarkX'], | ||||
| 	['cum-in-mouth', 2, 'Jaye Summers in "Double The Cum" for HardX'], | ||||
| 	['cum-in-mouth', 0, 'Vina Sky and Avi Love for HardX'], | ||||
|  |  | |||
							
								
								
									
										14
									
								
								src/app.js
								
								
								
								
							
							
						
						
									
										14
									
								
								src/app.js
								
								
								
								
							|  | @ -76,8 +76,8 @@ async function init() { | |||
| 		? await fetchScenes([...(sceneUrls), ...(updateBaseScenes || []), ...(actorBaseScenes || [])]) | ||||
| 		: [...(updateBaseScenes || []), ...(actorBaseScenes || [])]; | ||||
| 
 | ||||
| 	const sceneMovies = deepScenes && deepScenes.map(scene => scene.movie).filter(Boolean); | ||||
| 	const deepMovies = argv.sceneMovies && await fetchMovies([...(argv.movie || []), ...(sceneMovies || [])]); | ||||
| 	const sceneMovies = deepScenes ? deepScenes.map(scene => ({ ...scene.movie, entity: scene.entity })).filter(Boolean) : []; | ||||
| 	const deepMovies = argv.sceneMovies || argv.movie ? await fetchMovies([...(argv.movie || []), ...(sceneMovies || [])]) : sceneMovies; | ||||
| 
 | ||||
| 	const movieScenes = argv.movieScenes ? deepMovies.map(movie => movie.scenes?.map(scene => ({ ...scene, entity: movie.entity }))).flat().filter(Boolean) : []; | ||||
| 	const deepMovieScenes = argv.deep ? await fetchScenes(movieScenes) : movieScenes; | ||||
|  | @ -88,14 +88,14 @@ async function init() { | |||
| 	} | ||||
| 
 | ||||
| 	if (argv.save) { | ||||
| 		const storedScenes = deepScenes.length > 0 || deepMovieScenes.length > 0 | ||||
| 			? await storeScenes(deepScenes) | ||||
| 			: []; | ||||
| 
 | ||||
| 		if (deepMovies.length > 0) { | ||||
| 			const storedMovieScenes = await storeScenes(deepMovieScenes); | ||||
| 
 | ||||
| 			await storeMovies(deepMovies, storedMovieScenes || []); | ||||
| 		} | ||||
| 
 | ||||
| 		if (deepScenes.length > 0 || deepMovieScenes.length > 0) { | ||||
| 			await storeScenes(deepScenes || []); | ||||
| 			await storeMovies(deepMovies, [...(storedMovieScenes || []), ...storedScenes]); | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
|  |  | |||
|  | @ -203,7 +203,7 @@ function scrapeAll(html, site, networkUrl, hasTeaser = true) { | |||
| 	}); | ||||
| } | ||||
| 
 | ||||
| async function scrapeScene(html, url, site, baseRelease, mobileHtml) { | ||||
| async function scrapeScene(html, url, site, baseRelease, mobileHtml, options) { | ||||
| 	const $ = cheerio.load(html, { normalizeWhitespace: true }); | ||||
| 	const m$ = mobileHtml && cheerio.load(mobileHtml, { normalizeWhitespace: true }); | ||||
| 	const release = { $, url }; | ||||
|  | @ -261,7 +261,7 @@ async function scrapeScene(html, url, site, baseRelease, mobileHtml) { | |||
| 	const photoLink = $('.picturesItem a').attr('href'); | ||||
| 	const mobilePhotos = m$ ? m$('.preview-displayer a img').map((photoIndex, photoEl) => $(photoEl).attr('src')).toArray() : []; | ||||
| 
 | ||||
| 	if (photoLink) { | ||||
| 	if (photoLink && options.includePhotos) { | ||||
| 		const photos = await getPhotos(photoLink, site, mobilePhotos.length < 3); // only get thumbnails when less than 3 mobile photos are available
 | ||||
| 
 | ||||
| 		if (photos.length < 7) release.photos = [...photos, ...mobilePhotos]; // probably only teaser photos available, supplement with mobile album
 | ||||
|  | @ -312,7 +312,6 @@ async function scrapeScene(html, url, site, baseRelease, mobileHtml) { | |||
| 			title: movie.attr('title'), | ||||
| 			entryId: movieUrl.match(/\/(\d+)(\/|$)/)?.[1], | ||||
| 			covers: [movie.find('img').attr('src')], | ||||
| 			entity: site, | ||||
| 		}; | ||||
| 	} | ||||
| 
 | ||||
|  | @ -595,7 +594,7 @@ function getDeepUrl(url, site, baseRelease, mobile) { | |||
| 	return url; | ||||
| } | ||||
| 
 | ||||
| async function fetchScene(url, site, baseRelease) { | ||||
| async function fetchScene(url, site, baseRelease, options) { | ||||
| 	if (site.parameters?.deep === false) { | ||||
| 		return baseRelease; | ||||
| 	} | ||||
|  | @ -616,7 +615,7 @@ async function fetchScene(url, site, baseRelease) { | |||
| 
 | ||||
| 		if (res.status === 200) { | ||||
| 			const mobileBody = mobileRes?.status === 200 ? mobileRes.body.toString() : null; | ||||
| 			const scene = await scrapeScene(res.body.toString(), url, site, baseRelease, mobileBody); | ||||
| 			const scene = await scrapeScene(res.body.toString(), url, site, baseRelease, mobileBody, options); | ||||
| 
 | ||||
| 			return { ...scene, deepUrl }; | ||||
| 		} | ||||
|  |  | |||
|  | @ -339,15 +339,19 @@ async function associateMovieScenes(movies, movieScenes) { | |||
| 		}, | ||||
| 	}), {}); | ||||
| 
 | ||||
| 	console.log('movies', movies, movieScenes); | ||||
| 
 | ||||
| 	const associations = movies.map((movie) => { | ||||
| 		if (!movie.scenes) { | ||||
| 		if (!movie.scenes || !movie.id) { | ||||
| 			return null; | ||||
| 		} | ||||
| 
 | ||||
| 		console.log(movie, movie.scenes); | ||||
| 
 | ||||
| 		return movie.scenes.map((scene) => { | ||||
| 			const movieScene = movieScenesByEntityIdAndEntryId[movie.entity.id]?.[scene.entryId]; | ||||
| 
 | ||||
| 			if (movieScene) { | ||||
| 			if (movieScene?.id) { | ||||
| 				return { | ||||
| 					movie_id: movie.id, | ||||
| 					scene_id: movieScene.id, | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue