]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Adapted version of SF Patch #103173 by pyretic: make uu.decode work
authorGuido van Rossum <guido@python.org>
Wed, 10 Jan 2001 19:14:28 +0000 (19:14 +0000)
committerGuido van Rossum <guido@python.org>
Wed, 10 Jan 2001 19:14:28 +0000 (19:14 +0000)
with spaces in filename.

I changed the module to use string methods instead of the string
module.  Also, instead of stripping the last character of the filename
(assuming this is the linefeed), I strip trailing whitespace (assuming
creating files with trailing whitespace in their name cannot possibly
be a wise idea).

(Note that I believe that /F's "workaround for broken uuencoders" is
no longer needed since the recent fix to binascii.c, but I'll leave it
in since it appears pretty harmless.)

Lib/uu.py

index 3856d69de7d2d0333366c078b48c401e0babe5f8..bf1f82ae6d369e3598de54f689224c99dd9ab15f 100755 (executable)
--- a/Lib/uu.py
+++ b/Lib/uu.py
@@ -32,7 +32,6 @@ decode(in_file [, out_file, mode])
 
 import binascii
 import os
-import string
 import sys
 
 class Error(Exception):
@@ -97,17 +96,17 @@ def decode(in_file, out_file=None, mode=None):
             raise Error, 'No valid begin line found in input file'
         if hdr[:5] != 'begin':
             continue
-        hdrfields = string.split(hdr)
+        hdrfields = hdr.split(" ", 2)
         if len(hdrfields) == 3 and hdrfields[0] == 'begin':
             try:
-                string.atoi(hdrfields[1], 8)
+                int(hdrfields[1], 8)
                 break
             except ValueError:
                 pass
     if out_file is None:
-        out_file = hdrfields[2]
+        out_file = hdrfields[2].rstrip()
     if mode is None:
-        mode = string.atoi(hdrfields[1], 8)
+        mode = int(hdrfields[1], 8)
     #
     # Open the output file
     #