- if control.has_key("Depends"):
- depends_str = control.Find("Depends")
- # create list of dependancy lists
- depends = split_depends(depends_str)
-
- if control.has_key("Recommends"):
- recommends_str = control.Find("Recommends")
- recommends = split_depends(recommends_str)
-
- if control.has_key("Section"):
- section_str = control.Find("Section")
-
- c_match = re_contrib.search(section_str)
- nf_match = re_nonfree.search(section_str)
- if c_match :
- # contrib colour
- section = colour_output(section_str, 'contrib')
- elif nf_match :
- # non-free colour
- section = colour_output(section_str, 'nonfree')
- else :
- # main
- section = colour_output(section_str, 'main')
- if control.has_key("Architecture"):
- arch_str = control.Find("Architecture")
- arch = colour_output(arch_str, 'arch')
-
- if control.has_key("Maintainer"):
- maintainer = control.Find("Maintainer")
- localhost = re_localhost.search(maintainer)
- if localhost:
- #highlight bad email
- maintainer = colour_output(maintainer, 'maintainer')
- else:
- maintainer = escape_if_needed(maintainer)
-
- return (control, control_keys, section, depends, recommends, arch, maintainer)
-
-def read_dsc (dsc_filename):
+ if "Pre-Depends" in control:
+ predepends_str = control["Pre-Depends"]
+ predepends = split_depends(predepends_str)
+
+ if "Depends" in control:
+ depends_str = control["Depends"]
+ # create list of dependancy lists
+ depends = split_depends(depends_str)
+
+ if "Recommends" in control:
+ recommends_str = control["Recommends"]
+ recommends = split_depends(recommends_str)
+
+ if "Section" in control:
+ section_str = control["Section"]
+
+ c_match = re_contrib.search(section_str)
+ nf_match = re_nonfree.search(section_str)
+ if c_match :
+ # contrib colour
+ section = colour_output(section_str, 'contrib')
+ elif nf_match :
+ # non-free colour
+ section = colour_output(section_str, 'nonfree')
+ else :
+ # main
+ section = colour_output(section_str, 'main')
+ if "Architecture" in control:
+ arch_str = control["Architecture"]
+ arch = colour_output(arch_str, 'arch')
+
+ if "Maintainer" in control:
+ maintainer = control["Maintainer"]
+ localhost = re_localhost.search(maintainer)
+ if localhost:
+ #highlight bad email
+ maintainer = colour_output(maintainer, 'maintainer')
+ else:
+ maintainer = escape_if_needed(maintainer)
+
+ return (control, control_keys, section, predepends, depends, recommends, arch, maintainer)
+
+def read_changes_or_dsc (suite, filename, session = None):