docs: def compile_dictionary(self, lang, wordlists, encoding, output):
          """Compile user dictionary."""
          wordlist = ''
  
          try:
              output_location = os.path.dirname(output)
              if not os.path.exists(output_location):
                  os.makedirs(output_location)
              if os.path.exists(output):
                  os.remove(output)
  
              self.log("Compiling Dictionary...", 1)
              # Read word lists and create a unique set of words
              words = set()
              for wordlist in wordlists:
                  with open(wordlist, 'rb') as src:
                      for word in src.read().split(b'\n'):
                          words.add(word.replace(b'\r', b''))
  
              # Sort and create wordlist
              with open(output, 'wb') as dest:
                  dest.write(b'\n'.join(sorted(words)) + b'\n')
          except Exception:
              self.log('Problem compiling dictionary.', 0)
              self.log("Current wordlist '%s'" % wordlist)
              raise