mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-05-31 20:24:27 -04: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