@@ -282,8 +282,7 @@ def main():
282282 # standalone calls
283283 if not from_emcc :
284284 ret = '''
285- var Module = typeof %(EXPORT_NAME)s !== 'undefined' ? %(EXPORT_NAME)s : {};
286- ''' % {"EXPORT_NAME" : export_name }
285+ var Module = typeof %(EXPORT_NAME)s !== 'undefined' ? %(EXPORT_NAME)s : {};\n ''' % {"EXPORT_NAME" : export_name }
287286
288287 ret += '''
289288 if (!Module.expectedDataFileDownloads) {
@@ -294,14 +293,12 @@ def main():
294293 // When running as a pthread, FS operations are proxied to the main thread, so we don't need to
295294 // fetch the .data bundle on the worker
296295 if (Module['ENVIRONMENT_IS_PTHREAD']) return;
297- var loadPackage = function(metadata) {
298- '''
296+ var loadPackage = function(metadata) {\n '''
299297
300298 code = '''
301299 function assert(check, msg) {
302300 if (!check) throw msg + new Error().stack;
303- }
304- '''
301+ }\n '''
305302
306303 for file_ in data_files :
307304 if not should_ignore (file_ ['srcpath' ]):
@@ -428,62 +425,60 @@ def was_seen(name):
428425 }, false, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change
429426 '''
430427 create_data = '''
431- Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change
428+ // canOwn this data in the filesystem, it is a slide into the heap that will never change
429+ Module['FS_createDataFile'](this.name, null, byteArray, true, true, true);
432430 Module['removeRunDependency']('fp ' + that.name);
433431 '''
434432
435433 if not lz4 :
436434 # Data requests - for getting a block of data out of the big archive - have
437435 # a similar API to XHRs
438436 code += '''
439- /** @constructor */
440- function DataRequest(start, end, audio) {
441- this.start = start;
442- this.end = end;
443- this.audio = audio;
444- }
445- DataRequest.prototype = {
446- requests: {},
447- open: function(mode, name) {
448- this.name = name;
449- this.requests[name] = this;
450- Module['addRunDependency']('fp ' + this.name);
451- },
452- send: function() {},
453- onload: function() {
454- var byteArray = this.byteArray.subarray(this.start, this.end);
455- this.finish(byteArray);
456- },
457- finish: function(byteArray) {
458- var that = this;
459- %s
460- this.requests[this.name] = null;
461- }
462- };
437+ /** @constructor */
438+ function DataRequest(start, end, audio) {
439+ this.start = start;
440+ this.end = end;
441+ this.audio = audio;
442+ }
443+ DataRequest.prototype = {
444+ requests: {},
445+ open: function(mode, name) {
446+ this.name = name;
447+ this.requests[name] = this;
448+ Module['addRunDependency']('fp ' + this.name);
449+ },
450+ send: function() {},
451+ onload: function() {
452+ var byteArray = this.byteArray.subarray(this.start, this.end);
453+ this.finish(byteArray);
454+ },
455+ finish: function(byteArray) {
456+ var that = this;
463457 %s
464- ''' % (create_preloaded if use_preload_plugins else create_data , '''
465- var files = metadata['files'];
466- for (var i = 0; i < files.length; ++i) {
467- new DataRequest(files[i]['start'], files[i]['end'], files[i]['audio'] || 0).open('GET', files[i]['filename']);
468- }
469- ''' )
458+ this.requests[this.name] = null;
459+ }
460+ };
470461
471- counter = 0
472- for file_ in data_files :
462+ var files = metadata['files'];
463+ for (var i = 0; i < files.length; ++i) {
464+ new DataRequest(files[i]['start'], files[i]['end'], files[i]['audio'] || 0).open('GET', files[i]['filename']);
465+ }\n ''' % (create_preloaded if use_preload_plugins else create_data )
466+
467+ for (counter , file_ ) in enumerate (data_files ):
473468 filename = file_ ['dstpath' ]
474469 dirname = os .path .dirname (filename )
475470 basename = os .path .basename (filename )
476471 if file_ ['mode' ] == 'embed' :
477472 # Embed
478473 data = base64_encode (utils .read_binary (file_ ['srcpath' ]))
479- code += '''var fileData%d = '%s';\n ''' % (counter , data )
480- code += ('''Module['FS_createDataFile']('%s', '%s', decodeBase64(fileData%d), true, true, false);\n '''
474+ indent = ' '
475+ code += indent
476+ code += "var fileData%d = '%s';\n " % (counter , data )
477+ code += indent
478+ code += ("Module['FS_createDataFile']('%s', '%s', decodeBase64(fileData%d), true, true, false);\n "
481479 % (dirname , basename , counter ))
482- counter += 1
483480 elif file_ ['mode' ] == 'preload' :
484481 # Preload
485- counter += 1
486-
487482 metadata_el = {
488483 'filename' : file_ ['dstpath' ],
489484 'start' : file_ ['data_start' ],
@@ -501,14 +496,12 @@ def was_seen(name):
501496 # Get the big archive and split it up
502497 use_data = '''
503498 // Reuse the bytearray from the XHR as the source for file reads.
504- DataRequest.prototype.byteArray = byteArray;
505- '''
499+ DataRequest.prototype.byteArray = byteArray;\n '''
506500 use_data += '''
507- var files = metadata['files'];
508- for (var i = 0; i < files.length; ++i) {
509- DataRequest.prototype.requests[files[i].filename].onload();
510- }
511- '''
501+ var files = metadata['files'];
502+ for (var i = 0; i < files.length; ++i) {
503+ DataRequest.prototype.requests[files[i].filename].onload();
504+ }\n '''
512505 use_data += (" Module['removeRunDependency']('datafile_%s');\n "
513506 % js_manipulation .escape_for_js_string (data_target ))
514507
@@ -723,7 +716,7 @@ def was_seen(name):
723716 # add Node.js support code, if necessary
724717 node_support_code = ''
725718 if support_node :
726- node_support_code = r '''
719+ node_support_code = '''
727720 if (typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string') {
728721 require('fs').readFile(packageName, function(err, contents) {
729722 if (err) {
@@ -733,9 +726,8 @@ def was_seen(name):
733726 }
734727 });
735728 return;
736- }
737- '''
738- ret += r'''
729+ }\n '''
730+ ret += '''
739731 function fetchRemotePackage(packageName, packageSize, callback, errback) {
740732 %(node_support_code)s
741733 var xhr = new XMLHttpRequest();
@@ -787,28 +779,25 @@ def was_seen(name):
787779
788780 function handleError(error) {
789781 console.error('package error:', error);
790- };
791- ''' % {'node_support_code' : node_support_code }
782+ };\n ''' % {'node_support_code' : node_support_code }
792783
793- code += r '''
784+ code += '''
794785 function processPackageData(arrayBuffer) {
795786 assert(arrayBuffer, 'Loading data file failed.');
796787 assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData');
797788 var byteArray = new Uint8Array(arrayBuffer);
798789 var curr;
799790 %s
800791 };
801- Module['addRunDependency']('datafile_%s');
802- ''' % (use_data , js_manipulation .escape_for_js_string (data_target ))
792+ Module['addRunDependency']('datafile_%s');\n ''' % (use_data , js_manipulation .escape_for_js_string (data_target ))
803793 # use basename because from the browser's point of view,
804794 # we need to find the datafile in the same dir as the html file
805795
806- code += r'''
807- if (!Module.preloadResults) Module.preloadResults = {};
808- '''
796+ code += '''
797+ if (!Module.preloadResults) Module.preloadResults = {};\n '''
809798
810799 if use_preload_cache :
811- code += r '''
800+ code += '''
812801 function preloadFallback(error) {
813802 console.error(error);
814803 console.error('falling back to default preload behavior');
@@ -838,40 +827,36 @@ def was_seen(name):
838827 }
839828 , preloadFallback);
840829
841- if (Module['setStatus']) Module['setStatus']('Downloading...');
842- '''
830+ if (Module['setStatus']) Module['setStatus']('Downloading...');\n '''
843831 else :
844832 # Not using preload cache, so we might as well start the xhr ASAP,
845833 # potentially before JS parsing of the main codebase if it's after us.
846834 # Only tricky bit is the fetch is async, but also when runWithFS is called
847835 # is async, so we handle both orderings.
848- ret += r'''
849- var fetchedCallback = null;
850- var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null;
851-
852- if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) {
853- if (fetchedCallback) {
854- fetchedCallback(data);
855- fetchedCallback = null;
856- } else {
857- fetched = data;
858- }
859- }, handleError);
860- '''
861-
862- code += r'''
863- Module.preloadResults[PACKAGE_NAME] = {fromCache: false};
864- if (fetched) {
865- processPackageData(fetched);
866- fetched = null;
836+ ret += '''
837+ var fetchedCallback = null;
838+ var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null;
839+
840+ if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) {
841+ if (fetchedCallback) {
842+ fetchedCallback(data);
843+ fetchedCallback = null;
867844 } else {
868- fetchedCallback = processPackageData ;
845+ fetched = data ;
869846 }
870- '''
847+ }, handleError);\n '''
848+
849+ code += '''
850+ Module.preloadResults[PACKAGE_NAME] = {fromCache: false};
851+ if (fetched) {
852+ processPackageData(fetched);
853+ fetched = null;
854+ } else {
855+ fetchedCallback = processPackageData;
856+ }\n '''
871857
872858 ret += '''
873- function runWithFS() {
874- '''
859+ function runWithFS() {\n '''
875860 ret += code
876861 ret += '''
877862 }
@@ -880,15 +865,14 @@ def was_seen(name):
880865 } else {
881866 if (!Module['preRun']) Module['preRun'] = [];
882867 Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it
883- }
884- '''
868+ }\n '''
885869
886870 if separate_metadata :
887871 _metadata_template = '''
888872 Module['removeRunDependency']('%(metadata_file)s');
889- }
873+ }
890874
891- function runMetaWithFS() {
875+ function runMetaWithFS() {
892876 Module['addRunDependency']('%(metadata_file)s');
893877 var REMOTE_METADATA_NAME = Module['locateFile'] ? Module['locateFile']('%(metadata_file)s', '') : '%(metadata_file)s';
894878 var xhr = new XMLHttpRequest();
@@ -900,25 +884,22 @@ def was_seen(name):
900884 xhr.open('GET', REMOTE_METADATA_NAME, true);
901885 xhr.overrideMimeType('application/json');
902886 xhr.send(null);
903- }
887+ }
904888
905- if (Module['calledRun']) {
889+ if (Module['calledRun']) {
906890 runMetaWithFS();
907- } else {
891+ } else {
908892 if (!Module['preRun']) Module['preRun'] = [];
909893 Module["preRun"].push(runMetaWithFS);
910- }
911- ''' % {'metadata_file' : os .path .basename (jsoutput + '.metadata' )}
894+ }\n ''' % {'metadata_file' : os .path .basename (jsoutput + '.metadata' )}
912895
913896 else :
914897 _metadata_template = '''
915- }
916- loadPackage(%s);
917- ''' % json .dumps (metadata )
898+ }
899+ loadPackage(%s);\n ''' % json .dumps (metadata )
918900
919901 ret += '''%s
920- })();
921- ''' % _metadata_template
902+ })();\n ''' % _metadata_template
922903
923904 if force or len (data_files ):
924905 if jsoutput is None :
0 commit comments