convert source code files to pdf format in python

 1 import os

 2 import sys

 3 

 4 def find_file(root_dir, type):

 5     dirs_pool = [root_dir]

 6     dest_pool = []

 7 

 8     def scan_dir(directory):

 9         entries = os.walk(directory)

10         for root, dirs, files in entries:

11             dirs_pool.extend([os.path.join(root, dir_entry) for dir_entry in dirs])

12             for file_entry in files:

13                 if type in str(file_entry)[-len(type):]:

14                     dest_pool.append(''.join(os.path.join(root, file_entry)))

15 

16     while dirs_pool:

17         scan_dir(dirs_pool.pop())

18     return dest_pool

19 

20 def gen_ps(root_dir, type):

21     vim_cmd = 'vim -me -e -c ":hardcopy >%.ps" -c ":q" '

22     ps2pdf_cmd = 'ps2pdf {filename}.ps {filename}.pdf'

23     dests = find_file(root_dir, type)

24     if not dests:

25         return

26     print 'found these source code files:'

27     for dest in dests:

28         print dest

29     print 'begin generate ps files!'

30     for dest in dests:

31         command = ''.join([vim_cmd, dest])

32         print command

33         os.system(command)

34     for dest in dests:

35         command = ps2pdf_cmd.format(filename=dest)

36         print command

37         os.system(command)

38 

39 if __name__ == '__main__':

40     if len(sys.argv) == 3:

41         gen_ps(sys.argv[1], sys.argv[2])

42     else:

43         print 'usage: python code2pdf.py directory filetype\n' \

44               'such as: python code2pdf.py /home/bruce/python .py'

 

你可能感兴趣的:(convert)