Move debian_linux.utils.Templates._read_control out to module scope

svn path=/dists/trunk/linux-2.6/; revision=18041
This commit is contained in:
Ben Hutchings 2011-09-03 20:53:59 +00:00
parent cfe2d8200a
commit 07aafecfb1
1 changed files with 38 additions and 38 deletions

View File

@ -55,46 +55,9 @@ class Templates(object):
if os.path.exists(filename):
f = file(filename)
if prefix == 'control':
return self._read_control(f)
return read_control(f)
return f.read()
def _read_control(self, f):
from .debian import Package
entries = []
while True:
e = Package()
last = None
lines = []
while True:
line = f.readline()
if not line:
break
line = line.strip('\n')
if not line:
break
if line[0] in ' \t':
if not last:
raise ValueError('Continuation line seen before first header')
lines.append(line.lstrip())
continue
if last:
e[last] = '\n'.join(lines)
i = line.find(':')
if i < 0:
raise ValueError("Not a header, not a continuation: ``%s''" % line)
last = line[:i]
lines = [line[i+1:].lstrip()]
if last:
e[last] = '\n'.join(lines)
if not e:
break
entries.append(e)
return entries
def get(self, key, default=None):
if key in self._cache:
return self._cache[key]
@ -104,6 +67,43 @@ class Templates(object):
return default
return value
def read_control(f):
from .debian import Package
entries = []
while True:
e = Package()
last = None
lines = []
while True:
line = f.readline()
if not line:
break
line = line.strip('\n')
if not line:
break
if line[0] in ' \t':
if not last:
raise ValueError('Continuation line seen before first header')
lines.append(line.lstrip())
continue
if last:
e[last] = '\n'.join(lines)
i = line.find(':')
if i < 0:
raise ValueError("Not a header, not a continuation: ``%s''" % line)
last = line[:i]
lines = [line[i+1:].lstrip()]
if last:
e[last] = '\n'.join(lines)
if not e:
break
entries.append(e)
return entries
class TextWrapper(textwrap.TextWrapper):
wordsep_re = re.compile(
r'(\s+|' # any whitespace