@@ -21,17 +21,20 @@ def get_args():
2121 description = 'Compile my book' ,
2222 formatter_class = argparse .ArgumentDefaultsHelpFormatter )
2323
24- # parser.add_argument('positional',
25- # metavar='str',
26- # help='A positional argument')
27-
2824 parser .add_argument ('-i' ,
2925 '--dir' ,
3026 help = 'Input dir' ,
3127 metavar = 'str' ,
3228 type = str ,
3329 default = os .getcwd ())
3430
31+ parser .add_argument ('-f' ,
32+ '--outfile' ,
33+ help = 'Output filename' ,
34+ metavar = 'str' ,
35+ type = str ,
36+ default = 'playful_python.pdf' )
37+
3538 parser .add_argument ('-o' ,
3639 '--outdir' ,
3740 help = 'Output dir' ,
@@ -46,18 +49,6 @@ def get_args():
4649 type = str ,
4750 default = None )
4851
49- # parser.add_argument('-i',
50- # '--int',
51- # help='A named integer argument',
52- # metavar='int',
53- # type=int,
54- # default=0)
55-
56- # parser.add_argument('-f',
57- # '--flag',
58- # help='A boolean flag',
59- # action='store_true')
60-
6152 return parser .parse_args ()
6253
6354
@@ -80,9 +71,6 @@ def main():
8071 book_file = os .path .join (out_dir , 'book.md' )
8172
8273 with open (book_file , 'wt' ) as fh :
83- # fh.write('\n'.join(
84- # ['\\documentclass{article}', '\\begin{document}',
85- # '\\tableofcontents', '\\newpage', '']))
8674 fh .write ('\\ setcounter{tocdepth}{1}\\ tableofcontents\n \\ newpage\n \n ' )
8775
8876 top_readme = 'README.md'
@@ -102,25 +90,26 @@ def main():
10290 print ('\t README' )
10391 chapter = 'Chapter {}: ' .format (i )
10492 text = open (readme ).read ()
105- text = re .sub ('^#\s+' , '# ' + chapter , text )
93+ text = re .sub (r '^#\s+' , '# ' + chapter , text )
10694 fh .write (text + '\n \\ newpage\n \n ' )
10795
10896 solution = os .path .join (in_dir , dir_name , 'solution.py' )
10997 if os .path .isfile (solution ):
11098 print ('\t SOLUTION' )
111- fh .write ('## Solution\n \n ' . format ( dir_name ) )
99+ fh .write ('## Solution\n \n ' )
112100 fh .write ('````\n ' )
113101 numbered = getoutput ('cat -n {}' .format (solution ))
114102 fh .write (numbered )
115103 fh .write ('\n ````\n ' )
116104 fh .write ('\n \\ newpage\n \n ' )
117105
118- cmd = 'pandoc {} --pdf-engine=xelatex -o book.pdf '
119- rv , out = getstatusoutput (cmd .format (book_file ))
106+ cmd = 'pandoc {} --pdf-engine=xelatex -o {} '
107+ rv , out = getstatusoutput (cmd .format (book_file , args . outfile ))
120108
121109 if rv != 0 :
122110 die ('Error: {}' .format (out ))
123111
112+
124113# --------------------------------------------------
125114if __name__ == '__main__' :
126115 main ()
0 commit comments