Download and extract a .tar.gz file from figshare
        :param databasepath: Name and path of where the database files are to be downloaded
        :param database_name: Name of the database e.g. sipprverse
        :param download_id: Figshare ID of the targets file
        :param f_type: STR MOB-suite databases have the 'articles' keyword in the figshare URL, while OLC databases
        all have the 'files' keyword
        :param post_id: STR MOB-suite databases have 'versions/1' appended at the end of the figshare URL.
        :param compression: STR MOB-suite databases are .zip files, while OLC databases are .tar.gz
        :param nested: Boolean of whether the targets file has nested folders that must be accounted for
        :param complete: Boolean of whether the completefile should be completed

def custom_databases(self, databasepath, database_name, download_id, f_type='files', post_id=None,
                         compression='tar', nested=False, complete=False):
        """
        Download and extract a .tar.gz file from figshare
        :param databasepath: Name and path of where the database files are to be downloaded
        :param database_name: Name of the database e.g. sipprverse
        :param download_id: Figshare ID of the targets file
        :param f_type: STR MOB-suite databases have the 'articles' keyword in the figshare URL, while OLC databases
        all have the 'files' keyword
        :param post_id: STR MOB-suite databases have 'versions/1' appended at the end of the figshare URL.
        :param compression: STR MOB-suite databases are .zip files, while OLC databases are .tar.gz
        :param nested: Boolean of whether the targets file has nested folders that must be accounted for
        :param complete: Boolean of whether the completefile should be completed
        """
        logging.info('Downloading {} databases'.format(database_name))
        # ConFindr has a nested 'databases' folder
        if nested:
            databasepath = os.path.join(databasepath, database_name)
        # Set the name and path of the file that is created when the download is successful
        completefile = os.path.join(databasepath, 'complete')
        # Create the database folder if necessary
        make_path(databasepath)
        # Set the name of the targets file
        tar_file = os.path.join(databasepath, download_id)
        # Create the target download call
        target_url = 'https://ndownloader.figshare.com/{type}/{id}'.format(type=f_type,
                                                                           id=download_id)
        if post_id:
            target_url += '/{post}'.format(post=post_id)
        logging.debug(target_url)
        if not os.path.isfile(completefile):
            self.url_request(target_url=target_url,
                             output_file=tar_file)
        # Decompress the file
        self.decompress(databasepath=databasepath,
                        database_name=database_name,
                        compression=compression,
                        compressed_file=tar_file)
        # Create the completefile
        if complete:
            with open(completefile, 'w') as complete:
                complete.write('')