drop DRF and django-filter to make django_nepkit framework‑agnostic, simplify dependencies, and align with v0.2.2 breaking change.
107 lines
2.7 KiB
Python
107 lines
2.7 KiB
Python
"""
|
|
django-nepkit: Nepali date, time, phone, currency and address helpers for
|
|
Django. Framework-agnostic — no DRF or django-filter dependency.
|
|
"""
|
|
|
|
from .conf import nepkit_settings
|
|
from .models import (
|
|
NepaliCurrencyField,
|
|
NepaliDateField,
|
|
NepaliDateTimeField,
|
|
NepaliPhoneNumberField,
|
|
NepaliTimeField,
|
|
DistrictField,
|
|
MunicipalityField,
|
|
ProvinceField,
|
|
)
|
|
from .admin import (
|
|
NepaliAdminMixin,
|
|
NepaliDateFilter,
|
|
NepaliModelAdmin,
|
|
NepaliMonthFilter,
|
|
format_nepali_date,
|
|
format_nepali_datetime,
|
|
)
|
|
from .widgets import (
|
|
DistrictSelectWidget,
|
|
MunicipalitySelectWidget,
|
|
NepaliDatePickerWidget,
|
|
NepaliTimeWidget,
|
|
ProvinceSelectWidget,
|
|
)
|
|
from .api import (
|
|
build_localized_payload,
|
|
deserialize_nepali_currency,
|
|
deserialize_nepali_date,
|
|
deserialize_nepali_datetime,
|
|
deserialize_nepali_time,
|
|
serialize_nepali_currency,
|
|
serialize_nepali_date,
|
|
serialize_nepali_datetime,
|
|
serialize_nepali_time,
|
|
to_decimal,
|
|
)
|
|
from .utils import (
|
|
BS_DATE_FORMAT,
|
|
BS_DATETIME_FORMAT,
|
|
BS_TIME_FORMAT,
|
|
english_to_nepali_unicode,
|
|
format_nepali_currency,
|
|
format_nepali_time,
|
|
normalize_address,
|
|
number_to_nepali_words,
|
|
)
|
|
|
|
# ``BS_DATE_FORMAT`` / ``BS_DATETIME_FORMAT`` / ``BS_TIME_FORMAT`` are
|
|
# re-exported via ``utils.__getattr__`` so they reflect the *current*
|
|
# ``settings.NEPKIT`` value at access time. Importing the names here
|
|
# gives users a snapshot at their import time, which is the historical
|
|
# behaviour. To get a live read, use ``nepkit_settings.BS_DATE_FORMAT``.
|
|
|
|
__all__ = [
|
|
# Settings
|
|
"nepkit_settings",
|
|
# Model fields
|
|
"NepaliDateField",
|
|
"NepaliTimeField",
|
|
"NepaliDateTimeField",
|
|
"NepaliPhoneNumberField",
|
|
"ProvinceField",
|
|
"DistrictField",
|
|
"MunicipalityField",
|
|
"NepaliCurrencyField",
|
|
# Admin
|
|
"NepaliDateFilter",
|
|
"NepaliMonthFilter",
|
|
"format_nepali_date",
|
|
"format_nepali_datetime",
|
|
"NepaliModelAdmin",
|
|
"NepaliAdminMixin",
|
|
# Widgets
|
|
"NepaliDatePickerWidget",
|
|
"NepaliTimeWidget",
|
|
"ProvinceSelectWidget",
|
|
"DistrictSelectWidget",
|
|
"MunicipalitySelectWidget",
|
|
# Framework-agnostic API helpers (use directly in any view / framework)
|
|
"build_localized_payload",
|
|
"deserialize_nepali_currency",
|
|
"deserialize_nepali_date",
|
|
"deserialize_nepali_datetime",
|
|
"deserialize_nepali_time",
|
|
"serialize_nepali_currency",
|
|
"serialize_nepali_date",
|
|
"serialize_nepali_datetime",
|
|
"serialize_nepali_time",
|
|
"to_decimal",
|
|
# Utility helpers
|
|
"BS_DATE_FORMAT",
|
|
"BS_DATETIME_FORMAT",
|
|
"BS_TIME_FORMAT",
|
|
"english_to_nepali_unicode",
|
|
"format_nepali_currency",
|
|
"format_nepali_time",
|
|
"normalize_address",
|
|
"number_to_nepali_words",
|
|
]
|