Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const { store, C, metric, isStored, Ftp, _, moment, r } = require
- const Client = r('ssh2').Client
- job.description = 'Mdpi remote ftp crawler'
- job.maxLocal = 1
- //job.frequency = C.frequency.everyDay
- const config = {
- host: 'download.mdpi.com',
- port: '9922',
- user: 'mdpi_public_ftp',
- password: 'j7kzfbf9RDiJnEu',
- }
- job.generator = {
- async seed() {
- await this.crawlFolder()
- },
- async crawlFolder() {
- let connection
- connection = new Client()
- connection.connect(config)
- // let folders = new Promise((resolve, reject) => {
- // connection.sftp((err, sftp) => {
- // if (err) {
- // reject(err)
- // return
- // }
- // resolve(sftp)
- // })
- // })
- // console.log(folders)
- // const ftp = new Ftp()
- // console.log('uslooo')
- // try {
- // console.log('try')
- // await ftp.connect(config)
- // console.log("123123123")
- // let list = await ftp.list()
- // console.log(list)
- // for (const file of list) {
- // console.log(file)
- // folder = folder.replace(/^\/+/, '')
- // if(folder !== '/') folder.replace(/\/$/,'')
- // let ext = /\.\w+$/.exec(file.name)
- // if(ext.length) ext = ext[0].replace(/\./g, '')
- // const name = file.name.replace('.' + ext, '')
- // const isFileNew = moment.utc(dateToCrawlFrom, 'MM/DD/YYYY').isBefore(file.date)
- // if(folder) {
- // if(await isStored([folder, name], ext, { hashIt: false, gz: false }) || !isFileNew) continue
- // const stream = await ftp.get(folder + '/' + file.name)
- // await store([folder, name], ext, stream, { hashIt: false, gz: false })
- // }
- // else {
- // if(await isStored(name, ext, { hashIt: false, gz: false }) || !isFileNew) continue
- // const stream = await ftp.get('/' + file.name)
- // await store(name, ext, stream, { hashIt: false, gz: false })
- // }
- // metric(`file-${ext}`)
- // }
- // }
- // catch(err) {
- // console.log(err)
- // throw err
- // }
- // await ftp.end()
- },
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement