123456789101112131415161718192021222324252627282930313233343536373839 |
- from datetime import datetime
- from django.urls.base import reverse
- import zoneinfo
-
-
- def params(**kwargs):
- params = "&".join([f"{key}" + ("" if kwargs[key] is None else f"={kwargs[key]}") for key in kwargs])
- if len(params) > 0:
- params = "?" + params
- return params
-
-
- def url_page(request, rel_path, **kwargs):
- return reverse('page-page', kwargs={'rel_path': rel_path}) + params(**kwargs)
-
-
- def url_helpview(request, page):
- return reverse('page-helpview', kwargs={'page': page})
-
-
- def url_edit(request, rel_path, **kwargs):
- return reverse('page-edit', kwargs={'rel_path': rel_path}) + params(**kwargs)
-
-
- def get_search_query(request):
- return request.GET.get('q')
-
-
- def timestamp_to_datetime(request, tm):
- from users.models import get_userprofile
- #
- try:
- up = get_userprofile(request.user)
- except AttributeError:
- return datetime.fromtimestamp(tm)
- else:
- tz = zoneinfo.ZoneInfo(up.timezone)
- #
- return datetime.fromtimestamp(tm, tz)
|