comparison TODO.txt @ 156:a7a7c364568a

note on importing; cleanup
author Jeff Hammel <jhammel@mozilla.com>
date Thu, 04 Jul 2013 18:24:13 -0700
parents 6e08cca7d656
children ff1f41a18da9
comparison
equal deleted inserted replaced
155:386a44a52139 156:a7a7c364568a
1 = MakeItSo! TODO =
2
1 Planned features: 3 Planned features:
2 4
3 - Have a filepath or URL as the basic thing that gets "filled". (These 5 - Have a filepath or URL as the basic thing that gets "filled". (These
4 should be files, directories, entry_points, or URLs) 6 should be files, directories, entry_points, or URLs)
5 7
9 def wrap(filename, rendered_content, vars) 11 def wrap(filename, rendered_content, vars)
10 def conflict(filename, prev_content, new_content, vars) # Could do prepend here, for instance 12 def conflict(filename, prev_content, new_content, vars) # Could do prepend here, for instance
11 def some_helper_func() 13 def some_helper_func()
12 14
13 - An option to display this at the end of the run: 15 - An option to display this at the end of the run:
14 16
15 makeitso -t my/template/ var1=value var2=value 17 makeitso -t my/template/ var1=value var2=value
16 18
17 Then you can easily rerun the command 19 Then you can easily rerun the command
18 20
19 - ability to specify delimeters (both for file interpolation and 21 - ability to specify delimeters (both for file interpolation and
20 filename interpolation); normally, i'd want '${' + '}', but this 22 filename interpolation); normally, i'd want '${' + '}', but this
21 works poor with, say, bash scripts, and not having this makes it 23 works poor with, say, bash scripts, and not having this makes it
22 difficult to write templates that make other templates 24 difficult to write templates that make other templates
25 ``(This is done in tempita; can we use it?)``
26 -
23 27
24 - should be able to contain as much information as possible in a 28 - should be able to contain as much information as possible in a
25 single file. Since most often I want to give someone (possibly 29 single file. Since most often I want to give someone (possibly
26 myself) a single file to run, it would be nice to have some local 30 myself) a single file to run, it would be nice to have some local
27 maximum of the product of flexibility and legibility 31 maximum of the product of flexibility and legibility
28 32
29 - the ability to create a self-executing script from a file for easy 33 - the ability to create a self-executing script from a file for easy
30 portability 34 portability
31 35
32 - ability to find the variables used in templates; I find this 36 - ability to find the variables used in templates; I find this
33 absolutely critical. In PasteScript, this isn't there (unless you 37 absolutely critical. In PasteScript, this isn't there (unless you
34 use cheetah) and it is problematic if you want to deal with 38 use cheetah) and it is problematic if you want to deal with
35 templates programmatically. If you do allow things, like 39 templates programmatically. If you do allow things, like
36 single-file templates, then this becomes mandatory. This is to say, 40 single-file templates, then this becomes mandatory. This is to say,
37 amongst other things, there should be a command-line option that 41 amongst other things, there should be a command-line option that
38 will list the template variables. 42 will list the template variables.
39 43
40 - ability to make existing directory structures or files into 44 - ability to import templates:
41 templates 45 ability to make existing directory structures or files into
46 templates
42 47
43 - ability to use defaults (--use-defaults) when they are specified 48 - ability to use defaults (--use-defaults) when they are specified
44 49
45 - ability to save variables used in a run into a file: 50 - ability to save variables used in a run into a file:
46 51
47 makeitso --save-variables=myvars.txt mytemplate 52 makeitso --save-variables=myvars.txt mytemplate
48 53
49 - ability to have executing script files (for packaged tests or via a shebang) 54 - ability to have executing script files (for packaged tests or via a shebang)
50 55
55 60
56 - not having to name template files 'foo_tmpl'; it is better not to 61 - not having to name template files 'foo_tmpl'; it is better not to
57 munge the file extension at all and have other mechanisms for 62 munge the file extension at all and have other mechanisms for
58 denoting files to be interpolated 63 denoting files to be interpolated
59 64
60 - ability to use python in interpolation 65 - ability to use python in interpolation
61 66
62 - backwards compatability with pastescript templates 67 - backwards compatability with pastescript templates
63 68
64 - a web interface (or a few) 69 - a web interface (or a few)
65 70