Mwalker has uploaded a new change for review. https://gerrit.wikimedia.org/r/148744
Change subject: Allow file copies across file systems ...................................................................... Allow file copies across file systems Also... use rimraf because that now comes with mv Change-Id: I95b198d9378d1969014aa162caca263462a5e878 --- M lib/threads/backend.js M package.json 2 files changed, 8 insertions(+), 32 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Collection/OfflineContentGenerator refs/changes/44/148744/1 diff --git a/lib/threads/backend.js b/lib/threads/backend.js index 3bef53d..5c257c1 100644 --- a/lib/threads/backend.js +++ b/lib/threads/backend.js @@ -29,6 +29,7 @@ var eh = require( '../errorhelper.js' ); var fs = require( 'fs' ); var mime = require( 'mime' ); +var mv = require('mv'); var path = require( 'path' ); var os = require( 'os' ); var sprintf = require( 'sprintf-js' ).sprintf; @@ -229,19 +230,19 @@ // Move files into a triage area for later poking at if ( config.backend.post_mortem_dir ) { if ( metabookFile ) { - fs.rename( + mv( metabookFile, path.join( config.backend.post_mortem_dir, path.basename( metabookFile ) ) ); } if ( bundleFile ) { - fs.rename( + mv( bundleFile, path.join( config.backend.post_mortem_dir, path.basename( bundleFile ) ) ); } if ( renderedFile ) { - fs.rename( + mv( renderedFile, path.join( config.backend.post_mortem_dir, path.basename( renderedFile ) ) ); @@ -274,8 +275,8 @@ } ) .then( function() { // Cleanup any mess we left, leave the rendered file for later pickup - if ( metabookFile ) { rmrfSync( metabookFile ); } - if ( bundleFile ) { rmrfSync( bundleFile ); } + if ( metabookFile ) { rimraf( metabookFile ); } + if ( bundleFile ) { rimraf( bundleFile ); } } ); } @@ -464,33 +465,6 @@ } return p.promise; -} - -/** - * Recursively delete everything under path. File can be a directory or - * a file. Equivalent to `rm -rf`. - * - * @param file - * @param stat Internal use; stat results for path - */ -function rmrfSync( file, stat ) { - stat = stat || fs.statSync( file ); - if ( stat.isDirectory() ) { - var list = fs.readdirSync( file ); - for( var i = 0; i < list.length; i++ ) { - var filename = path.join( file, list[i] ); - stat = fs.statSync( filename ); - - if( stat.isDirectory() ) { - rmrfSync( filename, stat ); - } else { - fs.unlinkSync( filename ); - } - } - fs.rmdirSync( file ); - } else { - fs.unlinkSync( file ); - } } function BackendError( message ) { diff --git a/package.json b/package.json index 65c7796..5ed7703 100644 --- a/package.json +++ b/package.json @@ -24,8 +24,10 @@ "commander": "~2.2.0", "es6-shim": "~0.13.0", "mime": "~1.2.11", + "mv": "~2.0.1", "prfun": "~1.0.0", "redis": "~0.9.0", + "rimraf": "~2.2.2", "winston": "~0.7.3", "sprintf-js": "0.0.7" }, -- To view, visit https://gerrit.wikimedia.org/r/148744 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I95b198d9378d1969014aa162caca263462a5e878 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Collection/OfflineContentGenerator Gerrit-Branch: master Gerrit-Owner: Mwalker <mwal...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits