Commit | Line | Data |
---|---|---|
41a6d859 CM |
1 | """Common utility functions |
2 | """ | |
3 | ||
4 | __copyright__ = """ | |
5 | Copyright (C) 2005, Catalin Marinas <catalin.marinas@gmail.com> | |
6 | ||
7 | This program is free software; you can redistribute it and/or modify | |
8 | it under the terms of the GNU General Public License version 2 as | |
9 | published by the Free Software Foundation. | |
10 | ||
11 | This program is distributed in the hope that it will be useful, | |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | GNU General Public License for more details. | |
15 | ||
16 | You should have received a copy of the GNU General Public License | |
17 | along with this program; if not, write to the Free Software | |
18 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
19 | """ | |
20 | ||
21 | def read_string(filename, multiline = False): | |
22 | """Reads the first line from a file | |
23 | """ | |
24 | f = file(filename, 'r') | |
25 | if multiline: | |
7cc615f3 | 26 | result = f.read() |
41a6d859 | 27 | else: |
7cc615f3 | 28 | result = f.readline().strip() |
41a6d859 | 29 | f.close() |
7cc615f3 | 30 | return result |
41a6d859 | 31 | |
7cc615f3 CL |
32 | def write_string(filename, line, multiline = False): |
33 | """Writes 'line' to file and truncates it | |
41a6d859 CM |
34 | """ |
35 | f = file(filename, 'w+') | |
36 | if multiline: | |
7cc615f3 | 37 | f.write(line) |
41a6d859 | 38 | else: |
7cc615f3 | 39 | print >> f, line |
41a6d859 CM |
40 | f.close() |
41 | ||
7cc615f3 CL |
42 | def append_strings(filename, lines): |
43 | """Appends 'lines' sequence to file | |
680e3a32 PBG |
44 | """ |
45 | f = file(filename, 'a+') | |
7cc615f3 CL |
46 | for line in lines: |
47 | print >> f, line | |
680e3a32 PBG |
48 | f.close() |
49 | ||
7cc615f3 CL |
50 | def append_string(filename, line): |
51 | """Appends 'line' to file | |
41a6d859 CM |
52 | """ |
53 | f = file(filename, 'a+') | |
7cc615f3 | 54 | print >> f, line |
41a6d859 CM |
55 | f.close() |
56 | ||
7cc615f3 CL |
57 | def insert_string(filename, line): |
58 | """Inserts 'line' at the beginning of the file | |
41a6d859 CM |
59 | """ |
60 | f = file(filename, 'r+') | |
61 | lines = f.readlines() | |
62 | f.seek(0); f.truncate() | |
7cc615f3 | 63 | print >> f, line |
41a6d859 CM |
64 | f.writelines(lines) |
65 | f.close() | |
66 | ||
67 | def create_empty_file(name): | |
68 | """Creates an empty file | |
69 | """ | |
70 | file(name, 'w+').close() |