semi working
This commit is contained in:
+35
-9
@@ -4,9 +4,9 @@ import json, logging
|
||||
from selection import sel
|
||||
import urllib.parse
|
||||
import urllib.request
|
||||
import config
|
||||
|
||||
LISTSERVS_URL = "http://127.0.0.1:5555"
|
||||
lists_to_serve = []
|
||||
lists_to_serve = config.listservs['lists_to_serve']
|
||||
|
||||
@app.route('/')
|
||||
def index():
|
||||
@@ -19,9 +19,35 @@ def selection():
|
||||
return render_template("selection.html", sel=s)
|
||||
|
||||
|
||||
@app.route('/tags')
|
||||
@app.route('/tags', methods = ['GET', 'POST'])
|
||||
def tags():
|
||||
return jsonify(result=sel.tags())
|
||||
if request.method == 'GET':
|
||||
return render_template("selection_tags.html", tags=sel.tags())
|
||||
if request.method == 'POST':
|
||||
data = request.form
|
||||
a = data.get('action')
|
||||
r = False
|
||||
if a == "delete":
|
||||
r = sel.delete(data.get('tagid'))
|
||||
elif a == "update":
|
||||
r = sel.update(data.get('tagid'), data.get('tag'), data.get('desc'))
|
||||
elif a == "new":
|
||||
r = sel.new(data.get('tag'), data.get('desc'))
|
||||
|
||||
if r:
|
||||
return "ok"
|
||||
return "-"
|
||||
|
||||
@app.route('/tags_w_lists', methods = ['GET', 'POST'])
|
||||
def tags_w_lists():
|
||||
if request.method == 'GET':
|
||||
return render_template("selection_tags_w_lists.html", tags=sel.tags_w_lists())
|
||||
if request.method == 'POST':
|
||||
data = request.form
|
||||
a = data.get('action')
|
||||
if a == "dump":
|
||||
if sel.commit_from_selection():
|
||||
return "done"
|
||||
|
||||
@app.route('/report')
|
||||
def report():
|
||||
@@ -44,7 +70,7 @@ def collect():
|
||||
msg = url + " already exists..."
|
||||
commited = []
|
||||
|
||||
return jsonify({ "msg": msg, "report": sel.report(), "commited": commited, "tag": tag})
|
||||
return jsonify({ "msg": msg, "commited": commited, "tag": tag})
|
||||
|
||||
|
||||
def filter_results_selection(res):
|
||||
@@ -64,7 +90,7 @@ def searh():
|
||||
if len(request.args) < 1:
|
||||
# q: list all table or keep predefined wconfig.lists_to_serve?
|
||||
# wconfig.lists_to_serve = archive.list_tables_db(config.db['database'], config.db['host'], config.db['user'], config.db['password'])
|
||||
r = urllib.request.urlopen(LISTSERVS_URL + '/lists')
|
||||
r = urllib.request.urlopen(config.listservs['url'] + '/lists')
|
||||
data = json.loads(r.read().decode('utf8'))
|
||||
lists_to_serve = data['lists']
|
||||
|
||||
@@ -86,16 +112,16 @@ def searh():
|
||||
data = {'keyword': k_arg, 'list': l_arg, 'field': f_arg}
|
||||
val = urllib.parse.urlencode(data)
|
||||
|
||||
URL = LISTSERVS_URL + '/search?' + val
|
||||
URL = config.listservs['url'] + '/search?' + val
|
||||
|
||||
logging.debug(val)
|
||||
|
||||
r = urllib.request.urlopen(LISTSERVS_URL + '/search?' + val)
|
||||
r = urllib.request.urlopen(config.listservs['url'] + '/search?' + val)
|
||||
data = json.loads(r.read().decode('utf8'))
|
||||
|
||||
filter_results_selection(data['result'])
|
||||
|
||||
return jsonify({'result': data['result'], 'tags': sel.tags()})
|
||||
return jsonify({'result': data['result'], 'tags': sel.tags_list()})
|
||||
|
||||
|
||||
|
||||
|
||||
+15
-1
@@ -21,4 +21,18 @@ aaa:hover {
|
||||
|
||||
bb {
|
||||
background-color: green;
|
||||
}
|
||||
}
|
||||
|
||||
/*tags*/
|
||||
|
||||
.tag_item {
|
||||
width: 30em;
|
||||
display: block;
|
||||
border: 1px black;
|
||||
margin: 1em;
|
||||
}
|
||||
|
||||
.tag_item textarea {
|
||||
width: 100%;
|
||||
margin-top: 0.5em;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
$(document).ready(function(){
|
||||
$('.tagedit').prop("readonly", true);
|
||||
$('.tagedit').click( function() {
|
||||
console.log("tagedit");
|
||||
$('.tagedit').prop("readonly", false);
|
||||
});
|
||||
|
||||
$('.tag_item').submit(function(e) { return false; });
|
||||
|
||||
$('.update, .delete').click(function(e) {
|
||||
var form = $(this).parent("form");
|
||||
var g = form.serialize() + "&tagid=" + form.data('tagid') + "&action=" + $(this).attr("value");
|
||||
$.post('/tags', g, function(d) {
|
||||
if(d === 'ok') {
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$('#new').click(function(e) {
|
||||
var v = $(this).text();
|
||||
console.log(v)
|
||||
if(v == "NEW") {
|
||||
var form = $(this).parent("form");
|
||||
form.append('<input name="tag" type="text" id="edit-tag" value="...">');
|
||||
form.append('<textarea name="desc" id="edit-desc">...</textarea>');
|
||||
$(this).text("ADD");
|
||||
} else if (v == "ADD") {
|
||||
if($("#edit-tag").val() === "..." & $("#edit-desc").text() === "...") {
|
||||
$(this).text("NEW");
|
||||
$("#edit-tag").remove()
|
||||
$("#edit-desc").remove()
|
||||
return;
|
||||
}
|
||||
var form = $(this).parent("form");
|
||||
var g = form.serialize() + "&action=new";
|
||||
$.post('/tags', g, function(d) {
|
||||
if(d === 'ok') {
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
$(this).text("NEW");
|
||||
$("#edit-tag").remove()
|
||||
$("#edit-desc").remove()
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,47 @@
|
||||
$(document).ready(function(){
|
||||
$('.tagedit').prop("readonly", true);
|
||||
$('.tagedit').click( function() {
|
||||
console.log("tagedit");
|
||||
$('.tagedit').prop("readonly", false);
|
||||
});
|
||||
|
||||
$('.tag_item').submit(function(e) { return false; });
|
||||
|
||||
$('.update, .delete').click(function(e) {
|
||||
var form = $(this).parent("form");
|
||||
var g = form.serialize() + "&tagid=" + form.data('tagid') + "&action=" + $(this).attr("value");
|
||||
$.post('/tags', g, function(d) {
|
||||
if(d === 'ok') {
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$('#new').click(function(e) {
|
||||
var v = $(this).text();
|
||||
console.log(v)
|
||||
if(v == "NEW") {
|
||||
var form = $(this).parent("form");
|
||||
form.append('<input name="tag" type="text" id="edit-tag" value="...">');
|
||||
form.append('<textarea name="desc" id="edit-desc">...</textarea>');
|
||||
$(this).text("ADD");
|
||||
} else if (v == "ADD") {
|
||||
if($("#edit-tag").val() === "..." & $("#edit-desc").text() === "...") {
|
||||
$(this).text("NEW");
|
||||
$("#edit-tag").remove()
|
||||
$("#edit-desc").remove()
|
||||
return;
|
||||
}
|
||||
var form = $(this).parent("form");
|
||||
var g = form.serialize() + "&action=new";
|
||||
$.post('/tags', g, function(d) {
|
||||
if(d === 'ok') {
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
$(this).text("NEW");
|
||||
$("#edit-tag").remove()
|
||||
$("#edit-desc").remove()
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,26 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Selection [tags]</title>
|
||||
<link rel="stylesheet" href="{{ url_for('static',filename='lestyle.css') }}">
|
||||
<script type="text/javascript" src="{{ url_for('static',filename='jquery-3.2.1.min.js') }}" charset="utf-8"></script>
|
||||
<script type="text/javascript" src="{{ url_for('static',filename='tags.js') }}"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Selection [tags]</h1>
|
||||
<form class="tag_item">
|
||||
<button id="new">NEW</button>
|
||||
</form>
|
||||
<hr>
|
||||
<div id="all">
|
||||
{% for v in tags %}
|
||||
<form class="tag_item" id="{{v.tag}}" method="post" data-tagid="{{v.tag}}">
|
||||
<input name="tag" class="tagedit" type="text" value="{{v.tag}}">
|
||||
<textarea name="desc">{{v.desc}}</textarea>
|
||||
<input type="submit" class="update" value="update">
|
||||
<input type="submit" class="delete" value="delete">
|
||||
</form>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,34 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Selection [tags w lists]</title>
|
||||
<link rel="stylesheet" href="{{ url_for('static',filename='lestyle.css') }}">
|
||||
<script type="text/javascript" src="{{ url_for('static',filename='jquery-3.2.1.min.js') }}" charset="utf-8"></script>
|
||||
<script type="text/javascript" src="{{ url_for('static',filename='tags_w_lists.js') }}"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Selection [tags w lists]</h1>
|
||||
<hr>
|
||||
<button id="commit">commit</button>
|
||||
<div id="all">
|
||||
{% for v in tags %}
|
||||
<hr>
|
||||
<div class="sel">
|
||||
<form class="tag_item" id="{{v.tag}}" method="post" data-tagid="{{v.tag}}">
|
||||
<input name="tag" class="tagedit" type="text" value="{{v.tag}}">
|
||||
<textarea name="desc">{{v.desc}}</textarea>
|
||||
<input type="submit" class="update" value="update">
|
||||
<input type="submit" class="delete" value="delete">
|
||||
</form>
|
||||
<lists>
|
||||
<ul>
|
||||
{% for h in v.lists %}
|
||||
<li><a href="{{h.url}}" target="_blank">{{h.subject}}</a> -- <i>{{h.author_name}}</i></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</lists>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user