async run (full = false) {
    this.logger.info('Starting process of import, full =', full)

    const fileList = await this.client.getFileList('name=\'info.json\'', null, full, 'modifiedTime desc', (full) ? null : 51)
    this.logger.debug('Got info.json file list')

    fileList.forEach((info) => {
      this.queue.add(async () => {
        this.logger.debug('Handling info.json file', info.id)

        let res = await this.client.downloadFile(info.id)
        res = res.toString()

        this.logger.debug(`File ${info.id}'s content`, res)
        try {
          if (res && JSON.parse(res)) {
            return await this.handleInfoDotJSON(JSON.parse(res), info)
          } else {
            this.logger.error('Invalid info.json content', info.id, res)
          }
        } catch (error) {
          this.logger.error('Info.json parsed error, skipped')
        }
      })
    })

    const result = await this.queue.onIdle().then(() => {
      this.logger.info('All Promise settled')
    })

    return result
  }
Entry for Google Drive importer

@param {Boolean} full Scan the whole drive

@returns {Promise} Promise queue