aboutsummaryrefslogtreecommitdiff
path: root/models/openid-php-openid-782224d/admin/packagexml.py
diff options
context:
space:
mode:
Diffstat (limited to 'models/openid-php-openid-782224d/admin/packagexml.py')
-rw-r--r--models/openid-php-openid-782224d/admin/packagexml.py155
1 files changed, 0 insertions, 155 deletions
diff --git a/models/openid-php-openid-782224d/admin/packagexml.py b/models/openid-php-openid-782224d/admin/packagexml.py
deleted file mode 100644
index e83240594..000000000
--- a/models/openid-php-openid-782224d/admin/packagexml.py
+++ /dev/null
@@ -1,155 +0,0 @@
-#!/usr/bin/python
-
-import os
-import os.path
-
-def makeMaintainerXML(leads):
- maintainer_template = """
- <maintainer>
- <user>%(user)s</user>
- <name>%(name)s</name>
- <email>%(email)s</email>
- <role>lead</role>
- </maintainer>
- """
-
- return "<maintainers>" + \
- "".join([maintainer_template % l for l in leads]) + \
- "</maintainers>"
-
-def makeLeadXML(leads):
- lead_template = """
-<lead>
- <name>%(name)s</name>
- <user>%(user)s</user>
- <email>%(email)s</email>
- <active>%(active)s</active>
-</lead>
- """
-
- return "".join([lead_template % l for l in leads])
-
-INDENT_STRING = " "
-
-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
- <file> elements.
- """
-
- try:
- entries = os.listdir(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, dir_role, all_files)
-
- lines.append('%s</dir>' % (INDENT_STRING * depth))
-
- return lines
- except OSError:
- try:
- extension = dir_or_file.split(".")[-1]
- except:
- if not all_files:
- return []
-
- if all_files and dir_role:
- return ['%s<file name="%s" role="%s" />' %
- (INDENT_STRING * depth, os.path.basename(dir_or_file), dir_role)]
- elif 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])]
- else:
- return []
-
-def buildContentsXML(roles, *dirs):
- lines = []
-
- for directory in dirs:
- lines.append("\n".join(buildContentsXMLFordir(directory, roles, 1)))
-
- 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)
-
-if __name__ == "__main__":
- def usage(progname):
- print "Usage: %s <package version> <xml template file> <release notes file>" % (progname)
-
- import sys
- import time
-
- try:
- import xmlconfig
- except:
- print "Could not import XML configuration module xmlconfig"
- sys.exit(1)
-
- # Expect sys.argv[2] to be the name of the XML file template to
- # use for processing.
- try:
- template_f = open(sys.argv[2], 'r')
- except Exception, e:
- usage(sys.argv[0])
- print "Could not open template file:", str(e)
- sys.exit(1)
-
- # Expect sys.argv[1] to be the version number to include in the
- # package.xml file.
- try:
- version = sys.argv[1]
- except:
- usage(sys.argv[0])
- sys.exit(2)
-
- # Expect sys.argv[3] to be the name of the release notes file.
- try:
- release_file = sys.argv[3]
- release_file_h = open(release_file, 'r')
- release_notes = release_file_h.read().strip()
- release_file_h.close()
- except Exception, e:
- usage(sys.argv[0])
- print str(e)
- sys.exit(3)
-
- data = xmlconfig.__dict__.copy()
-
- contentsXml = buildContentsXML({'php': 'php'}, *xmlconfig.contents_dirs)
- docsXml = buildDocsXML(*xmlconfig.docs_dirs)
-
- contents = '<dir name="/">\n' + contentsXml + \
- "\n" + docsXml + '\n </dir>'
-
- contents_v1 = '<filelist><dir name="/" baseinstalldir="Auth">\n' + contentsXml + \
- "\n" + docsXml + '\n </dir></filelist>'
-
- data['contents'] = contents
- data['contents_version_1'] = contents_v1
- data['leads'] = makeLeadXML(xmlconfig.leads)
- data['maintainers'] = makeMaintainerXML(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)
- data['release_notes'] = release_notes
-
- template_data = template_f.read()
- print template_data % data