feat: add user recipe export functionality (#845)

* feat(frontend):  add user recipe export functionality

* remove depreciated folders

* change/remove depreciated folders

* add testing variable in config

* add GUID support for group_id

* improve testing feedback on 422 errors

* remove/cleanup files/folders

* initial user export support

* delete unused css

* update backup page UI

* remove depreciated settings

* feat:  export download links

* fix #813

* remove top level statements

* show footer

* add export purger to scheduler

* update purge glob

* fix meal-planner lockout

* feat:  add bulk delete/purge exports

* style(frontend): 💄 update UI for site settings

* feat:  add version checker

* update documentation

Co-authored-by: hay-kot <hay-kot@pm.me>
This commit is contained in:
Hayden
2021-12-04 14:18:46 -09:00
committed by GitHub
parent 2ce195a0d4
commit c32d7d7486
84 changed files with 1329 additions and 667 deletions

View File

@@ -0,0 +1,41 @@
import datetime
from functools import lru_cache
import requests
_LAST_RESET = None
@lru_cache(maxsize=1)
def get_latest_github_release() -> str:
"""
Gets the latest release from GitHub.
Returns:
str: The latest release from GitHub.
"""
url = "https://api.github.com/repos/hay-kot/mealie/releases/latest"
response = requests.get(url)
response.raise_for_status()
return response.json()["tag_name"]
def get_latest_version() -> str:
"""
Gets the latest release version.
Returns:
str: The latest release version.
"""
MAX_DAYS_OLD = 1 # reset cache after 1 day
global _LAST_RESET
now = datetime.datetime.now()
if not _LAST_RESET or now - _LAST_RESET > datetime.timedelta(days=MAX_DAYS_OLD):
_LAST_RESET = now
get_latest_github_release.cache_clear()
return get_latest_github_release()