'Marks entry as seen'

def learn(self, task, entry, fields=None, reason=None, local=False):

    if (not fields):
        fields = self.fields
    se = SeenEntry(entry[u'title'], str(task.name), reason, local)
    remembered = []
    for field in fields:
        if (field not in entry):
            continue
        if (entry[field] in remembered):
            continue
        remembered.append(entry[field])
        sf = SeenField(str(field), str(entry[field]))
        se.fields.append(sf)
        log.debug((u"Learned    '%s'    (field:    %s,    local:    %d)" % (entry[field], field, local)))
    if se.fields:
        task.session.add(se)
