Using and Mastering Cookiecutter Transcripts
Chapter: Advanced Cookiecutter usage
Lecture: Instant replays
Login or
purchase this course
to watch this video and the rest of the course contents.
0:01
Now sometimes when you're working, you want to replay exactly what you just entered, this is common if you're doing sort of template generation,
0:12
like if you're building a template for your own project, or maybe even from continuous integration, so let's go over here
0:17
and just look really quick at this, notice that it's the bottle, the cookiecutter for creating bottle, blah, blah, blah, right,
0:24
so this was passed to this template, right, the name of here and all sorts of stuff, my name and so on, so let's erase this, and do one more time,
0:33
we're going to create it just as before, but instead of doing any of this stuff, we're going to say --replay hit enter, and boom, done,
0:44
if we go back over here, we now have the Bottle, if we look at this, we can see "The Bottle" like that and we have the_bottle typed like this.
0:57
Those are exactly the values that we passed in, so what you can do is that you can run a template and it may have some interesting questions
1:04
it was going to ask you, and we can just say --replay and it's going to store that somewhere.
1:10
The question is where is this stored, well, if we look here, we now have two cookiecutters we have a ~/.cookiecutter and a ~/.cookiecutter_replay,
1:20
we look in there, there is a cookiecutter-bottle.json, alright, so let's just look and see what's in there.
1:27
And notice, we have cookiecutter full_name is Michael Kennedy, those three came from our defaults,
1:34
I mean, we entered them into the system, but those came from the defaults. This one and that one we passed on the command line
1:42
and this one was just the default out of the template and so it's stored with the final results set of all the values passed to the template
1:49
before it ran it, in this file, right, so you can on a per template type bases always do cookiecutter cookiecutter-the-thing --replay
1:59
and it's going to do that same this, so for example, on some sort of continuous integration thing,
2:05
you could run this once and then it will store this value or technically you could little adjust create this file,
2:11
and put it in the right place and then those values will be used regardless of what gets put in the template.
2:16
This is also super useful if you're developing your own template, you want to type in something under certain circumstances,
2:22
see what is generated, oh it didn't come out right, go make it edit, rerun it --replay make an edit, rerun it --replay you'll get the hang of it.