Python 習作

#!/usr/bin/python

import sys

fin = sys.stdin
fout = sys.stdout

indent = 8
new_indent = '\t\t'

for line in fin:
        is_body = False
        spaces = 0
        result = ''
        for c in line:
                if is_body:
                        result += c
                else:
                        if c == ' ':
                                if spaces == indent:
                                        result += new_indent
                                        spaces = 0
                                else:
                                        spaces += 1
                        elif c == '\t':
                                spaces = 0
                                result += new_indent
                        else:
                                if spaces >= 4:
                                        sp_cnt = spaces / 4
                                        result += '\t' * sp_cnt
                                        result += ' ' * (spaces - sp_cnt * 4)
                                result += c
                                is_body = True
        fout.write(result)

fout.write('\n// vim' + ':set ts=4 sw=4 sts=0:\n')