示例#1
0
def main():
    options, args = parseCommandLine()
    
    api = MongoStampedAPI()
    matcher = EntityMatcher(api, options)
    
    keep = Entity()
    keep.entity_id = args[-1]
    
    remove = []
    for arg in args[:-1]:
        entity = Entity()
        entity.entity_id = arg
        remove.append(entity)
    
    matcher.resolveDuplicates(keep, remove, override=options.force)
示例#2
0
class MergeEntitySink(AEntitySink):
    
    def __init__(self):
        AEntitySink.__init__(self, "MergeEntitySink")
        
        self.stampedAPI = MongoStampedAPI()
        self.matcher    = EntityMatcher(self.stampedAPI)
        self.matcher.options['merge'] = True
    
    def _processItem(self, item):
        assert isinstance(item, Entity)
        utils.log("merging item %s" % (item.title, ))
        
        self.matcher.addOne(item)
    
    def _processItems(self, items):
        for item in items:
            self._processItem(item)
示例#3
0
 def __init__(self):
     AEntitySink.__init__(self, "MergeEntitySink")
     
     self.stampedAPI = MongoStampedAPI()
     self.matcher    = EntityMatcher(self.stampedAPI)
     self.matcher.options['merge'] = True