in src/pycalendar/utils.py [0:0]
def readFoldedLine(ins, lines):
# If line2 already has data, transfer that into line1
if lines[1] is not None:
lines[0] = lines[1]
else:
# Fill first line
try:
myline = ins.readline()
if len(myline) == 0:
raise ValueError("Folding: empty first line")
if myline[-1] == "\n":
if myline[-2] == "\r":
lines[0] = myline[:-2]
else:
lines[0] = myline[:-1]
elif myline[-1] == "\r":
lines[0] = myline[:-1]
else:
lines[0] = myline
except IndexError:
lines[0] = ""
except:
lines[0] = None
return False
# Now loop looking ahead at the next line to see if it is folded
while True:
# Get next line
try:
myline = ins.readline()
if len(myline) == 0:
raise ValueError("Folding: empty next line")
if myline[-1] == "\n":
if myline[-2] == "\r":
lines[1] = myline[:-2]
else:
lines[1] = myline[:-1]
elif myline[-1] == "\r":
lines[1] = myline[:-1]
else:
lines[1] = myline
except IndexError:
lines[1] = ""
except:
lines[1] = None
return True
if not lines[1]:
return True
# Does it start with a space => folded
if lines[1][0].isspace():
# Copy folded line (without space) to current line and cycle
# for more
lines[0] = lines[0] + lines[1][1:]
else:
# Not folded - just exit loop
break
return True