mirror of
				https://github.com/zoriya/Kyoo.git
				synced 2025-11-03 19:17:16 -05:00 
			
		
		
		
	Auto delete issues on startup
This commit is contained in:
		
							parent
							
								
									ddad768cd8
								
							
						
					
					
						commit
						ad9a59f894
					
				@ -48,6 +48,9 @@ class Scanner:
 | 
				
			|||||||
		if len(deleted) != len(self.registered):
 | 
							if len(deleted) != len(self.registered):
 | 
				
			||||||
			for x in deleted:
 | 
								for x in deleted:
 | 
				
			||||||
				await self.delete(x)
 | 
									await self.delete(x)
 | 
				
			||||||
 | 
								for x in self.issues:
 | 
				
			||||||
 | 
									if x not in videos:
 | 
				
			||||||
 | 
										await self.delete(x, "issue")
 | 
				
			||||||
		elif len(deleted) > 0:
 | 
							elif len(deleted) > 0:
 | 
				
			||||||
			logging.warning("All video files are unavailable. Check your disks.")
 | 
								logging.warning("All video files are unavailable. Check your disks.")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -260,9 +263,15 @@ class Scanner:
 | 
				
			|||||||
				return await self.post(path, data=data)
 | 
									return await self.post(path, data=data)
 | 
				
			||||||
			return ret["id"]
 | 
								return ret["id"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	async def delete(self, path: str):
 | 
						async def delete(
 | 
				
			||||||
 | 
							self,
 | 
				
			||||||
 | 
							path: str,
 | 
				
			||||||
 | 
							type: Literal["episode", "movie", "issue"] | None = None,
 | 
				
			||||||
 | 
						):
 | 
				
			||||||
		logging.info("Deleting %s", path)
 | 
							logging.info("Deleting %s", path)
 | 
				
			||||||
		self.registered = filter(lambda x: x != path, self.registered)
 | 
							self.registered = filter(lambda x: x != path, self.registered)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if type is None or type == "movie":
 | 
				
			||||||
			async with self._client.delete(
 | 
								async with self._client.delete(
 | 
				
			||||||
				f'{self._url}/movies?filter=path eq "{path}"',
 | 
									f'{self._url}/movies?filter=path eq "{path}"',
 | 
				
			||||||
				headers={"X-API-Key": self._api_key},
 | 
									headers={"X-API-Key": self._api_key},
 | 
				
			||||||
@ -271,6 +280,7 @@ class Scanner:
 | 
				
			|||||||
					logging.error(f"Request error: {await r.text()}")
 | 
										logging.error(f"Request error: {await r.text()}")
 | 
				
			||||||
					r.raise_for_status()
 | 
										r.raise_for_status()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if type is None or type == "episode":
 | 
				
			||||||
			async with self._client.delete(
 | 
								async with self._client.delete(
 | 
				
			||||||
				f'{self._url}/episodes?filter=path eq "{path}"',
 | 
									f'{self._url}/episodes?filter=path eq "{path}"',
 | 
				
			||||||
				headers={"X-API-Key": self._api_key},
 | 
									headers={"X-API-Key": self._api_key},
 | 
				
			||||||
@ -278,7 +288,9 @@ class Scanner:
 | 
				
			|||||||
				if not r.ok:
 | 
									if not r.ok:
 | 
				
			||||||
					logging.error(f"Request error: {await r.text()}")
 | 
										logging.error(f"Request error: {await r.text()}")
 | 
				
			||||||
					r.raise_for_status()
 | 
										r.raise_for_status()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if path in self.issues:
 | 
							if path in self.issues:
 | 
				
			||||||
 | 
								self.issues = filter(lambda x: x != path, self.issues)
 | 
				
			||||||
			await self._client.delete(
 | 
								await self._client.delete(
 | 
				
			||||||
				f'{self._url}/issues?filter=domain eq scanner and cause eq "{path}"',
 | 
									f'{self._url}/issues?filter=domain eq scanner and cause eq "{path}"',
 | 
				
			||||||
				headers={"X-API-Key": self._api_key},
 | 
									headers={"X-API-Key": self._api_key},
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user