/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/textfile.py

  • Committer: Robert Collins
  • Date: 2007-04-19 02:27:44 UTC
  • mto: This revision was merged to the branch mainline in revision 2426.
  • Revision ID: robertc@robertcollins.net-20070419022744-pfdqz42kp1wizh43
``make docs`` now creates a man page at ``man1/bzr.1`` fixing bug 107388.
(Robert Collins)

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
"""Utilities for distinguishing binary files from text files"""
18
18
 
19
 
from itertools import chain
 
19
from itertools import chain 
20
20
 
21
 
from .errors import BinaryFile
22
 
from .iterablefile import IterableFile
23
 
from .osutils import file_iterator
 
21
from bzrlib.errors import BinaryFile
 
22
from bzrlib.iterablefile import IterableFile
 
23
from bzrlib.osutils import file_iterator
24
24
 
25
25
 
26
26
def text_file(input):
28
28
    BinaryFile is raised if the file contains a NUL in the first 1024 bytes.
29
29
    """
30
30
    first_chunk = input.read(1024)
31
 
    if b'\x00' in first_chunk:
 
31
    if '\x00' in first_chunk:
32
32
        raise BinaryFile()
33
33
    return IterableFile(chain((first_chunk,), file_iterator(input)))
34
34
 
38
38
    Only the first 1024 characters are checked.
39
39
    """
40
40
    f = IterableFile(lines)
41
 
    if b'\x00' in f.read(1024):
 
41
    if '\x00' in f.read(1024):
42
42
        raise BinaryFile()
43
43
 
44
44
 
46
46
    """Check whether the supplied path is a text, not binary file.
47
47
    Raise BinaryFile if a NUL occurs in the first 1024 bytes.
48
48
    """
49
 
    with open(path, 'rb') as f:
 
49
    f = open(path, 'rb')
 
50
    try:
50
51
        text_file(f)
 
52
    finally:
 
53
        f.close()