utilities.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. var fs = require('fs')
  2. const request = require('request');
  3. const chalk = require('chalk');
  4. const logSymbols = require('log-symbols');
  5. module.exports.copyFile = function(original_path, destination_path){
  6. try {
  7. fs.copyFileSync(original_path, destination_path);
  8. return true;
  9. } catch (err){
  10. if(err.code == 'ENOENT'){
  11. if(global.isVerbose) {
  12. console.log(logSymbols.error, chalk.red(`ERROR: File not found: \'${original_path}\'`))
  13. }
  14. } else {
  15. if(global.isVerbose) console.log(logSymbols.error, chalk.red('An error occured: '));
  16. if(global.isVerbose) console.log(err);
  17. }
  18. return false;
  19. }
  20. }
  21. function vimeoCheck(url) {
  22. return new Promise((resolve, reject) => {
  23. request(`https://vimeo.com/api/oembed.json?url=${url}`, (error, response, body) => {
  24. if (error) reject(error);
  25. if (response.statusCode == 200) {
  26. resolve(true)
  27. } else if (response.statusCode == 404) {
  28. resolve(false)
  29. }
  30. });
  31. });
  32. }
  33. module.exports.getDirectories = function(source) {
  34. return fs.readdirSync(source, { withFileTypes: true })
  35. .filter(item => item.isDirectory())
  36. .map(item => item.name);
  37. }
  38. module.exports.fileExists = function(path){
  39. if (fs.existsSync(path)) return true;
  40. else return false;
  41. }
  42. module.exports.createDirectory = function(dir){
  43. if (!fs.existsSync(dir)){
  44. fs.mkdirSync(dir);
  45. }
  46. }
  47. module.exports.checkVideo = async function checkVideo(url) {
  48. try {
  49. if(url.includes("vimeo")){
  50. return await vimeoCheck(url)
  51. }
  52. } catch (error) {
  53. console.error('ERROR:');
  54. console.error(error);
  55. }
  56. }