Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
ParsePy
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenEdx
ParsePy
Commits
6c57fa86
Commit
6c57fa86
authored
Feb 21, 2015
by
David Robinson
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #90 from deanq/master
User.current_user() when a valid session token is provided
parents
8a811dba
2885b5a8
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
44 additions
and
1 deletions
+44
-1
README.mkd
+24
-1
parse_rest/tests.py
+15
-0
parse_rest/user.py
+5
-0
No files found.
README.mkd
View file @
6c57fa86
...
...
@@ -54,8 +54,11 @@ in the app and may accidentally replace or change existing objects.
You can then test the installation by running the following command:
python -m 'parse_rest.tests'
# test all
python -m unittest parse_rest.tests
# or test individually
python -m unittest parse_rest.tests.TestObject.testCanCreateNewObject
Usage
-----------
...
...
@@ -391,6 +394,26 @@ u.save()
u.delete()
~~~
~~
To get the current user from a Parse session:
~~~
~~ {python}
from parse_rest.connection import SessionToken, register
# Acquire a valid parse session somewhere
# Example: token = request.session.get('session_token')
# Method 1: Using a `with` statement
# Do this to isolate use of session token in this block only
with SessionToken(token):
me = User.current_user()
# Method 2: register your parse connection with `session_token` parameter
# Do this to use the session token for all subsequent queries
register(PARSE_APPID, PARSE_APIKEY, session_token=token)
me = User.current_user()
~~~
~~
Push
---------------
...
...
parse_rest/tests.py
View file @
6c57fa86
...
...
@@ -507,6 +507,21 @@ class TestUser(unittest.TestCase):
g
.
save
()
self
.
assertEqual
(
1
,
len
(
Game
.
Query
.
filter
(
creator
=
user
)))
def
testCanGetCurrentUser
(
self
):
user
=
User
.
signup
(
self
.
username
,
self
.
password
)
self
.
assertIsNotNone
(
user
.
sessionToken
)
register
(
getattr
(
settings_local
,
'APPLICATION_ID'
),
getattr
(
settings_local
,
'REST_API_KEY'
),
session_token
=
user
.
sessionToken
)
current_user
=
User
.
current_user
()
self
.
assertIsNotNone
(
current_user
)
self
.
assertEqual
(
current_user
.
sessionToken
,
user
.
sessionToken
)
self
.
assertEqual
(
current_user
.
username
,
user
.
username
)
class
TestPush
(
unittest
.
TestCase
):
"""
...
...
parse_rest/user.py
View file @
6c57fa86
...
...
@@ -91,6 +91,11 @@ class User(ParseResource):
login_url
=
User
.
ENDPOINT_ROOT
return
cls
(
**
User
.
POST
(
login_url
,
authData
=
auth
))
@classmethod
def
current_user
(
cls
):
user_url
=
'/'
.
join
([
API_ROOT
,
'users/me'
])
return
cls
(
**
User
.
GET
(
user_url
))
@staticmethod
def
request_password_reset
(
email
):
'''Trigger Parse
\'
s Password Process. Return True/False
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment