15 lines
530 B
Python
15 lines
530 B
Python
from lektor import datamodel
|
|
from typing import TYPE_CHECKING, Any
|
|
if TYPE_CHECKING:
|
|
from lektor.db import Record
|
|
|
|
|
|
class PaginationConfig(datamodel.PaginationConfig):
|
|
# because original method does not work for virtual sources.
|
|
@staticmethod
|
|
def get_record_for_page(source: 'Record', page_num: int) -> Any:
|
|
for_page = getattr(source, '__for_page__', None)
|
|
if callable(for_page):
|
|
return for_page(page_num)
|
|
return datamodel.PaginationConfig.get_record_for_page(source, page_num)
|