0001-template-filter-cleaning-numbers-35013.patch
tests/test_templates.py | ||
---|---|---|
522 | 522 |
lazy_formdata = LazyFormData(MockFormData()) |
523 | 523 |
tmpl = Template('{% with form_geoloc_base|reproj:"EPSG:3946" as c %}{{c.0}}/{{c.1}}{% endwith %}') |
524 | 524 |
assert tmpl.render(CompatibilityNamesDict({'form': lazy_formdata})) == '1625337.15483/5422836.71627' |
525 | ||
526 |
def test_clean_number(): |
|
527 |
tmpl = Template('{{ None|clean_number }}') |
|
528 |
assert tmpl.render() == '' |
|
529 |
tmpl = Template('{{ True|clean_number }}') |
|
530 |
assert tmpl.render() == '' |
|
531 |
tmpl = Template('{{ False|clean_number }}') |
|
532 |
assert tmpl.render() == '' |
|
533 |
tmpl = Template('{{ "a"|clean_number }}') |
|
534 |
assert tmpl.render() == '' |
|
535 |
tmpl = Template('{{ " 1 23 4 "|clean_number }}') |
|
536 |
assert tmpl.render() == '1234' |
wcs/qommon/templatetags/qommon.py | ||
---|---|---|
20 | 20 |
from decimal import DivisionByZero as DecimalDivisionByZero |
21 | 21 |
import hashlib |
22 | 22 |
import math |
23 |
import re |
|
23 | 24 |
import string |
24 | 25 |
import random |
25 | 26 | |
... | ... | |
348 | 349 |
proj = pyproj.Proj(init='EPSG:4326') |
349 | 350 |
target_proj = pyproj.Proj(init=projection_name) |
350 | 351 |
return pyproj.transform(proj, target_proj, coords['lon'], coords['lat']) |
352 | ||
353 |
@register.filter |
|
354 |
def clean_number(value): |
|
355 |
if not value: |
|
356 |
return u'' |
|
357 |
string_value = unicode(value) |
|
358 |
string_value = re.sub(r'\s', '', string_value) |
|
359 |
if not string_value.isdigit(): |
|
360 |
return u'' |
|
361 |
return string_value |
|
351 |
- |