diff options
Diffstat (limited to 'fix-shebang')
-rwxr-xr-x | fix-shebang | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/fix-shebang b/fix-shebang deleted file mode 100755 index 8478cd2..0000000 --- a/fix-shebang +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/python -# Copyright 2011 Lars Wirzenius -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - - -import cliapp -import os -import tempfile - - -class FixShebang(cliapp.Application): - - def add_settings(self): - self.settings.string(['shebang'], 'interpreter path and args') - - def process_input(self, arg): - name = self.create_tempfile_for(arg) - temp = open(name, 'w') - shebang = self.settings['shebang'] - if not shebang: - raise Exception('You must specify an interpreter with --shebang') - if not shebang.startswith('#!'): - shebang = '#!%s' % shebang - temp.write('%s\n' % shebang) - f = open(arg) - line1 = f.readline() - if line1 and not line1.startswith('#!'): - temp.write(line1) - for line in f: - temp.write(line) - f.close() - temp.close() - os.rename(name, arg) - - def create_tempfile_for(self, filename): - fd, name = tempfile.mkstemp(dir=os.path.dirname(filename)) - os.close(fd) - return name - - -if __name__ == '__main__': - FixShebang().run() |