def __init__(self):
        m = Message()
        self.index = Index(Dispatcher.urldb)
        self.gnome = GNOME()

        if not Dispatcher.urldb:
            csv.register_dialect('urldb',
                                 delimiter=' ',
                                 quotechar='"',
                                 lineterminator='\n',
                                 quoting=csv.QUOTE_MINIMAL)
            m.debug("Opening urldb")
            db = open('urldb', 'r')
            reader = csv.reader(db, dialect='urldb')
            for fields in reader:
                if len(fields) == 0:
                    continue
                if fields[0][0] == '#':
                    continue
                if len(fields) != 3:
                    m.warn("expecting 3 fields %s" % fields)
                    continue
                obs_name = string.strip(fields[0])
                regex = string.strip(fields[1])
                url = string.strip(fields[2])
                # obs_name => (regex, url, tags)
                entry = (self.resolve_regex(obs_name, regex),
                         self.resolve_url(obs_name, url), [])
                # autotag packages with a gnome.org url as 'GNOME'
                if entry[1].find('gnome.org') != -1:
                    entry[2].append('GNOME')

                m.debug("inserting %s => (%s,%s,%s)" %
                        (obs_name, entry[0], entry[1], entry[2]))

                if Dispatcher.urldb.has_key(obs_name):
                    m.warn("Duplicate entry for %s, ignoring" % obs_name)
                elif entry[0].find('DEFAULT') != -1:
                    m.warn("Could not resolve regex for %s, ignoring" %
                           obs_name)
                elif entry[1].find('DEFAULT') != -1:
                    m.warn("Could not resolve url for %s, ignoring" % obs_name)
                else:
                    Dispatcher.urldb[obs_name] = entry
            m.debug("urldb parsed")
Exemple #2
0
    def __init__(self):
        m = Message()
        self.index = Index(Dispatcher.urldb)
        self.gnome = GNOME()

        if not Dispatcher.urldb:
            csv.register_dialect('urldb', delimiter=' ', quotechar='"',
                                 lineterminator='\n', quoting=csv.QUOTE_MINIMAL)
            m.debug("Opening urldb")
            db = open('urldb', 'r')
            reader = csv.reader(db, dialect='urldb')
            for fields in reader:
                if len(fields) == 0:
                    continue
                if fields[0][0] == '#':
                    continue
                if len(fields) != 3:
                    m.warn("expecting 3 fields %s" % fields)
                    continue
                obs_name = string.strip(fields[0])
                regex = string.strip(fields[1])
                url = string.strip(fields[2])
                # obs_name => (regex, url, tags)
                entry = (self.resolve_regex(obs_name, regex),
                         self.resolve_url(obs_name, url),
                         [])
                # autotag packages with a gnome.org url as 'GNOME'
                if entry[1].find('gnome.org') != -1:
                    entry[2].append('GNOME')

                m.debug("inserting %s => (%s,%s,%s)" % (obs_name, entry[0],
                        entry[1], entry[2]))

                if Dispatcher.urldb.has_key(obs_name):
                    m.warn("Duplicate entry for %s, ignoring" % obs_name)
                elif entry[0].find('DEFAULT') != -1:
                    m.warn("Could not resolve regex for %s, ignoring" % obs_name)
                elif entry[1].find('DEFAULT') != -1:
                    m.warn("Could not resolve url for %s, ignoring" % obs_name)
                else:
                    Dispatcher.urldb[obs_name] = entry
            m.debug("urldb parsed")