diff --git a/pype/premiere/extensions/com.pype/jsx/pype.jsx b/pype/premiere/extensions/com.pype/jsx/pype.jsx index 64be2badfa..90b6ce326c 100644 --- a/pype/premiere/extensions/com.pype/jsx/pype.jsx +++ b/pype/premiere/extensions/com.pype/jsx/pype.jsx @@ -638,18 +638,19 @@ $.pype = { var pdClips = pypeData.clips; var hierarchy; var parents; - + $.writeln('>> getClipAsInstance:clip.name ' + clip.name) if (pdClips[clip.name]) { parents = pdClips[clip.name].parents; hierarchy = pdClips[clip.name].hierarchy; } if (hierarchy === null) { - alert('First you need to rename clip sequencially with hierarchy!\nUse `Pype Rename` extension', 'No hierarchy data available at clip ' + clip.name + '!', 'error'); + $.pype.alert_message('First you need to rename clip sequencially with hierarchy!\nUse `Pype Rename` extension', 'No hierarchy data available at clip ' + clip.name + '!', 'error'); return; } var interpretation = clip.projectItem.getFootageInterpretation(); + $.writeln('>> getClipAsInstance:interpretation ' + interpretation) var instance = {}; instance.publish = true; instance.family = 'clip'; @@ -771,7 +772,8 @@ $.pype = { selected[s].clip, selected[s].sequence, selected[s].videoTrack, - pypeData + pypeData, + presets ); if (instance !== false) { instance.version = version; diff --git a/pype/premiere/extensions/com.pype/package.json b/pype/premiere/extensions/com.pype/package.json index 1c43c822a7..bf1c1e5d39 100644 --- a/pype/premiere/extensions/com.pype/package.json +++ b/pype/premiere/extensions/com.pype/package.json @@ -4,13 +4,13 @@ "description": "pype avalon integration", "main": "CSXS\\manifest.xml", "dependencies": { + "bluebird": "^3.7.2", "decompress-zip": "^0.2.2", "fs": "^0.0.1-security", - "fs-extra": "^9.0.0", - "https": "^1.0.0", "jsonfile": "^6.0.1", "junk": "^3.1.0", "mkdirp": "^1.0.4", + "node-fetch": "^2.6.0", "node-timecodes": "^2.5.0", "opn": "^6.0.0", "os": "^0.1.1", diff --git a/pype/premiere/ppro/index.html b/pype/premiere/ppro/index.html index f702e71900..d27c4aacc4 100644 --- a/pype/premiere/ppro/index.html +++ b/pype/premiere/ppro/index.html @@ -114,6 +114,9 @@ var ENV; +
  • + +
  • diff --git a/pype/premiere/ppro/js/pype.js b/pype/premiere/ppro/js/pype.js index ae82099066..378bc7d8ea 100644 --- a/pype/premiere/ppro/js/pype.js +++ b/pype/premiere/ppro/js/pype.js @@ -5,9 +5,23 @@ var output = document.getElementById('output'); var process = require('process'); var timecodes = require('node-timecodes'); +function displayResult (r) { + console.log(r); + _pype.csi.evalScript('$.writeln( ' + JSON.stringify(r) + ' )'); + output.classList.remove('error'); + output.innerText = r; +} + +function displayError (e) { + output.classList.add('error'); + output.innerText = e; +} + var _pype = { csi: csi, rootFolderPath: csi.getSystemPath(SystemPath.EXTENSION), + displayResult: displayResult, + displayError: displayError, getPresets: function () { var url = pras.getApiServerUrl(); var projectName = 'J01_jakub_test'; @@ -39,18 +53,6 @@ var _pype = { // }); // } -function displayResult (r) { - console.log(r); - _pype.csi.evalScript('$.writeln( ' + JSON.stringify(r) + ' )'); - output.classList.remove('error'); - output.innerText = r; -} - -function displayError (e) { - output.classList.add('error'); - output.innerText = e; -} - function loadExtensionDependencies () { // get extension path var extensionPath = _pype.csi.getSystemPath(SystemPath.EXTENSION); @@ -392,7 +394,11 @@ $('#btn-generateRequest').click(function () { }); $('#btn-newWorkfileVersion').click(function () { - evalScript('$.pype.versionUpWorkFile();'); + ; +}); + +$('#btn-testing').click(function () { + pras.get_presets('J01_jakub_tes'); }); _pype.getEnv(); diff --git a/pype/premiere/ppro/js/pype_restapi_client.js b/pype/premiere/ppro/js/pype_restapi_client.js index 4a518702b3..4bb703dcf2 100644 --- a/pype/premiere/ppro/js/pype_restapi_client.js +++ b/pype/premiere/ppro/js/pype_restapi_client.js @@ -1,5 +1,6 @@ /* global _pype */ // connecting pype module pype rest api server (pras) +const fetch = require('node-fetch'); var pras = { /** @@ -10,11 +11,41 @@ var pras = { var url = _pype.ENV.PYPE_REST_API_URL; return url }, + getRequestFromRestApiServer: function (url, callback) { + _pype.displayResult('inside of getRequestFromRestApiServer: ' + url) + fetch(url).then( + res => res.json()).then( + json => {callback(json)}); + }, load_representations: function (projectName, requestList) { // preparation for getting representations from api server console.log('Load Represention:projectName: ' + projectName); console.log('Load Represention:requestList: ' + requestList); }, + get_presets: function (projectName) { + var data = null; + var template = '{serverUrl}/adobe/presets/{projectName}'; + var url = template.format({ + serverUrl: pras.getApiServerUrl(), + projectName: projectName, + }); + _pype.displayResult(url); + + // send request to server + pras.getRequestFromRestApiServer(url, function (result) { + _pype.displayResult(JSON.stringify(result)); + if (result.hasOwnProperty ('success')) { + data = result.data; + _pype.displayResult('_ data came as dict'); + _pype.displayResult(JSON.stringify(data)); + } else { + _pype.displayResult('data came as nothing'); + _pype.displayError( + 'No data for `{projectName}` project in database'.format( + {projectName: projectName})); + } + }); + }, register_plugin_path: function (publishPath) { // preparation for getting representations from api server }, @@ -31,3 +62,16 @@ var pras = { // getting context of project } }; + +String.prototype.format = function (arguments) { + var this_string = ''; + for (var char_pos = 0; char_pos < this.length; char_pos++) { + this_string = this_string + this[char_pos]; + } + + for (var key in arguments) { + var string_key = '{' + key + '}' + this_string = this_string.replace(new RegExp(string_key, 'g'), arguments[key]); + } + return this_string; +};