diff options
author | tailor <cygnus@janrain.com> | 2006-03-03 19:16:42 +0000 |
---|---|---|
committer | tailor <cygnus@janrain.com> | 2006-03-03 19:16:42 +0000 |
commit | f2badbb2e6f622186468115847d66c14c4549b57 (patch) | |
tree | 3f186bdcea108db52996b294ea9f8de2dbcea102 /admin/packagexml.py | |
parent | cfb77e2bbc57bd9f7b2c87e4dafbbbf47026796a (diff) | |
download | php-openid-f2badbb2e6f622186468115847d66c14c4549b57.zip php-openid-f2badbb2e6f622186468115847d66c14c4549b57.tar.gz php-openid-f2badbb2e6f622186468115847d66c14c4549b57.tar.bz2 |
[project @ Added docs to xmlconfig.py and updated packagexml.py to include docs in output XML]
Diffstat (limited to 'admin/packagexml.py')
-rw-r--r-- | admin/packagexml.py | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/admin/packagexml.py b/admin/packagexml.py index aea0929..0591b6d 100644 --- a/admin/packagexml.py +++ b/admin/packagexml.py @@ -17,7 +17,7 @@ def makeLeadXML(leads): INDENT_STRING = " " -def buildContentsXMLFordir(dir_or_file, roles, depth=0): +def buildContentsXMLFordir(dir_or_file, roles, depth=0, dir_role=None, all_files=False): """ Returns a list of strings, each of which is either a <file> XML element for the given file or a <dir> element which contains other @@ -26,10 +26,14 @@ def buildContentsXMLFordir(dir_or_file, roles, depth=0): try: entries = os.listdir(dir_or_file) - lines = ['%s<dir name="%s">' % (INDENT_STRING * depth, os.path.basename(dir_or_file))] + dir_role_s = '' + if dir_role: + dir_role_s = ' role="%s"' % (dir_role) + lines = ['%s<dir name="%s"%s>' % (INDENT_STRING * depth, os.path.basename(dir_or_file), + dir_role_s)] for entry in entries: - lines += buildContentsXMLFordir(dir_or_file + os.sep + entry, roles, depth + 1) + lines += buildContentsXMLFordir(dir_or_file + os.sep + entry, roles, depth + 1, dir_role, all_files) lines.append('%s</dir>' % (INDENT_STRING * depth)) @@ -38,21 +42,32 @@ def buildContentsXMLFordir(dir_or_file, roles, depth=0): try: extension = dir_or_file.split(".")[-1] except: - return [] + if not all_files: + return [] if extension in roles: # Ends in an extension we care about return ['%s<file name="%s" role="%s" />' % (INDENT_STRING * depth, os.path.basename(dir_or_file), roles[extension])] + elif all_files: + return ['%s<file name="%s" />' % + (INDENT_STRING * depth, os.path.basename(dir_or_file))] else: + print "FOOB for %s %s" % (all_files, dir_or_file) return [] def buildContentsXML(roles, *dirs): - lines = ['<dir name="/">'] + lines = [] for directory in dirs: lines.append("\n".join(buildContentsXMLFordir(directory, roles, 1))) - lines.append('</dir>') + return "\n".join(lines) + +def buildDocsXML(*dirs): + lines = [] + + for directory in dirs: + lines.append("\n".join(buildContentsXMLFordir(directory, {}, 1, 'doc', all_files=True))) return "\n".join(lines) @@ -82,10 +97,14 @@ if __name__ == "__main__": data = xmlconfig.__dict__.copy() - data['contents'] = buildContentsXML({'php': 'php'}, *xmlconfig.contents_dirs) + contents = '<dir name="/">\n' + buildContentsXML({'php': 'php'}, *xmlconfig.contents_dirs) + \ + "\n" + buildDocsXML(*xmlconfig.docs_dirs) + '\n </dir>' + + data['contents'] = contents data['leads'] = makeLeadXML(xmlconfig.leads) data['date'] = time.strftime("%Y-%m-%d") data['version'] = version + data['uri'] = "%s%s-%s.tgz" % (data['package_base_uri'], data['package_name'], version) template_data = template_f.read() print template_data % data |