mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-12-24 03:05:12 -05:00
* update naming * refactor tests to use shared structure * shorten names * add tools test case * refactor to support multi-tenant * set group_id on creation * initial refactor for multitenant tags/cats * spelling * additional test case for same valued resources * fix recipe update tests * apply indexes to foreign keys * fix performance regressions * handle unknown exception * utility decorator for function debugging * migrate recipe_id to UUID * GUID for recipes * remove unused import * move image functions into package * move utilities to packages dir * update import * linter * image image and asset routes * update assets and images to use UUIDs * fix migration base * image asset test coverage * use ids for categories and tag crud functions * refactor recipe organizer test suite to reduce duplication * add uuid serlization utility * organizer base router * slug routes testing and fixes * fix postgres error * adopt UUIDs * move tags, categories, and tools under "organizers" umbrella * update composite label * generate ts types * fix import error * update frontend types * fix type errors * fix postgres errors * fix #978 * add null check for title validation * add note in docs on multi-tenancy
27 lines
891 B
Python
27 lines
891 B
Python
import time
|
|
|
|
|
|
# log_lifetime is a class decorator that logs the creation and destruction of a class
|
|
# It is used to track the lifespan of a class during development or testing.
|
|
# It SHOULD NOT be used in production code.
|
|
def log_lifetime(cls):
|
|
class LifeTimeClass(cls):
|
|
def __init__(self, *args, **kwargs):
|
|
print(f"Creating an instance of {cls.__name__}") # noqa: T001
|
|
self.__lifespan_timer_start = time.perf_counter()
|
|
|
|
super().__init__(*args, **kwargs)
|
|
|
|
def __del__(self):
|
|
toc = time.perf_counter()
|
|
print(f"Downloaded the tutorial in {toc - self.__lifespan_timer_start:0.4f} seconds") # noqa: T001
|
|
|
|
print(f"Deleting an instance of {cls.__name__}") # noqa: T001
|
|
|
|
try:
|
|
super().__del__()
|
|
except AttributeError:
|
|
pass
|
|
|
|
return LifeTimeClass
|