updated server scripts
This commit is contained in:
parent
002f6aa7fb
commit
23414b6d8b
104
plugin-loader.js
104
plugin-loader.js
|
@ -1,48 +1,56 @@
|
||||||
function plugin_load(config, div, entry) {
|
function plugin_start(div, entry, editable) {
|
||||||
$("#load-pre-status").text("Loading...");
|
if(typeof plugin_init !== 'undefined') plugin_init(div, entry, editable);
|
||||||
var status_span = $('#load-status');
|
if(typeof plugin_render !== 'undefined') plugin_render(div, entry);
|
||||||
|
}
|
||||||
var len1 = config.javascript && config.javascript.length || 0;
|
|
||||||
var len2 = config.globals && config.javascript.length || 0;
|
function plugin_load(config, div, entry, editable) {
|
||||||
var num_progress = len1 + len2;
|
$("#load-pre-status").text("Loading...");
|
||||||
|
var status_span = $('#load-status');
|
||||||
status_span.after(" / " + num_progress);
|
|
||||||
status_span.text("0");
|
var len_deps = config.dependencies && config.dependencies.length || 0;
|
||||||
|
var len_globals = config.globals && Object.keys(config.globals).length || 0;
|
||||||
var progress = 0;
|
|
||||||
var check = function() {
|
var progress = 0;
|
||||||
if (++progress == num_progress) {
|
var num_progress = len_deps + len_globals;
|
||||||
status_span.parent().empty();
|
|
||||||
if(typeof plugin_init !== 'undefined') plugin_init(div, entry);
|
status_span.after(" / " + num_progress);
|
||||||
if(typeof plugin_render !== 'undefined') plugin_render(div, entry);
|
status_span.text("0");
|
||||||
}
|
|
||||||
}
|
var check = function() {
|
||||||
|
status_span.text(progress + 1 + "");
|
||||||
config.javascript.forEach(function(script) {
|
if (++progress >= num_progress) { // has to be >= for num_progress = 0
|
||||||
$.ajax({
|
status_span.parent().empty();
|
||||||
dataType: "script",
|
$.ajax({dataType: "script", cache: true, url: config.javascript, success: function() { plugin_start(div, entry, editable); }});
|
||||||
cache: true,
|
}
|
||||||
url: script,
|
}
|
||||||
success: function () {
|
|
||||||
status_span.text(progress + 1 + "");
|
config.dependencies.forEach(function(script) {
|
||||||
check();
|
$.ajax({
|
||||||
}
|
dataType: "script",
|
||||||
});
|
cache: true,
|
||||||
});
|
url: script,
|
||||||
|
success: check
|
||||||
Object.keys(config.globals).forEach(function(global_name) {
|
});
|
||||||
$.get(config.globals[global_name], function(data) {
|
});
|
||||||
window[global_name] = data;
|
|
||||||
check();
|
Object.keys(config.globals).forEach(function(global_name) {
|
||||||
});
|
$.get(config.globals[global_name], function(data) {
|
||||||
});
|
window[global_name] = data;
|
||||||
|
check();
|
||||||
config.css.forEach(function(css_url) {
|
});
|
||||||
var link = document.createElement('link');
|
});
|
||||||
link.rel = 'stylesheet';
|
|
||||||
link.type = 'text/css';
|
config.css.forEach(function(css_url) {
|
||||||
link.href = css_url;
|
var link = document.createElement('link');
|
||||||
link.media = 'all';
|
link.rel = 'stylesheet';
|
||||||
$('head').append(link);
|
link.type = 'text/css';
|
||||||
});
|
link.href = css_url;
|
||||||
}
|
link.media = 'all';
|
||||||
|
$('head').append(link);
|
||||||
|
});
|
||||||
|
|
||||||
|
// always adding a style element for to use for convenience
|
||||||
|
$('head').append($('<style id="dynamic_styler"></style>'));
|
||||||
|
|
||||||
|
if(num_progress == 0) check();
|
||||||
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ $LOCATION$ -> location of plugin
|
||||||
every plugin is its own folder and if folder is
|
every plugin is its own folder and if folder is
|
||||||
"myplugin" and this website's url is "http://example.com",
|
"myplugin" and this website's url is "http://example.com",
|
||||||
then $LOCATION$ gets the value of http://example.com/myplugin
|
then $LOCATION$ gets the value of http://example.com/myplugin
|
||||||
|
requirements: flask, redis
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
@ -18,14 +19,11 @@ import random
|
||||||
|
|
||||||
import redis
|
import redis
|
||||||
from flask import Flask, Response, request
|
from flask import Flask, Response, request
|
||||||
from flask_cors import CORS
|
|
||||||
|
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
CORS(app, resources={r"/*": {"origins": "*"}})
|
|
||||||
redis = redis.Redis(host='localhost', port=6379, db=0)
|
redis = redis.Redis(host='localhost', port=6379, db=0)
|
||||||
|
|
||||||
URL = "http://plugins.lexonomy.cjvt.si"
|
URL = "https://plugins.lexonomy.cjvt.si"
|
||||||
REPLACE_STRING = "$LOCATION$"
|
REPLACE_STRING = "$LOCATION$"
|
||||||
|
|
||||||
|
|
||||||
|
@ -50,7 +48,7 @@ def generate_etag(N=12):
|
||||||
|
|
||||||
|
|
||||||
def return_file(path, plugin=None):
|
def return_file(path, plugin=None):
|
||||||
full_path = path if plugin is None else "plugins/{}/{}".format(plugin, path)
|
full_path = path if plugin is None else"{}/{}".format(plugin, path)
|
||||||
|
|
||||||
if not os.path.isfile(full_path):
|
if not os.path.isfile(full_path):
|
||||||
return "File not found", 404
|
return "File not found", 404
|
||||||
|
@ -102,6 +100,7 @@ def return_file(path, plugin=None):
|
||||||
elif request.headers['If-None-Match'] != etag:
|
elif request.headers['If-None-Match'] != etag:
|
||||||
status_code = 200
|
status_code = 200
|
||||||
|
|
||||||
|
status_code = 200
|
||||||
return Response(result, mimetype=mt, headers=headers, status=status_code)
|
return Response(result, mimetype=mt, headers=headers, status=status_code)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user