From 44a6ab2d2784d6749c3fae5b829f1e7e606d215d Mon Sep 17 00:00:00 2001 From: q Date: Mon, 4 Jul 2016 10:04:27 +0300 Subject: [PATCH] utf stuff, fixing toggling --- shop.py | 18 +++++++++--------- static/script.js | 20 +++++++++++++------- templates/show_shop.html | 12 ++++++------ 3 files changed, 28 insertions(+), 22 deletions(-) diff --git a/shop.py b/shop.py index 12890f3..cb23f13 100644 --- a/shop.py +++ b/shop.py @@ -120,8 +120,8 @@ def show_shop(shopid): data_dir=os.path.join(DATADIR, get_username(row[2])) data_file=os.path.join(data_dir, row[1]+".md") entries=[] - content=open(data_file, 'rt').read() - for i,row in enumerate(open( data_file, 'rt').read().split("\n")): + content=open(data_file, 'rt').read().decode('utf-8') + for i,row in enumerate(open( data_file, 'rt').read().decode('utf-8').split("\n")): # any parsing magick would be here if row=="": continue @@ -130,7 +130,7 @@ def show_shop(shopid): if "[ ]" in row or "[x]" in row: icon=u"\u2714" extra_class="" - row=urlify(row) + row=urlify(row).encode('ascii', 'xmlcharrefreplace') entries.append( dict(row=i, text=row, icon=icon, extra_class=extra_class) ) shared_to=[] cur = g.db.execute('select * from shares') @@ -176,7 +176,7 @@ def add_items(): if row.strip()=="": continue count+=1 - contents_file.write("[ ] %s\n"%row.strip()) + contents_file.write("[ ] %s\n"%row.strip().encode('utf-8')) contents_file.close() flash('Added %d items'%(count)) return redirect(url_for('show_shop',shopid=shopid)) @@ -195,7 +195,7 @@ def edit_md(): copyfile(data_file, backup) contents_file=open(data_file,'wt') for row in request.form['edit_md'].split("\n"): - contents_file.write("%s\n"%row) + contents_file.write("%s\n"%row.encode('utf-8')) contents_file.close() flash('Saved new file.') return redirect(url_for('show_shop',shopid=shopid)) @@ -218,7 +218,7 @@ def toggle_item(): data_dir=os.path.join(DATADIR, ownername) data_file=os.path.join(data_dir, shopname+".md") contents_file=open(data_file,'rt') - contents=contents_file.read().split("\n") + contents=contents_file.read().decode('utf-8').split("\n") contents_file.close() changed=False for i,row in enumerate(contents): @@ -232,7 +232,7 @@ def toggle_item(): break if changed: contents_file=open(data_file,'wt') - contents_file.write("\n".join(contents)) + contents_file.write("\n".join(contents).encode('utf-8')) contents_file.close() #~ flash('successfully posted %s (%d)'%(row,req_row)) return redirect(url_for('show_shop',shopid=shopid)) @@ -250,14 +250,14 @@ def remove_toggled(): contents_file=open(data_file,'rt') contents=[] changed=False - for i,row in enumerate(contents_file.read().split("\n")): + for i,row in enumerate(contents_file.read().decode('utf-8').split("\n")): if '[x]' not in row: contents.append(row) changed=True contents_file.close() if changed: contents_file=open(data_file,'wt') - contents_file.write("\n".join(contents)) + contents_file.write("\n".join(contents).encode('utf-8')) contents_file.close() #~ flash('successfully posted %s (%d)'%(row,req_row)) return redirect(url_for('show_shop',shopid=shopid)) diff --git a/static/script.js b/static/script.js index 80e0c4c..6e45e76 100644 --- a/static/script.js +++ b/static/script.js @@ -14,11 +14,17 @@ function reload() { } function hidetoggle(name,button) { - document.getElementById(name).style.display='none'; - document.getElementById(button).onclick=function(){showtoggle(name,button);}; + if (document.getElementById(name).style.display=='inline-block') { + document.getElementById(name).style.display='none'; + } else { + document.getElementById(name).style.display='inline-block'; + } + var allElements = document.getElementsByTagName("*"); + for (var i = 0, n = allElements.length; i < n; ++i) { + var el = allElements[i]; + if (el.id) { + if ((el.id.startsWith("disp_")) && (el.id!=name)) { + document.getElementById(el.id).style.display='none'; + }} + } } -function showtoggle(name,button) { - document.getElementById(name).style.display='inline-block'; - document.getElementById(button).onclick=function(){hidetoggle(name,button);}; -} - diff --git a/templates/show_shop.html b/templates/show_shop.html index 9f516ce..4aa219c 100644 --- a/templates/show_shop.html +++ b/templates/show_shop.html @@ -11,24 +11,24 @@ -

Add items:

-
+

Add items:

+

-

Remove ticked:

+

Remove ticked:

-

Edit items:

+

Edit items:

-

Share shop:

+

Share shop:

-

Delete shop:

+

Delete shop: