utf stuff, fixing toggling
This commit is contained in:
18
shop.py
18
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))
|
||||
|
||||
@@ -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);};
|
||||
}
|
||||
|
||||
|
||||
@@ -11,24 +11,24 @@
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<h2>Add items:</h2>
|
||||
<form name="area_add" action="{{ url_for('add_items') }}" method=post class=add-entry>
|
||||
<h2 id="h2_add" onclick="hidetoggle('disp_add','h2_add')" class=pointer>Add items:</h2>
|
||||
<form id="disp_add" name="area_add" action="{{ url_for('add_items') }}" method=post class=add-entry>
|
||||
<dl>
|
||||
<dt><textarea cols=40 rows=1 id=add_md name=add_md onkeyup="growTextarea('add_md')"></textarea><br><input type=hidden name=shopid value={{ shopid }}><input class=submit type=submit value=Add>
|
||||
</dl>
|
||||
</form>
|
||||
<h2 id="h2_remove_toggled" onclick="showtoggle('disp_remove_toggled','h2_remove_toggled')" class=pointer>Remove ticked:</h2>
|
||||
<h2 id="h2_remove_toggled" onclick="hidetoggle('disp_remove_toggled','h2_remove_toggled')" class=pointer>Remove ticked:</h2>
|
||||
<form id=disp_remove_toggled class=hidden action="{{ url_for('remove_toggled') }}" method=post class=add-entry>
|
||||
<dl><input type=hidden name=shopid value={{ shopid }}><input class=submit type=submit value=Remove>
|
||||
</dl></form>
|
||||
<h2 id="h2_edit" onclick="showtoggle('disp_edit','h2_edit');growTextarea('edit_md');" class=pointer>Edit items:</h2>
|
||||
<h2 id="h2_edit" onclick="hidetoggle('disp_edit','h2_edit');growTextarea('edit_md');" class=pointer>Edit items:</h2>
|
||||
<form id="disp_edit" class=hidden name="area_edit" action="{{ url_for('edit_md') }}" method=post class=add-entry>
|
||||
<dl>
|
||||
<dt><textarea cols=40 rows=5 id=edit_md name=edit_md onkeyup="growTextarea('edit_md')">{{ content }}</textarea><br>
|
||||
<input type=hidden name=shopid value={{ shopid }}><input class=submit type=submit value=Edit onclick="return confirm('Do you really want to replace content?');" >
|
||||
</dl>
|
||||
</form>
|
||||
<h2 id="h2_share" onclick="showtoggle('disp_share','h2_share')" class=pointer>Share shop:</h2>
|
||||
<h2 id="h2_share" onclick="hidetoggle('disp_share','h2_share')" class=pointer>Share shop:</h2>
|
||||
<div class=hidden id=disp_share>
|
||||
<form action="{{ url_for('remove_share') }}" method=post class=toggle-item>
|
||||
<input type=hidden name=shopid value="{{ shopid }}" >
|
||||
@@ -44,7 +44,7 @@
|
||||
</dl>
|
||||
</form>
|
||||
</div>
|
||||
<h2 id="h2_delete" onclick="showtoggle('disp_delete','h2_delete')" class=pointer>Delete shop:</h2>
|
||||
<h2 id="h2_delete" onclick="hidetoggle('disp_delete','h2_delete')" class=pointer>Delete shop:</h2>
|
||||
<form id="disp_delete" class=hidden action="{{ url_for('remove_shop') }}" method=post class=add-entry>
|
||||
<dl><input type=hidden name=shopid value={{ shopid }}><input class=submit type=submit value=Remove onclick="return confirm('Do you really want to remove shop {{ shop }}?');">
|
||||
</dl></form>
|
||||
|
||||
Reference in New Issue
Block a user