Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
pystache_custom
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenEdx
pystache_custom
Commits
64e2fe30
Commit
64e2fe30
authored
Apr 25, 2012
by
Chris Jerdonek
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Started implementing dot notation.
parent
29ac86c0
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
24 additions
and
6 deletions
+24
-6
pystache/context.py
+24
-6
No files found.
pystache/context.py
View file @
64e2fe30
...
...
@@ -61,22 +61,40 @@ def _get_value(item, key):
# TODO: add some unit tests for this.
def
resolve
(
context
,
name
):
def
resolve
(
context
_stack
,
name
):
"""
Resolve
the given name against the given
context stack.
Resolve
a name against a
context stack.
This function follows the rules outlined in the section of the spec
regarding tag interpolation.
Arguments:
context_stack: a ContextStack instance.
This function does not coerce the return value to a string.
"""
if
name
==
'.'
:
return
context
.
top
()
return
context_stack
.
top
()
parts
=
name
.
split
(
'.'
)
value
=
context_stack
.
get
(
parts
[
0
],
_NOT_FOUND
)
for
part
in
parts
[
1
:]:
# TODO: use EAFP here instead.
# http://docs.python.org/glossary.html#term-eafp
if
value
is
_NOT_FOUND
:
break
value
=
_get_value
(
value
,
part
)
# The spec says that if name resolution fails at any point, the result
# should be considered falsey, and should interpolate as the empty string.
if
value
is
_NOT_FOUND
:
return
''
# The spec says that if the name fails resolution, the result should be
# considered falsey, and should interpolate as the empty string.
return
context
.
get
(
name
,
''
)
return
value
class
ContextStack
(
object
):
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment