def before_request(): g.user=current_user if g.user.is_authenticated(): a=str(datetime.utcnow()); cur.execute('update user set last_seen = "'+a+'" where id= %d'%(g.user.id)); db.commit(); g.search_form=SearchForm();
def setupprofile(): createprofile = CreateProfile() if request.method == "POST" and createprofile.validate_on_submit(): username = createprofile.username.data location= createprofile.location.data biography=createprofile.biography.data photo= createprofile.profilepic.data created_date=format_date_joined(datetime.datetime.now()) filename=secure_filename(photo.filename) photo.save(os.path.join(app.config['UPLOAD_FOLDER'],filename)) lastuserid= db.engine.execute("select userid from users order by userid desc limit 1") for last in lastuserid: userid=last.userid # insert into gallery and addphoto , get the id from that for profilepic db.engine.execute("insert into gallery(photourl) values('"+'/static/uploads/'+filename+"')") lastphotoid= db.engine.execute("select photoid from gallery order by photoid desc limit 1") for last in lastphotoid: photoid=last.photoid # db.engine.execute("insert into addphoto(photoid ,userid) values ('"+str(photoid)+"','"+str(userid)+"')") cur.execute("CALL addphotos("+str(photoid)+",'"+str(userid)+"')") conn.commit() db.engine.execute("insert into Profiles (userid,profilepic,username,biography,countryliving,createddate) values('"+str(userid)+"','"+str(photoid)+"','"+username+"','"+biography+"','"+location+"','"+format_date_joined(datetime.datetime.now())+"')") return redirect(url_for('login')) else: flash_errors(createprofile) return render_template('setupprofile.html',form=createprofile)
def get_user_invites(): invreq = {'invites': [], 'requests': []} for gr, g, u in sess.query(GroupRequests, Group, Users).filter_by(invitee=session['userid']).\ filter_by(complete='f').join(Group).join(Users): invreq['requests'].append({ "requestid": gr.requestid, "requester": u.username, "group": g.groupname, "date": gr.dateissued }) cur.execute( "SELECT inviteme.requestid, users.username, groups.groupname, inviteme.date " "FROM inviteme INNER JOIN users ON users.userid = inviteme.userid " "JOIN groups ON groups.groupid = inviteme.groupid " "WHERE accepted is null AND groups.userid = '{}'".format( session['userid'])) response = cur.fetchall() for row in response: invreq['invites'].append({ "requestid": row[0], "requester": row[1], "group": [2], "date": row[3] }) pgconnect.commit() return jsonify(invites=invreq)
def createpost(option): createpost = CreatePost() textpost=createpost.text.data postDate='2020-04-24' postTime='12:09:00' if request.method == "POST": # print("went into function") if(textpost!=""): print("textpost") db.engine.execute("insert into posts(content,ctype, postDateTime) values('"+textpost+"','text','"+str(datetime.datetime.now())+"')") else: photo= createpost.image.data # created_date=format_date_joined(datetime.datetime.now()) filename=secure_filename(photo.filename) photo.save(os.path.join(app.config['UPLOAD_FOLDER'],filename)) db.engine.execute("insert into gallery(photourl) values('"+'/static/uploads/'+filename+"')") lastphotoid= db.engine.execute("select photoid from gallery order by photoid desc limit 1") for last in lastphotoid: photoid=last.photoid # db.engine.execute("insert into addphoto(photoid ,userid) values ('"+str(photoid)+"','"+session['userid']+"')") cur.execute("CALL addphotos("+str(photoid)+",'"+str(session['userid'])+"')") conn.commit() db.engine.execute("insert into posts(content,ctype, postDateTime) values('"+'/static/uploads/'+filename+"','image','"+str(datetime.datetime.now())+"')") lastpostid= db.engine.execute("select postId from posts order by postid desc limit 1") for last in lastpostid: postId=last.postid # db.engine.execute("insert into user_post_log(postid ,userid) values ('"+str(postId)+"','"+session['userid']+"')") cur.execute("CALL adduserposts("+str(postId)+",'"+str(session['userid'])+"')") conn.commit() return redirect(url_for('posts'))
def __init__(self, body, timestamp, user_id): self.body = body self.timestamp = str(timestamp) self.user_id = user_id cur.execute("insert into post(body,timestamp,user_id) values ('" + self.body + "','" + self.timestamp + "',%d)" % (self.user_id)) db.commit()
def follow(self, user): if not self.is_following(user): cur.execute( 'insert followers (follower_id,followed_id) values (%d,%d)' % (self.id, user.id)) db.commit() return self else: return 0
def unfollow(self, user): if self.is_following(user): cur.execute( 'delete from followers where follower_id=%d and followed_id=%d' % (self.id, user.id)) db.commit() return self else: return 0
def delete_group(): cur.execute("Delete from mapobjects where groupid = {}".format( session['groupid'])) pgconnect.commit() sess.query(Post).filter_by(groupid=session['groupid']).delete() sess.query(Thread).filter_by(groupid=session['groupid']).delete() sess.query(Group).filter_by(groupid=session['groupid']).delete() username = sess.query(Users).filter_by( userid=session['userid']).one().username return render_template('groupselect.html', username=username)
def addfollower(followerid): form=FriendType() friendtype = form.friendtype.data # print(friendtype) session['following']+=1 session['followers']+=1 cur.execute("CALL addfriend("+str(session['userid'])+","+str(followerid)+",'"+friendtype+"')") conn.commit() cur.execute("CALL addfriend("+str(followerid)+","+str(session['userid'])+",'"+friendtype+"')") conn.commit() return redirect(url_for('profile',userid=followerid))
def __init__(self,nickname,email): self.nickname=nickname; self.email=email; if(cur.execute('select * from user where nickname="'+self.nickname+'"')==0): cur.execute('insert into user(nickname,email) values("'+self.nickname+'","'+self.email+'")'); db.commit(); cur.execute('select * from user where nickname="'+self.nickname+'"') for a in cur: self.id=a[0]; self.about_me=a[3]; self.last_seen=a[4]; break;
def create_group(): groupname = request.args.get('groupname') bounds = request.args.get('bounds') bounds_arr = request.args.get('bounds').split(" ") opengroup = 'false' if request.args.get('opengroup') == 'on': opengroup = 'true' cur.execute( "SELECT count(*) from groups where groupname = '{}' and userid = {} and bounds = '{}'" .format(groupname, session['userid'], bounds)) response = cur.fetchall() for row in response: if row[0] > 0: return jsonify("group already exists") cur.execute( "INSERT INTO groups (geom, groupname, userid, bounds,opengroup) " "VALUES (ST_Centroid(ST_GeomFromText('MULTIPOINT ({} {},{} {})')), '{}', {}, '{}', {})" .format(bounds_arr[0], bounds_arr[1], bounds_arr[2], bounds_arr[3], groupname, session['userid'], bounds, opengroup)) cur.execute( "SELECT groupid FROM groups WHERE groupname = '{}'".format(groupname)) response = cur.fetchall() for row in response: groupid = row[0] cur.execute("INSERT INTO usersgroups VALUES ({},{})".format( session['userid'], groupid)) pgconnect.commit() return jsonify(groupid=groupid)
def add_geojson(): json = urlparse.unquote(request.form['geojson']) group_admin = sess.query(Group).filter_by( groupid=session['groupid']).one().userid if session['userid'] != group_admin: return jsonify("not allowed") cur.execute( "INSERT INTO mapobjects (geom, groupid, userid, date) VALUES " "(ST_Transform(ST_GeomFromText('{}',4326),3857), {}, {}, '{}');". format(json, session['groupid'], session['userid'], datetime.datetime.utcnow())) pgconnect.commit() return jsonify('success')
def get_policy_csv(regionid, policystatusid, branchid='ignore'): if branchid == 'ignore': cur.execute("select healthtime, machineclass, machinefunction, count(ipaddr) from region_info_{0} " "where policystatus={1} group by healthtime,machineclass,machinefunction order by healthtime asc".format(regionid,policystatusid)) else: cur.execute("select healthtime, machineclass, machinefunction, count(ipaddr) from region_info_{0} " "where policystatus={1} and facility='{2}' group by healthtime,machineclass,machinefunction order by healthtime asc".format(regionid,policystatusid, branchid)) rows = cur.fetchall() output = cStringIO.StringIO() writer = csv.writer(output, delimiter=',') writer.writerow(("healthtime","machineclass","machinefunction","ipaddrcount")) for row in rows: writer.writerow(row) return output.getvalue()
def __init__(self, nickname, email): self.nickname = nickname self.email = email if (cur.execute('select * from user where nickname="' + self.nickname + '"') == 0): cur.execute('insert into user(nickname,email) values("' + self.nickname + '","' + self.email + '")') db.commit() cur.execute('select * from user where nickname="' + self.nickname + '"') for a in cur: self.id = a[0] self.about_me = a[3] self.last_seen = a[4] break
def edit(): form=EditForm(); if form.validate_on_submit(): a=cur.execute('select * from user where nickname="'+form.nickname.data+'"') if(a==0 or form.nickname.data==g.user.nickname): cur.execute('update user set nickname = "'+form.nickname.data+'",about_me="'+form.about_me.data+'" where id= %d'%(g.user.id)); db.commit(); flash('Your changes have been saved.') return redirect(url_for('user',nickname=g.user.nickname)) else: flash('The name you set has been used by others, please choose another name'); return redirect(url_for('edit')); else: form.nickname.data=g.user.nickname form.about_me.data=g.user.about_me return render_template('edit.html',form=form);
def uploadgallery(): uploadform=UploadProfilePic() # insert into gallery and addphoto , get the id from that for profilepic photo= uploadform.profilepic.data created_date=format_date_joined(datetime.datetime.now()) filename=secure_filename(photo.filename) photo.save(os.path.join(app.config['UPLOAD_FOLDER'],filename)) db.engine.execute("insert into gallery(photourl) values('"+'/static/uploads/'+filename+"')") lastphotoid= db.engine.execute("select photoid from gallery order by photoid desc limit 1") for last in lastphotoid: photoid=last.photoid # db.engine.execute("insert into addphoto(photoid ,userid) values ('"+str(photoid)+"','"+str(session['userid'])+"')") cur.execute("CALL addphotos("+str(photoid)+",'"+str(session['userid'])+"')") conn.commit() return redirect(url_for('setprofilepic',photoid=photoid))
def followers(self): a=cur.execute('select followed_id from followers where follower_id=%d'%(self.id)); b=[]; for i in cur: b.append(i[0]); c=len(b); b.insert(0,c); return b;
def followers(self): a = cur.execute( 'select followed_id from followers where follower_id=%d' % (self.id)) b = [] for i in cur: b.append(i[0]) c = len(b) b.insert(0, c) return b
def delete_post(): postid = request.args.get('postid', 0, type=int) is_this_my_post = sess.query(Post).filter_by(userid=session['userid']).filter_by(postid=postid).one() if is_this_my_post.userid != session['userid']: return jsonify('request not allowed') objectid = is_this_my_post.objectid canIdelete = sess.query(Post).filter_by(responseto=postid).count() if canIdelete > 0: return jsonify('request not allowed') sess.query(Post).filter_by(userid=session['userid']).filter_by(postid=postid).delete() sess.commit() # check if you can delete the geometry usingobject = cur.execute("SELECT count(*) from posts where objectid = {}".format(objectid)) response = cur.fetchall() for row in response: if row[0] == 0: cur.execute("DELETE from mapobjects where objectid = {}".format(objectid)) pgconnect.commit() return jsonify('success')
def get_policy_csv(regionid, policystatusid, branchid='ignore'): if branchid == 'ignore': cur.execute( "select healthtime, machineclass, machinefunction, count(ipaddr) from region_info_{0} " "where policystatus={1} group by healthtime,machineclass,machinefunction order by healthtime asc" .format(regionid, policystatusid)) else: cur.execute( "select healthtime, machineclass, machinefunction, count(ipaddr) from region_info_{0} " "where policystatus={1} and facility='{2}' group by healthtime,machineclass,machinefunction order by healthtime asc" .format(regionid, policystatusid, branchid)) rows = cur.fetchall() output = cStringIO.StringIO() writer = csv.writer(output, delimiter=',') writer.writerow( ("healthtime", "machineclass", "machinefunction", "ipaddrcount")) for row in rows: writer.writerow(row) return output.getvalue()
def posts_by_extent(): posts = [] extent = request.args.get('ext', 0, type=str) extent = re.sub(' ', ',', extent) for geometrytype in ['POINT', 'LINE', 'POLYGON']: cur.execute("SELECT posts.postid, posts.userid, posts.date, posts.objectid, posts.postcontent, thread.nickname," "users.username FROM posts INNER JOIN thread on thread.threadid = posts.threadid INNER JOIN " "mapobjects on posts.objectid = mapobjects.objectid INNER JOIN users on users.userid = posts.userid" " WHERE posts.groupid = {} and ST_Within(mapobjects.geom,ST_MakeEnvelope({}, 3857)) " "AND ST_AsText(geom) like '{}%' Order by date DESC;". format(session['groupid'], extent, geometrytype)) response = cur.fetchall() for row in response: voted = vtotal = None qry = sess.query(sqlalchemy.sql.func.sum(Votes.vote)).filter_by(postid=row[0]) for res in qry.all(): vtotal = res for v in sess.query(Votes).filter_by(postid=row[0]).filter_by(userid=session['userid']): voted = v.vote posts.append([row[0], row[1], row[2], row[3], row[4], row[5], row[6], vtotal[0], voted]) return jsonify(posts=posts)
def followed_posts(self,j): cur.execute('select count(*) from followers,post,user where followers.followed_id=post.user_id and followers.followed_id=user.id and followers.follower_id=%d '%(self.id)); sum=0; for i in cur: sum=i[0]; break; if(sum > 5*j+5): cur.execute('select body,nickname from followers,post,user where followers.followed_id=post.user_id and followers.followed_id=user.id and followers.follower_id=%d order by post.timestamp limit %d,5'%(self.id,5*int(j))); b=[]; b.append(1); for i in cur: a={} a['nickname']=i[1] a['body']=i[0] b.append(a) return b; if (sum <= 5*j+5): cur.execute('select body,nickname from followers,post,user where followers.followed_id=post.user_id and followers.followed_id=user.id and followers.follower_id=%d order by post.timestamp limit %d,%d '%(self.id,5*int(j),sum-5*int(j))); b=[]; b.append(0); for i in cur: a={} a['nickname']=i[1] a['body']=i[0] b.append(a) return b;
def followed_posts(self, j): cur.execute( 'select count(*) from followers,post,user where followers.followed_id=post.user_id and followers.followed_id=user.id and followers.follower_id=%d ' % (self.id)) sum = 0 for i in cur: sum = i[0] break if (sum > 5 * j + 5): cur.execute( 'select body,nickname from followers,post,user where followers.followed_id=post.user_id and followers.followed_id=user.id and followers.follower_id=%d order by post.timestamp limit %d,5' % (self.id, 5 * int(j))) b = [] b.append(1) for i in cur: a = {} a['nickname'] = i[1] a['body'] = i[0] b.append(a) return b if (sum <= 5 * j + 5): cur.execute( 'select body,nickname from followers,post,user where followers.followed_id=post.user_id and followers.followed_id=user.id and followers.follower_id=%d order by post.timestamp limit %d,%d ' % (self.id, 5 * int(j), sum - 5 * int(j))) b = [] b.append(0) for i in cur: a = {} a['nickname'] = i[1] a['body'] = i[0] b.append(a) return b
def user(nickname,page=0): a=cur.execute('select * from user where nickname="'+nickname+'"'); if a==0: flash('User '+nickname+' not found.') return redirect(url_for('index')) for i in cur: user=User(nickname=i[1],email=i[2]); break; posts=user.followed_posts(page); #返回的结果中第一个表示的是是否后面还有未显示的内容,1表示还有,0表示没有 hasNext=posts[0]; del posts[0]; return render_template('user.html',user=user,posts=posts,hasNext=hasNext,page_num=page);
def search_result(query): query1='%'+query+'%' cur.execute('select body,nickname from followers,post,user where followers.followed_id=post.user_id and followers.followed_id=user.id and post.body like "'+query1+'" and followers.follower_id=%d order by post.timestamp limit %d'%(g.user.id,MAX_SEARCH_RESULTS)); a=[]; for i in cur: b={}; b['body']=i[0]; b['nickname']=i[1]; a.append(b); return render_template('search_result.html',query=query,results=a);
def quit_group(): groupid = request.form['groupid'] uid = sess.query(UsersGroups).filter_by(groupid=groupid).filter_by( userid=session['userid']).count() if uid > 0: cur.execute( "DELETE FROM Votes where userid = {} and postid in (Select postid from posts where groupid = {})" .format(session['userid'], groupid)) sess.query(Post).filter_by(groupid=groupid).filter_by( userid=session['userid']).delete() cur.execute( "DELETE FROM mapobjects Where userid = {} and groupid = {}".format( session['userid'], groupid)) pgconnect.commit() sess.query(UsersGroups).filter_by(groupid=groupid).filter_by( userid=session['userid']).delete() sess.query(GroupRequests).filter_by(groupid=groupid).filter_by( invitee=session['userid']).delete() sess.query(InviteMe).filter_by(groupid=groupid).filter_by( userid=session['userid']).delete() sess.commit() username = sess.query(Users).filter_by( userid=session['userid']).one().username return render_template('groupselect.html', username=username)
def creategrouppost(groupID, postType): createpost = CreatePost() textpost=createpost.text.data if request.method == "POST": #SELECT userid FROM joinsgroup WHERE status = 'Editor' AND userid = 42 AND groupid = 1; value=db.engine.execute("SELECT userid FROM joinsgroup WHERE status = 'Editor' AND userid = '"+session['userid']+"' AND groupid = '"+groupID+"';") isEditor = 0 for val in value: isEditor = val if isEditor: if postType == 'text' and textpost!="": db.engine.execute("insert into posts(content,ctype, postDateTime) values('"+textpost+"','text','"+str(datetime.datetime.now())+"')") lastTextPostID= db.engine.execute("SELECT postid FROM posts ORDER BY postid DESC LIMIT 1") for last in lastTextPostID: postid=last.postid db.engine.execute("INSERT INTO groupposts(groupid,postid) values('"+groupID+"', '"+str(postid)+"');") # db.engine.execute("insert into user_post_log(postid ,userid) values ('"+str(postid)+"','"+session['userid']+"')") cur.execute("CALL adduserposts("+str(postid)+",'"+str(session['userid'])+"')") conn.commit() return groupposts(groupID) elif postType == 'image': photo= createpost.image.data filename=secure_filename(photo.filename) photo.save(os.path.join(app.config['UPLOAD_FOLDER'],filename)) db.engine.execute("insert into gallery(photourl) values('"+'/static/uploads/'+filename+"')") lastphotoid= db.engine.execute("select photoid from gallery order by photoid desc limit 1") for last in lastphotoid: photoid=last.photoid # db.engine.execute("insert into addphoto(photoid ,userid) values ('"+str(photoid)+"','"+session['userid']+"')") cur.execute("CALL addphotos("+str(photoid)+",'"+str(session['userid'])+"')") conn.commit() db.engine.execute("insert into posts(content,ctype, postDateTime) values('"+'/static/uploads/'+filename+"','image','"+str(datetime.datetime.now())+"')") lastpostid= db.engine.execute("select postId from posts order by postid desc limit 1") for last in lastpostid: postId=last.postid # db.engine.execute("insert into user_post_log(postid ,userid) values ('"+str(postId)+"','"+session['userid']+"')") cur.execute("CALL adduserposts("+str(postId)+",'"+str(session['userid'])+"')") conn.commit() db.engine.execute("INSERT INTO groupposts(groupid,postid) values('"+groupID+"', '"+str(postId)+"');") return groupposts(groupID) else: flash('You are not a Content Editor for this group!', 'danger') return groupposts(groupID)
def manage_request(): requestid = request.form['requestid'] action = request.form['submit'] cur.execute( "SELECT groupid,invitee FROM grouprequests WHERE requestid = {};". format(requestid)) response = cur.fetchall() for row in response: if action == 'accept': # make sure it doesn't add twice cur.execute("INSERT INTO usersgroups VALUES ({},{})".format( row[1], row[0])) cur.execute( "UPDATE grouprequests set complete = 't' WHERE requestid = {}". format(requestid)) pgconnect.commit() return render_template('groupselect.html')
def after_login(resp): if resp.email is None or resp.email=="": flash('Invalid login.Please try again.') return redirect(url_for('login')) mail=resp.email a=cur.execute('select * from user where email = "'+mail+'"'); if a==0: nickname=resp.nickname if nickname is None or nickname=="": nickname=resp.email.split('@')[0] user=User(nickname=nickname,email=resp.email); else: for each in cur: b=list(each); break; user=User(nickname=b[1],email=b[2]); remember_me=False user.follow(user); if 'remember_me' in session: remember_me=session['remember_me'] session.pop('remember_me',None) login_user(user,remember=remember_me) return redirect( request.args.get('next') or url_for('index'))
def follow(nickname): a=cur.execute('select * from user where nickname="'+nickname+'"'); if a==0: flash('User %s not found.'% nickname); return redirect(url_for('index')); for i in cur: user = User(nickname=i[1],email=i[2]); break; if user==g.user: flash('You have already follow yourself!'); return redirect(url_for('user',nickname=nickname)); u=g.user.follow(user); if u == 0: flash("you have already follow"+nickname+"!"); return redirect(url_for('user',nickname=nickname)) flash('You are now following '+ nickname + '!') follower_notification(user, g.user) return redirect(url_for('user',nickname=nickname)); @app.route('/unfollow/<nickname>') @login_required def unfollow(nickname): a=cur.execute('select * from user where nickname="'+nickname+'"'); if a==0: flash('User %s not found.'% nickname); for i in cur: user = User(nickname=i[1],email=i[2]); break; if user==g.user: flash("You can/'t unfollow yourself!"); return redirect(url_for('user',nickname=nickname)); u=g.user.unfollow(user); if u == 0: flash('You should not unfollow a people that you did not follow'); return redirect(url_for('user',nickname=nickname)); flash('You have unfollow '+ nickname +'.'); return redirect(url_for('user',nickname=nickname));
def is_following(self, user): a = cur.execute( 'select * from followers where follower_id=%d and followed_id=%d' % (self.id, user.id)) return a
def likepost(postid,userid): cur.execute("CALL addlike("+str(postid)+","+str(userid)+")") conn.commit() return redirect(url_for('posts'))
def unfollow(nickname): a=cur.execute('select * from user where nickname="'+nickname+'"');
def oauth_authorized(resp): next_url = request.args.get('next') or url_for('index') if resp is None: flash(u'You denied the request to sign in.') return redirect(next_url) session['twitter_token'] = (resp['oauth_token'], resp['oauth_token_secret']) username = resp['screen_name'] session['twitter_user'] = username if session.has_key('groupid'): open = sess.query(Group).filter_by(groupid=session['groupid']) # check if twitter user has already logged in to cartoforum twitteruser = sess.query(TwitterUsers).filter_by(username=username).count() flash('You were signed in as %s' % username) if twitteruser == 0: tu = TwitterUsers(oauth_provider='twitter', username=username, oauth_uid=resp['user_id'], oauth_token=resp['oauth_token'], oauth_secret=resp['oauth_token_secret']) sess.add(tu) sess.commit() else: tu = sess.query(TwitterUsers).filter_by(username=username).first() tu.oauth_token = resp['oauth_token'] tu.oauth_secret = resp['oauth_token_secret'] sess.commit() # check if the twitter users screen name has already been taken. userquery = sess.query(Users).filter_by( username='******'.format(username)).count() if userquery == 0: # move on with their twitter screen name newuser = Users(username='******'.format(username), password='******', twitterid=resp['user_id']) sess.add(newuser) sess.commit() else: # this username exists, is the twitterid different from what we have logged? twitterid = sess.query(TwitterUsers).filter_by( username='******'.format(username)).count() if twitterid == 0: # offer them a different name alt_name = utils.get_alternate_username(session['twitter_user']) if not session['groupid']: return render_template('select_username.html', alt_name=alt_name) else: username = sess.query(Users).filter_by( twitterid=resp['user_id']).one().username tulogged = sess.query(Users).filter_by( username='******'.format(username)).one() session['userid'] = tulogged.userid session['logged_in'] = True if session.has_key('groupid'): cur.execute("INSERT INTO usersgroups VALUES ({},{})".format( session['userid'], session['groupid'])) cur.execute( "SELECT groupname,bounds from groups where groupid = {}".format( session['groupid'])) pgconnect.commit() response = cur.fetchall() for row in response: groupname = row[0] bounds = row[1] # Check for group membership, return group name and bounds and username user = sess.query(Users).filter_by(userid=session['userid']).one() username = user.username basemap = user.basemap color = user.color # TODO: check that user is a member of group return render_template('map.html', groupid=session['groupid'], userid=session['userid'], username=username, basemap=basemap, color=color, groupname=groupname, bounds=bounds) else: return render_template('groupselect.html', username=username)
def insert_tiket(): cur.execute( "INSERT INTO `support_tiket` (`title`, `isi`, `iduser`, `status`, `created_time`, `update_time`) VALUES ('Test', 'Test aja', '1', 'closed', '2018-05-11 18:32:29', '2018-05-11 18:45:12');" ) db.commit() return "sukses"
def get_desa(id): cur.execute("select * from villages where id ='" + str(id) + "'") return cur.fetchone()
def follow(self,user): if not self.is_following(user): cur.execute('insert followers (follower_id,followed_id) values (%d,%d)'%(self.id,user.id)); db.commit(); return self; else: return 0;
def __init__(self,body,timestamp,user_id): self.body=body; self.timestamp=str(timestamp); self.user_id=user_id; cur.execute("insert into post(body,timestamp,user_id) values ('"+self.body+"','"+self.timestamp+"',%d)"%(self.user_id)); db.commit();
def unfollow(self,user): if self.is_following(user): cur.execute('delete from followers where follower_id=%d and followed_id=%d'%(self.id,user.id)); db.commit(); return self; else: return 0;
def load_user(id): id1=int(id) cur.execute("select * from user where id=%d"%id1); for i in cur: user=User(nickname=i[1],email=i[2]); return user
def is_following(self,user): a=cur.execute('select * from followers where follower_id=%d and followed_id=%d'%(self.id,user.id)); return a;