2 # Copyright 2018 EveryUP Srl
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
16 from .models
import OsmUser
17 from lib
.osm
.osmclient
.clientv2
import Client
19 class OsmBackend(object):
21 def authenticate(self
, **kwargs
):
23 kwargs will receive the python dict that may contain
24 {username, password, project-id} to authenticate
26 if all(k
in kwargs
for k
in ('username', 'password', 'project_id')):
27 username
= kwargs
['username']
28 password
= kwargs
['password']
29 project_id
= kwargs
['project_id']
32 result
= client
.auth(kwargs
)
36 if 'error' in result
and result
['error'] == True:
41 user
= OsmUser
.objects
.get(username
=username
)
43 except OsmUser
.DoesNotExist
:
44 # Create a new user. There's no need to set a password
45 # we will keep just some preferences
46 user
= OsmUser(username
=username
)
49 user
.session
= result
['data']
54 def get_user(self
, user_id
):
56 return OsmUser
.objects
.get(pk
=user_id
)
57 except OsmUser
.DoesNotExist
: