mirror of
https://github.com/copier-org/copier.git
synced 2025-05-05 23:42:55 +00:00
30 lines
687 B
Python
30 lines
687 B
Python
import filecmp
|
|
import os
|
|
from hashlib import sha1
|
|
from pathlib import Path
|
|
|
|
from .. import copier
|
|
|
|
PROJECT_TEMPLATE = Path(__file__).parent / "demo"
|
|
|
|
DATA = {
|
|
"py3": True,
|
|
"make_secret": lambda: sha1(os.urandom(48)).hexdigest(),
|
|
"myvar": "awesome",
|
|
"what": "world",
|
|
"project_name": "Copier",
|
|
"version": "2.0.0",
|
|
"description": "A library for rendering projects templates",
|
|
}
|
|
|
|
|
|
def render(dst, **kwargs):
|
|
kwargs.setdefault("quiet", True)
|
|
copier.copy(str(PROJECT_TEMPLATE), dst, data=DATA, **kwargs)
|
|
|
|
|
|
def assert_file(dst, *path):
|
|
p1 = os.path.join(str(dst), *path)
|
|
p2 = os.path.join(str(PROJECT_TEMPLATE), *path)
|
|
assert filecmp.cmp(p1, p2)
|