Adds document to record
        Args:
            key (string): document key
            url (string): document url
        Keyword Args:
            description (string): simple description
            fulltext (bool): mark if this is a full text
            hidden (bool): is document should be hidden
            material (string):
            original_url (string): original url
            filename (string): current url


        Returns: None

def add_document(self, key, url, **kwargs):
        """
        Adds document to record
        Args:
            key (string): document key
            url (string): document url
        Keyword Args:
            description (string): simple description
            fulltext (bool): mark if this is a full text
            hidden (bool): is document should be hidden
            material (string):
            original_url (string): original url
            filename (string): current url


        Returns: None

        """
        document = self._check_metadata_for_file(key=key, url=url, **kwargs)

        for dict_key in (
            'description',
            'fulltext',
            'hidden',
            'material',
            'original_url',
            'url',
            'filename',
        ):
            if kwargs.get(dict_key):
                document[dict_key] = kwargs[dict_key]

        if key_already_there(document, self.record.get('documents', ())):
            raise ValueError(
                'There\'s already a document with the key %s.'
                % document['key']
            )

        self._append_to('documents', document)