def specific_record(record_id): data = {} theRecord = Record.get_by_id(int(record_id)) if not theRecord: return abort(404, "Record not found.") if request.method == 'DELETE': access_token = request.headers.get('Authorization') if access_token: email = account_check.get_google_email(access_token) q = UserAccount.query(UserAccount.email == email) fetched = q.fetch() activeUser = fetched[0] print activeUser.key.id() print theRecord.owner if int(activeUser.key.id()) == int(theRecord.owner): temp = dict(activeUser.collection) temp.pop(str(theRecord.key.id())) activeUser.collection = temp activeUser.put() theRecord.key.delete() return Response("Record deleted.", mimetype="text/plain") else: return abort(403, "You are not authorized to delete this record.") data["ID"] = record_id data["Artist"] = theRecord.artist data["Title"] = theRecord.title data["Art"] = theRecord.art data["Release-Date"] = theRecord.releaseDate data["URL"] = ("%s/records/%s" % (CURRENT_HOST, record_id)) data["Owner"] = "%s/users/%s" % (CURRENT_HOST, theRecord.owner) json_resp = jsonify(data) return json_resp
def records_URL(): data = {} n = 0 if request.method == 'POST': access_token = request.headers.get('Authorization') if access_token: email = account_check.get_google_email(access_token) q = UserAccount.query(UserAccount.email == email) fetched = q.fetch() activeUser = fetched[0] print activeUser.name jsonNew = request.json for key in jsonNew: if key not in ("Artist", "Title"): return abort(403, "Invalid data") mbAPI = mbrainz.mb() mbData = mbAPI.get_data(jsonNew) newRecord = Record(artist=jsonNew["Artist"], title=jsonNew["Title"], releaseDate=mbData["Date"], art=mbData["Art"], owner="%s" % (activeUser.key.id())) newRecordKey = newRecord.put() data["Generated ID"] = newRecordKey.id() activeUser.collection[newRecordKey.id( )] = "%s - %s // %s/records/%s" % (jsonNew['Artist'], jsonNew['Title'], CURRENT_HOST, newRecordKey.id()) print activeUser.collection activeUser.put() json_resp = jsonify(data) return json_resp else: return "You have to be logged in to add a record." else: q = Record.query() fetched = q.fetch() for x in fetched: data[n] = {} data[n]["ID"] = str(x.key.id()) data[n]["Title"] = x.title data[n]["Artist"] = x.artist data[n]["Art"] = x.art data[n]["Owner"] = x.owner data[n]["Release-Date"] = x.releaseDate data[n]["URL"] = "%s/records/%s" % (CURRENT_HOST, str(x.key.id())) data[n]["Owner"] = "%s/users/%s" % (CURRENT_HOST, x.owner) n = n + 1 json_resp = jsonify(data) return json_resp
def main_page(): access_token = request.headers.get('Authorization') if access_token: email = account_check.get_google_email(access_token) q = UserAccount.query(UserAccount.email == email) fetched = q.fetch() print fetched for x in fetched: username = x.username return Response( "<a href=\"%s/records\">Records</a><p></p><a href=\"%s/users\">Users</a><p></p>Logged in as %s" % (CURRENT_HOST, CURRENT_HOST, username)) return Response( "<a href=\"%s/records\">Records</a><p></p><a href=\"%s/users\">Users</a>" % (CURRENT_HOST, CURRENT_HOST))
def change_username(): jsonNew = request.json print 1 for key in jsonNew: if key not in ("Username"): return abort(403, "Must specify a username") print 2 access_token = request.headers.get('Authorization') if access_token: email = account_check.get_google_email(access_token) print 2 print email q = UserAccount.query(UserAccount.email == email) fetched = q.fetch() theUser = UserAccount.get_by_id(int(fetched[0].key.id())) theUser.username = jsonNew["Username"] theUser.put() return Response("Username successfully updated.") else: abort(403, "You are not signed in.")
def personal_account(): data = {} access_token = request.headers.get('Authorization') if access_token: email = account_check.get_google_email(access_token) print email q = UserAccount.query(UserAccount.email == email) fetched = q.fetch() for x in fetched: data["ID"] = x.key.id() data["URL"] = "%s/users/%s" % (CURRENT_HOST, x.key.id()) data["Name"] = x.name data["Username"] = x.username data["Email"] = x.email data["Collection"] = "%s/users/%s/collection" % (CURRENT_HOST, x.key.id()) data["Description"] = x.description json_resp = jsonify(data) return json_resp else: abort(403)
def personal_collection(): data = {} n = 0 access_token = request.headers.get('Authorization') email = account_check.get_google_email(access_token) q = UserAccount.query(UserAccount.email == email) fetched = q.fetch() for x in fetched: temp = dict(x.collection) for recordID in temp.keys(): data[n] = {} theRecord = Record.get_by_id(int(recordID)) data[n]["ID"] = recordID data[n]["Title"] = theRecord.title data[n]["Artist"] = theRecord.artist data[n]["Art"] = theRecord.art data[n]["Owner"] = theRecord.owner data[n]["Release-Date"] = theRecord.releaseDate data[n]["URL"] = "%s/records/%s" % (CURRENT_HOST, str(theRecord.key.id())) data[n]["Owner"] = "%s/users/%s" % (CURRENT_HOST, theRecord.owner) n = n + 1 json_resp = jsonify(data) return json_resp