summaryrefslogtreecommitdiffstats
path: root/admin/packagexml.py
diff options
context:
space:
mode:
authortailor <cygnus@janrain.com>2006-03-03 19:16:42 +0000
committertailor <cygnus@janrain.com>2006-03-03 19:16:42 +0000
commitf2badbb2e6f622186468115847d66c14c4549b57 (patch)
tree3f186bdcea108db52996b294ea9f8de2dbcea102 /admin/packagexml.py
parentcfb77e2bbc57bd9f7b2c87e4dafbbbf47026796a (diff)
downloadphp-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.py33
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