示例#1
0
    def xmlize(self):
        '''
        @rtype: XMLNode
        @return: xml document
        '''
        package = XMLNode('package')
        package.attrs = {'title': self.title,
                         'version': self.version}
        package.description = self.description

        gens = package.generators
        for generator in self.generators:
            generator.xmlize(gens, self.id_map)

        return package
示例#2
0
def apiresponse(message=None, code='success', data=None):
    message = message or resp_codes[code][1]
    code_no = resp_codes[code][0]

    response = HttpResponse(mimetype='text/xml')
    root = XMLNode('response')
    root.attrs = {'code': code_no, 'message': message}

    if data:
        data = xmlrpclib.dumps((data,), allow_none=True) if data else data
        root.data = data
    
    response.write('<?xml version="1.0"?>\n')
    root.serialize(response)

    return response
def main(options):

    repo_xml = os.path.join(options.repo_dir, 'repository.xml')

    if os.path.exists(repo_xml):
        print 'repository already exists at "%s"' % options.repo_dir
        sys.exit(1)

    # create repo dir
    if not os.path.exists(options.repo_dir):
        os.makedirs(options.repo_dir)

    # create repo data dir
    repo_data_dir = os.path.join(options.repo_dir, 'data')
    if not os.path.exists(repo_data_dir):
        os.makedirs(repo_data_dir)

    # create symlink to cgi scripts
    actions_dir = os.path.join(options.repo_dir, 'actions')
    cgi_scripts_dir = os.path.join(options.installation_dir, \
                            'repository/server/cgi/')
    os.symlink(cgi_scripts_dir, actions_dir)

    # create 'repository.xml'
    ostream = open(repo_xml, 'w')

    repo = XMLNode('repository')
    repo.attrs = {'title': options.title}

    if options.description:
        repo.description = options.description

    ostream.write('<?xml version="1.0" encoding="UTF-8"?>\n')
    repo.serialize(ostream)

    ostream.close()

    # inform user of installation dir being used
    print 'using: installation_dir = "%s"' % (options.installation_dir)

    # write .htaccess for apache config
    htaccess_fpath = os.path.join(options.repo_dir, '.htaccess')
    f = open(htaccess_fpath, 'w')
    conf = APACHE_CONFIG % {'pythonpath': options.installation_dir}
    f.write(conf)
    f.close()
示例#4
0
def construct_result_xml(code, message):
    result = XMLNode('result')
    result.attrs = {'code': code, 'message': message}
    return result