Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
S slapos.recipe.template
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • nexedi
  • slapos.recipe.template
  • Merge requests
  • !9

Merged
Created Oct 30, 2023 by Kirill Smelkov@kirrOwner

jinja2: Fix zc.buildout related import

  • Overview 4
  • Commits 1
  • Changes 1

jinja2_template imports zc.buildout, but uses zc.buildout.buildout (note the double .buildout). As the result, when tried to use in standalone mode, importing slapos.recipe.template.jinja2_template fails:

In [1]: import slapos.recipe.template.jinja2_template
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[1], line 1
----> 1 import slapos.recipe.template.jinja2_template

File ~/src/wendelin/slapos/slapos.recipe.template/slapos/recipe/template/jinja2_template.py:56
     53     raise AssertionError(*args)
     54 DEFAULT_CONTEXT['assert'] = _assert
---> 56 _buildout_safe_dumps = getattr(zc.buildout.buildout, 'dumps', None)
     57 DUMPS_KEY = 'dumps'
     58 DEFAULT_IMPORT_DELIMITER = '/'

AttributeError: module 'zc.buildout' has no attribute 'buildout'

That happens because zc.buildout is just a package and does not import anything from its submodules:

https://lab.nexedi.com/nexedi/slapos.buildout/blob/e9c39301/src/zc/buildout/__init__.py

So the correct way of importing is, thus, import zc.buildout.buildout.

-> Fix it.

The bug was there since 65cd02ec (Add jinja2-based template recipe entry.)

/cc @vpelletier, @jerome

Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: y/j2-fix-import
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7