moving to p3
This commit is contained in:
45
shop.py
45
shop.py
@@ -24,18 +24,18 @@ app.config.from_object(__name__)
|
||||
app.config['SESSION_COOKIE_NAME'] = os.getenv('SESSION_COOKIE_NAME', 'mdshop')
|
||||
app.config['register'] = os.getenv('ENABLE_REGISTER', 'true') != 'false'
|
||||
print(app.config)
|
||||
app.wsgi_app = ReverseProxied(app.wsgi_app)
|
||||
app.wsgi_app = ReverseProxied(app.wsgi_app)
|
||||
|
||||
def connect_db():
|
||||
if not os.path.exists(app.config['DATABASE']):
|
||||
db=sqlite3.connect(app.config['DATABASE'])
|
||||
for command in open('schema.sql','rt').read().split(';'):
|
||||
for command in open('schema.sql','rt').read().split(';'):
|
||||
db.execute(command)
|
||||
db.commit()
|
||||
return sqlite3.connect(app.config['DATABASE'])
|
||||
|
||||
def password_hash(s):
|
||||
return hashlib.sha224(s).hexdigest()
|
||||
return hashlib.sha224(s.encode('utf8')).hexdigest()
|
||||
|
||||
def get_username(id):
|
||||
cur = g.db.execute('select * from users')
|
||||
@@ -105,6 +105,7 @@ def scan_for_new_documents(id):
|
||||
g.db.commit()
|
||||
|
||||
def markdown_parse(s):
|
||||
s = s.decode('utf8')
|
||||
s=BOLDFINDER.sub(r'*<span class="md_bold">\1</span>*',s)
|
||||
s=CODEFINDER.sub(r'`<span class="md_code">\1</span>`',s)
|
||||
return s
|
||||
@@ -147,8 +148,8 @@ def show_shop(shopid):
|
||||
if not os.path.exists(data_file):
|
||||
open(data_file, 'wt').close()
|
||||
entries=[]
|
||||
content=open(data_file, 'rt').read().decode('utf-8')
|
||||
for i,row in enumerate(open( data_file, 'rt').read().decode('utf-8').split("\n")):
|
||||
content=open(data_file, 'rt').read()#.decode('utf-8')
|
||||
for i,row in enumerate(open( data_file, 'rt').read().split("\n")):
|
||||
# any parsing magick would be here
|
||||
row=row.rstrip()
|
||||
if row=="":
|
||||
@@ -180,10 +181,10 @@ def show_shop(shopid):
|
||||
session['sort_update'] = time.time()
|
||||
|
||||
return render_template(
|
||||
'show_shop.html',
|
||||
entries = entries,
|
||||
shop = shopname,
|
||||
shopid = shopid,
|
||||
'show_shop.html',
|
||||
entries = entries,
|
||||
shop = shopname,
|
||||
shopid = shopid,
|
||||
content = content,
|
||||
shares = shared_to,
|
||||
date = get_shop_date(shopid),
|
||||
@@ -208,7 +209,7 @@ def list_shops():
|
||||
if row[0] in shares: # Has been shared to
|
||||
date=get_shop_date(row[0])
|
||||
entries.append( dict(shop=row[1], shopid=row[0], owner=get_username(row[2]),date=date) )
|
||||
|
||||
|
||||
return render_template('list_shops.html', entries=entries)
|
||||
|
||||
@app.route('/add', methods=['POST'])
|
||||
@@ -227,7 +228,7 @@ def add_items():
|
||||
if row.strip()=="":
|
||||
continue
|
||||
count+=1
|
||||
contents_file.write("[ ] %s\n"%row.strip().encode('utf-8'))
|
||||
contents_file.write("[ ] %s\n"%row.strip())
|
||||
contents_file.close()
|
||||
flash('Added %d items'%(count))
|
||||
return redirect(url_for('show_shop',shopid=shopid))
|
||||
@@ -249,7 +250,7 @@ def edit_md():
|
||||
while contents_list[-1].strip()=='':
|
||||
contents_list.pop()
|
||||
for row in contents_list:
|
||||
contents_file.write("%s\n"%row.encode('utf-8'))
|
||||
contents_file.write("%s\n"%(row,))
|
||||
contents_file.close()
|
||||
flash('Saved new file.')
|
||||
return redirect(url_for('show_shop',shopid=shopid))
|
||||
@@ -299,7 +300,7 @@ def toggle_item():
|
||||
data_file=os.path.join(data_dir, shopname+".md")
|
||||
backup=data_file+".bkp"
|
||||
contents_file=open(data_file,'rt')
|
||||
contents=contents_file.read().decode('utf-8').split("\n")
|
||||
contents=contents_file.read().split("\n")
|
||||
contents_file.close()
|
||||
changed=False
|
||||
for i,row in enumerate(contents):
|
||||
@@ -315,7 +316,7 @@ def toggle_item():
|
||||
if req_row==-1 or req_row==-2:
|
||||
copyfile(data_file, backup)
|
||||
contents_file=open(data_file,'wt')
|
||||
contents_file.write("\n".join(contents).encode('utf-8'))
|
||||
contents_file.write("\n".join(contents))
|
||||
contents_file.close()
|
||||
return redirect(url_for('show_shop',shopid=shopid))
|
||||
|
||||
@@ -333,7 +334,7 @@ def remove_toggled():
|
||||
contents_file=open(data_file,'rt')
|
||||
contents=[]
|
||||
changed=False
|
||||
for i,row in enumerate(contents_file.read().decode('utf-8').split("\n")):
|
||||
for i,row in enumerate(contents_file.read().split("\n")):
|
||||
if '[x]' not in row:
|
||||
contents.append(row)
|
||||
else:
|
||||
@@ -342,7 +343,7 @@ def remove_toggled():
|
||||
if changed:
|
||||
copyfile(data_file, backup)
|
||||
contents_file=open(data_file,'wt')
|
||||
contents_file.write("\n".join(contents).encode('utf-8'))
|
||||
contents_file.write("\n".join(contents))
|
||||
contents_file.close()
|
||||
#~ flash('successfully posted %s (%d)'%(row,req_row))
|
||||
return redirect(url_for('show_shop',shopid=shopid))
|
||||
@@ -417,7 +418,7 @@ def remove_share():
|
||||
if session.get('user')!=ownerid:
|
||||
flash('Not your shop!')
|
||||
return redirect(url_for('show_shop',shopid=shopid))
|
||||
|
||||
|
||||
g.db.execute('delete from shares where shopid=? and userid=?',
|
||||
[shopid, userid])
|
||||
g.db.commit()
|
||||
@@ -432,10 +433,10 @@ def remove_shop():
|
||||
shopname=g.db.execute('select shop from shops where id=?',(request.form['shopid'],)).fetchall()[0][0]
|
||||
ownername=get_username(ownerid)
|
||||
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")
|
||||
if session.get('user')!=ownerid:
|
||||
flash('Not your shop!')
|
||||
return redirect(url_for('show_shop',shopid=shopid))
|
||||
return redirect(url_for('show_shop',shopid=shopid))
|
||||
# remove shop DB
|
||||
g.db.execute('delete from shops where id=?',
|
||||
[shopid])
|
||||
@@ -462,7 +463,7 @@ def sort_flip():
|
||||
shopid = int(request.form['shopid'])
|
||||
return redirect(
|
||||
url_for('show_shop', shopid = shopid)
|
||||
)
|
||||
)
|
||||
|
||||
@app.route('/login', methods=['GET', 'POST'])
|
||||
def login():
|
||||
@@ -487,7 +488,7 @@ def register():
|
||||
if request.method == 'POST':
|
||||
import re, string
|
||||
pattern = re.compile('[\W]+')
|
||||
username=pattern.sub('', request.form['username'])
|
||||
username=pattern.sub('', request.form['username'])
|
||||
password=password_hash(request.form['password'])
|
||||
if len(username)==0:
|
||||
error="No username given"
|
||||
@@ -535,5 +536,5 @@ def logout():
|
||||
return render_template('login.html', error=None)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
if __name__ == '__main__':
|
||||
app.run()
|
||||
|
||||
Reference in New Issue
Block a user