semi working

This commit is contained in:
gauthiier
2019-12-23 14:54:12 +01:00
parent 74fb0d6f0b
commit 45393ec97d
10 changed files with 768 additions and 4338 deletions
+35 -9
View File
@@ -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
View File
@@ -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;
}
+47
View File
@@ -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()
}
});
});
+47
View File
@@ -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()
}
});
});
+26
View File
@@ -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>
+34
View File
@@ -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>