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_dir=os.path.join(DATADIR, get_username(row[2]))
|
||||||
data_file=os.path.join(data_dir, row[1]+".md")
|
data_file=os.path.join(data_dir, row[1]+".md")
|
||||||
entries=[]
|
entries=[]
|
||||||
content=open(data_file, 'rt').read()
|
content=open(data_file, 'rt').read().decode('utf-8')
|
||||||
for i,row in enumerate(open( data_file, 'rt').read().split("\n")):
|
for i,row in enumerate(open( data_file, 'rt').read().decode('utf-8').split("\n")):
|
||||||
# any parsing magick would be here
|
# any parsing magick would be here
|
||||||
if row=="":
|
if row=="":
|
||||||
continue
|
continue
|
||||||
@@ -130,7 +130,7 @@ def show_shop(shopid):
|
|||||||
if "[ ]" in row or "[x]" in row:
|
if "[ ]" in row or "[x]" in row:
|
||||||
icon=u"\u2714"
|
icon=u"\u2714"
|
||||||
extra_class=""
|
extra_class=""
|
||||||
row=urlify(row)
|
row=urlify(row).encode('ascii', 'xmlcharrefreplace')
|
||||||
entries.append( dict(row=i, text=row, icon=icon, extra_class=extra_class) )
|
entries.append( dict(row=i, text=row, icon=icon, extra_class=extra_class) )
|
||||||
shared_to=[]
|
shared_to=[]
|
||||||
cur = g.db.execute('select * from shares')
|
cur = g.db.execute('select * from shares')
|
||||||
@@ -176,7 +176,7 @@ def add_items():
|
|||||||
if row.strip()=="":
|
if row.strip()=="":
|
||||||
continue
|
continue
|
||||||
count+=1
|
count+=1
|
||||||
contents_file.write("[ ] %s\n"%row.strip())
|
contents_file.write("[ ] %s\n"%row.strip().encode('utf-8'))
|
||||||
contents_file.close()
|
contents_file.close()
|
||||||
flash('Added %d items'%(count))
|
flash('Added %d items'%(count))
|
||||||
return redirect(url_for('show_shop',shopid=shopid))
|
return redirect(url_for('show_shop',shopid=shopid))
|
||||||
@@ -195,7 +195,7 @@ def edit_md():
|
|||||||
copyfile(data_file, backup)
|
copyfile(data_file, backup)
|
||||||
contents_file=open(data_file,'wt')
|
contents_file=open(data_file,'wt')
|
||||||
for row in request.form['edit_md'].split("\n"):
|
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()
|
contents_file.close()
|
||||||
flash('Saved new file.')
|
flash('Saved new file.')
|
||||||
return redirect(url_for('show_shop',shopid=shopid))
|
return redirect(url_for('show_shop',shopid=shopid))
|
||||||
@@ -218,7 +218,7 @@ def toggle_item():
|
|||||||
data_dir=os.path.join(DATADIR, ownername)
|
data_dir=os.path.join(DATADIR, ownername)
|
||||||
data_file=os.path.join(data_dir, shopname+".md")
|
data_file=os.path.join(data_dir, shopname+".md")
|
||||||
contents_file=open(data_file,'rt')
|
contents_file=open(data_file,'rt')
|
||||||
contents=contents_file.read().split("\n")
|
contents=contents_file.read().decode('utf-8').split("\n")
|
||||||
contents_file.close()
|
contents_file.close()
|
||||||
changed=False
|
changed=False
|
||||||
for i,row in enumerate(contents):
|
for i,row in enumerate(contents):
|
||||||
@@ -232,7 +232,7 @@ def toggle_item():
|
|||||||
break
|
break
|
||||||
if changed:
|
if changed:
|
||||||
contents_file=open(data_file,'wt')
|
contents_file=open(data_file,'wt')
|
||||||
contents_file.write("\n".join(contents))
|
contents_file.write("\n".join(contents).encode('utf-8'))
|
||||||
contents_file.close()
|
contents_file.close()
|
||||||
#~ flash('successfully posted %s (%d)'%(row,req_row))
|
#~ flash('successfully posted %s (%d)'%(row,req_row))
|
||||||
return redirect(url_for('show_shop',shopid=shopid))
|
return redirect(url_for('show_shop',shopid=shopid))
|
||||||
@@ -250,14 +250,14 @@ def remove_toggled():
|
|||||||
contents_file=open(data_file,'rt')
|
contents_file=open(data_file,'rt')
|
||||||
contents=[]
|
contents=[]
|
||||||
changed=False
|
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:
|
if '[x]' not in row:
|
||||||
contents.append(row)
|
contents.append(row)
|
||||||
changed=True
|
changed=True
|
||||||
contents_file.close()
|
contents_file.close()
|
||||||
if changed:
|
if changed:
|
||||||
contents_file=open(data_file,'wt')
|
contents_file=open(data_file,'wt')
|
||||||
contents_file.write("\n".join(contents))
|
contents_file.write("\n".join(contents).encode('utf-8'))
|
||||||
contents_file.close()
|
contents_file.close()
|
||||||
#~ flash('successfully posted %s (%d)'%(row,req_row))
|
#~ flash('successfully posted %s (%d)'%(row,req_row))
|
||||||
return redirect(url_for('show_shop',shopid=shopid))
|
return redirect(url_for('show_shop',shopid=shopid))
|
||||||
|
|||||||
@@ -14,11 +14,17 @@ function reload() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function hidetoggle(name,button) {
|
function hidetoggle(name,button) {
|
||||||
|
if (document.getElementById(name).style.display=='inline-block') {
|
||||||
document.getElementById(name).style.display='none';
|
document.getElementById(name).style.display='none';
|
||||||
document.getElementById(button).onclick=function(){showtoggle(name,button);};
|
} else {
|
||||||
}
|
|
||||||
function showtoggle(name,button) {
|
|
||||||
document.getElementById(name).style.display='inline-block';
|
document.getElementById(name).style.display='inline-block';
|
||||||
document.getElementById(button).onclick=function(){hidetoggle(name,button);};
|
|
||||||
}
|
}
|
||||||
|
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';
|
||||||
|
}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -11,24 +11,24 @@
|
|||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h2>Add items:</h2>
|
<h2 id="h2_add" onclick="hidetoggle('disp_add','h2_add')" class=pointer>Add items:</h2>
|
||||||
<form name="area_add" action="{{ url_for('add_items') }}" method=post class=add-entry>
|
<form id="disp_add" name="area_add" action="{{ url_for('add_items') }}" method=post class=add-entry>
|
||||||
<dl>
|
<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>
|
<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>
|
</dl>
|
||||||
</form>
|
</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>
|
<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><input type=hidden name=shopid value={{ shopid }}><input class=submit type=submit value=Remove>
|
||||||
</dl></form>
|
</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>
|
<form id="disp_edit" class=hidden name="area_edit" action="{{ url_for('edit_md') }}" method=post class=add-entry>
|
||||||
<dl>
|
<dl>
|
||||||
<dt><textarea cols=40 rows=5 id=edit_md name=edit_md onkeyup="growTextarea('edit_md')">{{ content }}</textarea><br>
|
<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?');" >
|
<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>
|
</dl>
|
||||||
</form>
|
</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>
|
<div class=hidden id=disp_share>
|
||||||
<form action="{{ url_for('remove_share') }}" method=post class=toggle-item>
|
<form action="{{ url_for('remove_share') }}" method=post class=toggle-item>
|
||||||
<input type=hidden name=shopid value="{{ shopid }}" >
|
<input type=hidden name=shopid value="{{ shopid }}" >
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
</dl>
|
</dl>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</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>
|
<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><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>
|
</dl></form>
|
||||||
|
|||||||
Reference in New Issue
Block a user