store validation result, return in API
This commit is contained in:
parent
b4add20d10
commit
74d74d95a1
|
@ -233,11 +233,14 @@ List of valid task names:
|
||||||
|
|
||||||
|
|
||||||
## Cookie View
|
## Cookie View
|
||||||
Check your youtube cookie settings
|
Check your youtube cookie settings, *status* turns to `true` if cookie has been validated.
|
||||||
GET /api/cookie/
|
GET /api/cookie/
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"cookie_enabled": true
|
"cookie_enabled": true,
|
||||||
|
"status": true,
|
||||||
|
"validated": <timestamp>,
|
||||||
|
"validated_str": "timestamp"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -488,9 +488,11 @@ class CookieView(ApiBaseView):
|
||||||
"""handle get request"""
|
"""handle get request"""
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument
|
||||||
config = AppConfig().config
|
config = AppConfig().config
|
||||||
cookie_enabled = config["downloads"]["cookie_import"]
|
valid = RedisArchivist().get_message("cookie:valid")
|
||||||
|
response = {"cookie_enabled": config["downloads"]["cookie_import"]}
|
||||||
|
response.update(valid)
|
||||||
|
|
||||||
return Response({"cookie_enabled": cookie_enabled})
|
return Response(response)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def post(request):
|
def post(request):
|
||||||
|
|
|
@ -5,6 +5,7 @@ functionality:
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
from datetime import datetime
|
||||||
from http import cookiejar
|
from http import cookiejar
|
||||||
from io import StringIO
|
from io import StringIO
|
||||||
|
|
||||||
|
@ -115,7 +116,8 @@ class CookieHandler:
|
||||||
"extract_flat": True,
|
"extract_flat": True,
|
||||||
}
|
}
|
||||||
validator = YtWrap(obs_request, self.config)
|
validator = YtWrap(obs_request, self.config)
|
||||||
response = validator.extract("LL")
|
response = bool(validator.extract("LL"))
|
||||||
|
self.store_validation(response)
|
||||||
|
|
||||||
# update in redis to avoid expiring
|
# update in redis to avoid expiring
|
||||||
modified = validator.obs["cookiefile"].getvalue()
|
modified = validator.obs["cookiefile"].getvalue()
|
||||||
|
@ -134,4 +136,15 @@ class CookieHandler:
|
||||||
)
|
)
|
||||||
print("cookie validation failed, exiting...")
|
print("cookie validation failed, exiting...")
|
||||||
|
|
||||||
return bool(response)
|
return response
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def store_validation(response):
|
||||||
|
"""remember last validation"""
|
||||||
|
now = datetime.now()
|
||||||
|
message = {
|
||||||
|
"status": response,
|
||||||
|
"validated": int(now.strftime("%s")),
|
||||||
|
"validated_str": now.strftime("%Y-%m-%d %H:%M"),
|
||||||
|
}
|
||||||
|
RedisArchivist().set_message("cookie:valid", message)
|
||||||
|
|
Loading…
Reference in New Issue