Created
November 23, 2019 00:45
-
-
Save eojji/6e4b20ece8c5bfd915a9c98cb03c405d to your computer and use it in GitHub Desktop.
makeCopy web app https://copy.eojji.kr/make
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function inputByForm_(inputString, destinationFolder, logSpreadSheet) { | |
var startTime = Date.now(); | |
var appMessage = {}; | |
var rowContents; | |
var respId = getIdFromUrl(inputString); | |
if (!respId) { | |
appMessage.message = 'Not found ID'; | |
console.log('%s, input: %s - inputByForm', appMessage.message, inputString); | |
rowContents = [appMessage.message]; | |
logSheetAppendRow(logSpreadSheet, rowContents); | |
return appMessage; | |
} | |
var file = DriveApp.getFileById(respId); | |
var respMimeType = file.getMimeType(); | |
if (respMimeType === MimeType.FOLDER) { | |
console.log('MimeType.FOLDER, ID: %s', respId); | |
var folder = DriveApp.getFolderById(respId); | |
rowContents = ['Copying folder', folder.getName(), folder.getUrl()]; | |
logSheetAppendRow(logSpreadSheet, rowContents); | |
console.log(rowContents); | |
appMessage.title = destinationFolder.getName(); | |
appMessage.url = destinationFolder.getUrl(); | |
var files = folder.getFiles(); | |
while (files.hasNext()) { | |
var currTime = (new Date()).getTime(); | |
var elapsedTimeInMS = currTime - startTime; | |
if (elapsedTimeInMS >= MAX_RUNNING_TIME_MS) { | |
var rFileToken = files.getContinuationToken(); | |
rUserProperty.setProperty(ITERATOR_KEY, rFileToken); | |
appMessage.message = 'copyTrigger(1000), time, Limit Exceeded'; | |
triggerAfterByName('copyTrigger', 1000); | |
rowContents = [appMessage.message, appMessage.title, appMessage.url]; | |
logSheetAppendRow(logSpreadSheet, rowContents); | |
console.log(rowContents); | |
return appMessage; | |
} | |
var fileN = files.next(); | |
try { | |
var rMakeCopy = fileN.makeCopy(destinationFolder); | |
} catch(e) { | |
rowContents = ['Error', fileN.getUrl(), e.message, e.name]; | |
logSheetAppendRow(logSpreadSheet, rowContents); | |
console.warn(rowContents); | |
continue; | |
} | |
} | |
appMessage.message = 'Completed'; | |
rowContents = [appMessage.message, appMessage.title, appMessage.url]; | |
logSheetAppendRow(logSpreadSheet, rowContents); | |
rUserProperty.deleteProperty(ITERATOR_KEY); | |
console.log(rowContents); | |
return appMessage; | |
} | |
// if (respMimeType !== MimeType.FOLDER) | |
console.log('MimeType: %s, ID: %s', respMimeType, respId); | |
var rMakeCopy = file.makeCopy(destinationFolder); | |
appMessage.message = 'Created a copy of the file.'; | |
appMessage.title = rMakeCopy.getName(); | |
appMessage.url = rMakeCopy.getUrl(); | |
rowContents = [appMessage.message, appMessage.title, appMessage.url]; | |
logSheetAppendRow(logSpreadSheet, rowContents); | |
console.log(rowContents); | |
return appMessage; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment