// Moves the location of tag in the file name // possible directions should be next, prev, last, first function moveTagLocation(filePath, tagName, direction) { console.log('Moves the location of tag in the file name: ' + filePath); var fileName = extractFileName(filePath); var containingDirectoryPath = extractContainingDirectoryPath(filePath); var extractedTags = extractTags(filePath); var tmpTag; for (var i = 0; i < extractedTags.length; i++) { // check if tag is already in the tag array if (extractedTags[i] === tagName) { if (direction === 'prev' && i > 0) { tmpTag = extractedTags[i - 1]; extractedTags[i - 1] = extractedTags[i]; extractedTags[i] = tmpTag; break; } else if (direction === 'next' && i < extractedTags.length - 1) { tmpTag = extractedTags[i]; extractedTags[i] = extractedTags[i + 1]; extractedTags[i + 1] = tmpTag; break; } else if (direction === 'first' && i > 0) { tmpTag = extractedTags[i]; extractedTags[i] = extractedTags[0]; extractedTags[0] = tmpTag; break; } } } var newFileName = generateFileName(fileName, extractedTags); TSCORE.IO.renameFile(filePath, containingDirectoryPath + TSCORE.dirSeparator + newFileName); }
drop: function( event, ui ) { var filePath = ui.draggable.attr("filepath"); var fileName = TSCORE.TagUtils.extractFileName(filePath); var targetDir = $(this).attr("key"); console.log("Moving file: "+filePath+" to "+targetDir); TSCORE.IO.renameFile(filePath, targetDir+TSCORE.dirSeparator+fileName); $(ui.helper).remove(); }
$( '#renameFileButton' ).click(function() { var initialFilePath = $( "#renamedFileName" ).attr("filepath"); var containingDir = TSCORE.TagUtils.extractContainingDirectoryPath(initialFilePath); TSCORE.IO.renameFile( initialFilePath, containingDir+TSCORE.dirSeparator+$( "#renamedFileName" ).val() ); });
drop: function(event, ui) { ui.draggable.detach(); var filePath = ui.draggable.attr('filepath'); var fileName = TSCORE.TagUtils.extractFileName(filePath); var targetDir = $(this).attr('key'); console.log('Moving file: ' + filePath + ' to ' + targetDir); TSCORE.IO.renameFile(filePath, targetDir + TSCORE.dirSeparator + fileName); $(ui.helper).remove(); }
$( "#moveFilesButton" ).click(function(e) { e.preventDefault(); TSCORE.showWaitingDialog("Files are being renaming"); var newFilePath; for (var i = 0; i < TSCORE.selectedFiles.length; i++) { newFilePath = $("#moveCopyDirectoryPath").val()+TSCORE.dirSeparator+TSCORE.TagUtils.extractFileName(TSCORE.selectedFiles[i]); TSCORE.IO.renameFile(TSCORE.selectedFiles[i],newFilePath); } });
function cleanFileFromTags(filePath) { console.log("Cleaning file from tags: " + filePath); var fileTitle = extractTitle(filePath); var fileExt = extractFileExtension(filePath); var containingDirectoryPath = extractContainingDirectoryPath(filePath); if(fileExt.length > 0) { fileExt = "."+fileExt; } TSCORE.IO.renameFile(filePath, containingDirectoryPath+TSCORE.dirSeparator+fileTitle+fileExt); }
drop: function( event, ui ) { // Fixing issue with dropping on stacked/overlapped directories if( $(this).parent().parent().parent().hasClass("in") ) { var filePath = ui.draggable.attr("filepath"); var fileName = TSCORE.TagUtils.extractFileName(filePath); var targetDir = $(this).attr("key"); console.log("Moving file: "+filePath+" to "+targetDir); TSCORE.IO.renameFile(filePath, targetDir+TSCORE.dirSeparator+fileName); $(ui.helper).remove(); } }
drop: function(event, ui) { ui.draggable.detach(); // Fixing issue with dropping on stacked/overlapped directories if ($(this).parent().parent().parent().hasClass('in')) { var filePath = ui.draggable.attr('filepath'); var fileName = TSCORE.TagUtils.extractFileName(filePath); var targetDir = $(this).attr('key'); console.log('Moving file: ' + filePath + ' to ' + targetDir); TSCORE.IO.renameFile(filePath, targetDir + TSCORE.dirSeparator + fileName); $(ui.helper).remove(); } }
$( '#renameFileButton' ).click(function() { var bValid = true; // bValid = bValid && checkLength( $( "#renamedFileName" ).val(), "filename", 3, 200 ); // bValid = bValid && checkRegexp( renamedFileName, /^[a-z]([0-9a-z_.])+$/i, "Filename may consist of a-z, 0-9, underscores, begin with a letter." ); if ( bValid ) { var containingDir = TSCORE.TagUtils.extractContainingDirectoryPath(TSCORE.selectedFiles[0]); TSCORE.IO.renameFile( $( "#renamedFileName" ).attr("filepath"), containingDir+TSCORE.dirSeparator+$( "#renamedFileName" ).val() ); } });
function changeTitle(filePath, newTitle) { console.log('Changing title for file: ' + filePath); var containingDirectoryPath = extractContainingDirectoryPath(filePath); var extractedTags = extractTags(filePath); var fileExt = extractFileExtension(filePath); if (fileExt.length > 0) { fileExt = '.' + fileExt; } // TODO generalize generateFileName to support fileTitle & fileExtension var newFileName = generateFileName(newTitle, extractedTags); TSCORE.IO.renameFile(filePath, containingDirectoryPath + TSCORE.dirSeparator + newFileName + fileExt); return true; }
// Removing a tag from a filename function removeTag(filePath, tagName) { console.log('Removing tag: ' + tagName + ' from ' + filePath); var fileName = extractFileName(filePath); var containingDirectoryPath = extractContainingDirectoryPath(filePath); var tags = extractTags(filePath); var newTags = []; for (var i = 0; i < tags.length; i++) { if (tags[i] !== tagName) { newTags.push(tags[i]); } } var newFileName = generateFileName(fileName, newTags); TSCORE.IO.renameFile(filePath, containingDirectoryPath + TSCORE.dirSeparator + newFileName); }
// Replaces a tag with a new one function renameTag(filePath, oldTag, newTag) { console.log('Rename tag for file: ' + filePath); var fileName = extractFileName(filePath); var containingDirectoryPath = extractContainingDirectoryPath(filePath); var extractedTags = extractTags(filePath); for (var i = 0; i < extractedTags.length; i++) { // check if tag is already in the tag array if (extractedTags[i] === oldTag) { extractedTags[i] = newTag.trim(); } } var newFileName = generateFileName(fileName, extractedTags); TSCORE.IO.renameFile(filePath, containingDirectoryPath + TSCORE.dirSeparator + newFileName); }
function writeTagsToFile(filePath, tags) { console.log('Add the tags to: ' + filePath); var fileName = extractFileName(filePath); var containingDirectoryPath = extractContainingDirectoryPath(filePath); var extractedTags = extractTags(filePath); for (var i = 0; i < tags.length; i++) { // check if tag is already in the tag array if (extractedTags.indexOf(tags[i].trim()) < 0) { // Adding the new tag extractedTags.push(tags[i].trim()); } } var newFileName = generateFileName(fileName, extractedTags); TSCORE.IO.renameFile(filePath, containingDirectoryPath + TSCORE.dirSeparator + newFileName); }
function removeTagsFromFile(filePath, tags) { console.log('Remove the tags from: ' + filePath); var fileName = extractFileName(filePath); var containingDirectoryPath = extractContainingDirectoryPath(filePath); var extractedTags = extractTags(filePath); for (var i = 0; i < tags.length; i++) { // check if tag is already in the tag array var tagLoc = extractedTags.indexOf(tags[i].trim()); if (tagLoc >= 0) { // Remove the new tag extractedTags.splice(tagLoc, 1); } } var newFileName = generateFileName(fileName, extractedTags); TSCORE.IO.renameFile(filePath, containingDirectoryPath + TSCORE.dirSeparator + newFileName); }