Ejemplo n.º 1
0
    def format_rdf(self):
        f = self.formatter
        f.push_margin("left")

        if self.pkgdata.has_key('uri'):
            address = self.pkgdata['uri']
        else:
            if self.packageprefix:
                if utils.is_absolute(self.packageprefix):
                    address = '%s/%s' % (self.packageprefix, self.pkgdata["basename"])
                else:
                    address = os.path.join(self.packageprefix,
                                           self.pkgdata["basename"])
            else:
                address = os.path.join('../..', self.pkgdata["filename"])
        
        f.add_flowing_data('<rdf:Description rdf:about="%s">' % address)
        f.end_paragraph(0)
        f.push_margin("left")
        f.add_flowing_data('<spi:name>%s</spi:name>' % 
                                   self.pkgdata["name"])
        f.end_paragraph(0)
        if self.pkgdata['epoch']:
            f.add_flowing_data('<spi:epoch>%s</spi:epoch>' %
                                   self.pkgdata["epoch"])
            f.end_paragraph(0)
        f.add_flowing_data('<spi:version>%s</spi:version>' %
                                   self.pkgdata["version"])
        f.end_paragraph(0)
        f.add_flowing_data('<spi:package_type>%s</spi:package_type>' %
                                   self.pkgdata["package_type"])
        f.end_paragraph(0)
        f.add_flowing_data('<spi:release>%s</spi:release>' %
                                   self.pkgdata["release"])
        f.end_paragraph(0)
        f.add_flowing_data('<spi:arch>%s</spi:arch>' %
                                   self.pkgdata["arch"])
        f.end_paragraph(0)
        f.add_flowing_data('<spi:os>%s</spi:os>' %
                                   self.pkgdata["os"])
        f.end_paragraph(0)
        f.add_flowing_data('<spi:size>%s</spi:size>' % self.pkgdata["size"])
        f.end_paragraph(0)
        f.add_flowing_data('<spi:md5sum>%s</spi:md5sum>' % \
                           self.pkgdata["md5sum"])
        f.end_paragraph(0)
        if self.pkgdata["distribution"]:

            f.add_flowing_data('<spi:distribution>%s</spi:distribution>'
                               % escape_for_xml(self.pkgdata[\
                                                "distribution"]))
            f.end_paragraph(0)
        else:
            f.add_flowing_data('<spi:distribution />')
            f.end_paragraph(0)

        if self.pkgdata["vendor"]:
            f.add_flowing_data('<spi:vendor>%s</spi:vendor>'
                               % escape_for_xml(self.pkgdata["vendor"]))
            f.end_paragraph(0)
        else:
            f.add_flowing_data('<spi:vendor />')
            f.end_paragraph(0)
        if self.sigprefix:
            if utils.is_absolute(self.sigprefix):
                sigfile = '%s/%s' % (self.sigprefix, self.pkgdata["basename"] + ".asc")
            else:
                sigfile = os.path.join(self.sigprefix,
                                       self.pkgdata["filename"] + ".asc")
        else:
            sigfile = os.path.join('../..', self.pkgdata["filename"] +
                                   ".asc")
        
        f.add_flowing_data('<spi:signature rdf:resource="%s" />' % sigfile )
        f.end_paragraph(0)
        f.add_flowing_data('<spi:group>%s</spi:group>' %
                                   escape_for_xml(self.pkgdata["group"]))
        f.end_paragraph(0)
        f.add_flowing_data('<spi:build_date>%s</spi:build_date>' %
                           self.pkgdata["build_date"])

        f.end_paragraph(0)
        f.add_flowing_data('<spi:copyright>%s</spi:copyright>' %
                           escape_for_xml(self.pkgdata["copyright"]))
        f.end_paragraph(0)

        f.add_flowing_data('<spi:summary><p>%s</p></spi:summary>' %
                                   escape_for_xml(self.pkgdata["summary"]))
        f.end_paragraph(0)
        self.format_description()
        #self.format_changelog()
        obsoletes = self.pkgdata["obsoletes"]
        if not obsoletes:
            f.add_flowing_data('<spi:obsoletes />')
            f.end_paragraph(0)
        else:
            f.add_flowing_data('<spi:obsoletes>')
            f.end_paragraph(0)
            f.push_margin('left')
            f.add_flowing_data('<rdf:Bag>')
            f.end_paragraph(0)
            f.push_margin('left')
            for obs in obsoletes:
                f.add_flowing_data('<rdf:li>%s</rdf:li>' % obs)
                f.end_paragraph(0)
            f.pop_margin()
            f.add_flowing_data('</rdf:Bag>')
            f.end_paragraph(0)
            f.pop_margin()
            f.add_flowing_data('</spi:obsoletes>')
            f.end_paragraph(0)
        # FIXME!!
        self.format_requirements()
        self.format_conflicts()
        f.pop_margin()
        f.add_flowing_data("</rdf:Description>")
        f.end_paragraph(0)
        f.pop_margin()
        f.add_flowing_data("</rdf:RDF>")
        f.pop_margin()
        f.end_paragraph(0)
Ejemplo n.º 2
0
    elif argdict.has_key('--quiet'):
        configuration['loglevel'] = log.LOGLEVEL_QUIET
    elif argdict.has_key('--notty'):
        configuration['loglevel'] = log.LOGLEVEL_NOTTY
    elif argdict.has_key('--verbose'):
        configuration['loglevel'] = log.LOGLEVEL_VERBOSE
    else:
        configuration['loglevel'] = log.LOGLEVEL_NORMAL
        
    if argdict.has_key('--stage'):
        configuration['loglevel'] = log.LOGLEVEL_PROGRESS

    if argdict.has_key('--repository-URI'):
        configuration['sites'] = []
        for uri in argdict['--repository-URI']:
            if not utils.is_absolute(uri):
                msg = "URI not supported:\n%s\n" %uri
                msg += "SWUP only understands: "
                msg += "http:// https:// ftp:// file://\n"
                sys.stderr.write(msg)
            else:
                configuration['sites'].append((0, uri, '.*', "cmdline", 1))
    #
    # Let's check the various sites submitted before we go on:
    #
    if not configuration['sites']:
        message = "No sites found.\n"\
            +"Please update the configuration or submit "\
            +"a site using the\n--repository-URI option."
        raise ex.setup_error, message
    null_found = False