Victor Subervi wrote:

I set the following variables:
# Headers are kept in order to determine nesting of chapters
# They are labeled according to font size
h36 = ''
h26 = ''
h22 = ''
h18 = ''
h14 = ''
h12 = ''
header_sizes = [36, 26, 22, 18, 14, 12]
# Size is the font size of the header
size = 0

I write code that grabs the size var.
Then I have the following very laborious spaghetti code:

if size == 36:
  h36 = line
  h26 = ''
  h22 = ''
  h18 = ''
  h14 = ''
  h12 = ''
elif size == 26:
  h26 = line
  h22 = ''
  h18 = ''
  h14 = ''
  h12 = ''
elif size == 22:
  h22 = line
  h18 = ''
  h14 = ''
  h12 = ''
elif size == 18:
  h18 = line
  h14 = ''
  h12 = ''
elif size == 14:
  h14 = line
  h12 = ''
elif size == 12:
  h12 = line
else:
  # THROW ERROR!

Multiple elifs indicate a possible use for dicts.  Untested possibility

header_sizes = [36, 26, 22, 18, 14, 12]
header_num = len(header_sizes)
header_blank = ['']*header_num # makes resetting headers much easier!
header_dexes = dict(zip(header_sizes, range(header_num)))
hearders = header_blank[0:] #initialize

# You can now change header_sizes length and contents
# and others will be built to match
..
def adjust_headers(size, line):
  dex = header_dexes[size]
  headers[dex] = line
  headers[dex+1:] = header_blank[dex+1:]

Terry Jan Reedy

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to