Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support comprehensions inside functions when use strict_undefined flag. #386

Closed
wants to merge 2 commits into from

Conversation

cocolato
Copy link
Contributor

@cocolato cocolato commented Feb 1, 2024

Fixes: #320

Now the test code works as expected if strict_undefined is set to true:

from mako.template import Template

text = """
<%
    mydict = { 'foo': 1 }

    ## Uncomment the following line to workaround the error
    ##k = None
    def getkeys(x):
        return [ k for k in x.keys() ]
%>

${ ','.join( getkeys(mydict) ) }
"""

tmpl = Template(text=text, strict_undefined=True)
out = tmpl.render()
print(out)

output:




foo

@zzzeek
Copy link
Member

zzzeek commented Feb 1, 2024

wow I dig this, you're into mako now. great let's run the CI

Copy link
Collaborator

@sqla-tester sqla-tester left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, this is sqla-tester setting up my work on behalf of zzzeek to try to get revision daffd38 of this pull request into gerrit so we can run tests and reviews and stuff

@sqla-tester
Copy link
Collaborator

New Gerrit review created for change daffd38: https://gerrit.sqlalchemy.org/c/sqlalchemy/mako/+/5147

@zzzeek
Copy link
Member

zzzeek commented Feb 5, 2024

can you add a changelog file? thanks

Copy link
Member

@zzzeek zzzeek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is great.

it needs:

  1. a changelog file, like the other one
  2. the fixes: line:
    Fixes: #320
    Closes: #386
    Pull-request: https://github.com/sqlalchemy/mako/pull/386
    Pull-request-sha: daffd3832b4adab291625e1e6efcdb56f8d0d05e
    
    Change-Id: I0591873a83837f8f35b0963c0536df1e2675012f

@@ -1717,3 +1717,62 @@ def test_inline_percent(self):
"% foo",
"bar %% baz",
]

def test_lsitcomp_in_func_strict(self):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo

cocolato and others added 2 commits February 6, 2024 06:13
Closes: sqlalchemy#386
Pull-request: sqlalchemy#386
Pull-request-sha: 7840ad3

Change-Id: I0591873a83837f8f35b0963c0536df1e2675012f
@cocolato
Copy link
Contributor Author

cocolato commented Feb 6, 2024

All has been updated.

Copy link
Collaborator

@sqla-tester sqla-tester left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, this is sqla-tester setting up my work on behalf of zzzeek to try to get revision cc6a3e0 of this pull request into gerrit so we can run tests and reviews and stuff

@sqla-tester
Copy link
Collaborator

Patchset cc6a3e0 added to existing Gerrit review https://gerrit.sqlalchemy.org/c/sqlalchemy/mako/+/5147

@sqla-tester
Copy link
Collaborator

Michael Bayer (zzzeek) wrote:

thanks!

View this in Gerrit at https://gerrit.sqlalchemy.org/c/sqlalchemy/mako/+/5147

@sqla-tester
Copy link
Collaborator

Gerrit review https://gerrit.sqlalchemy.org/c/sqlalchemy/mako/+/5147 has been merged. Congratulations! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

strict_undefined flag is incompatible with comprehensions inside functions
3 participants