#! /usr/bin/env python3
"""
Detect fortune entries in file2 already present in file1.  Write
file2 to stdout removing duplicate entries.
"""

import sys

if len(sys.argv) != 3:
     sys.exit(f'Usage: {sys.argv[0]} file1 file2')

file1, file2 = sys.argv[1:]
SEP = '\n%\n'
fortunes = []

# file1: store every fortune in a set.
with open(file1, 'rt') as f1:
     seen = set(f1.read().split(SEP))

# file2: for every fortune, check if present in file1 set.
with open(file2, 'rt') as f2:
     for fortune in f2.read().split(SEP):
          if fortune in seen:
               print(f'Duplicate found:\n{fortune}\n--', file=sys.stderr)
               continue

          # Keep only the non-empty, not duplicate ones from file1.
          if fortune:
               fortunes.append(fortune)

# file2: concatenate all the fortunes, dups removed.
print(SEP.join(fortunes), end='')
