Локализация отображения дат [closes #35]
parent
aa103b5382
commit
95c18e3e3f
|
@ -1,8 +1,15 @@
|
|||
from babel import dates
|
||||
from datetime import date
|
||||
|
||||
from pyramid.events import subscriber
|
||||
from pyramid.events import BeforeRender
|
||||
|
||||
|
||||
@subscriber(BeforeRender)
|
||||
def add_global(event):
|
||||
import datetime
|
||||
event['datetime'] = datetime
|
||||
dates.LC_TIME = event['request'].locale_name
|
||||
event['globals'] = {
|
||||
'format_date': dates.format_date,
|
||||
'format_datetime': dates.format_datetime,
|
||||
'today': date.today(),
|
||||
}
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
<a href="{{item[0]}}" class="btn btn-primary">Читать</a>
|
||||
</div>
|
||||
<div class="card-footer"><small class=text-muted">
|
||||
Опубликовано {{item[1].page['published']}}
|
||||
{%- if item[1].page['updated'] %}, обновлено {{item[1].page['updated']}}{% endif %}
|
||||
Опубликовано {{globals.format_date(item[1].page['published'], format='long')}}
|
||||
{%- if item[1].page['updated'] %}, обновлено {{globals.format_date(item[1].page['updated'], format='long')}}{% endif %}
|
||||
</small></div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
|
|
@ -56,8 +56,8 @@
|
|||
<h1 class="page-title">{{title}}</h1>
|
||||
{%- if description %}<p class="page-lead">{{description}}</p>{% endif %}
|
||||
<div class="row">
|
||||
{%- if published %}<p class="col-6 col-sm-4 col-md-3"><i class="fas fa-calendar-day"></i> {{published}}</p>{% endif %}
|
||||
{%- if updated %}<p class="col-6 col-sm-4 col-md-3"><i class="fas fa-edit"></i> {{updated}}</p>{% endif %}
|
||||
{%- if published %}<p class="col-6 col-sm-4 col-md-3"><i class="fas fa-calendar-day"></i> {{globals.format_date(published, format='long')}}</p>{% endif %}
|
||||
{%- if updated %}<p class="col-6 col-sm-4 col-md-3"><i class="fas fa-edit"></i> {{globals.format_date(updated, format='long')}}</p>{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
import pytest
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def fake_request():
|
||||
from pyramid.testing import DummyRequest
|
||||
return DummyRequest()
|
||||
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
def test_globals(fake_request):
|
||||
from flatfilecms.events import add_global
|
||||
event = {'request': fake_request}
|
||||
add_global(event)
|
||||
assert 'globals' in event
|
||||
assert 'format_date' in event['globals']
|
||||
assert 'format_datetime' in event['globals']
|
|
@ -15,12 +15,6 @@ def pages(current_directory):
|
|||
str(current_directory / 'data'))
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def fake_request():
|
||||
from pyramid.testing import DummyRequest
|
||||
return DummyRequest()
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def config(current_directory):
|
||||
from pyramid.testing import testConfig
|
||||
|
|
Reference in New Issue