%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
# Copyright 2015 Canonical, Ltd.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import logging
from subiquitycore.utils import crypt_password
log = logging.getLogger('subiquitycore.models.identity')
class LocalUser(object):
def __init__(self, result):
self._realname = result.get('realname')
self._username = result.get('username')
self._password = result.get('password')
self._cpassword = result.get('confirm_password')
self._ssh_import_id = None
if 'ssh_import_id' in result:
self._ssh_import_id = result.get('ssh_import_id')
@property
def realname(self):
return self._realname
@property
def username(self):
return self._username
@property
def password(self):
return self._password
@property
def cpassword(self):
return self._cpassword
@property
def ssh_import_id(self):
return self._ssh_import_id
def __repr__(self):
return "%s <%s>" % (self._realname, self._username)
class IdentityModel(object):
""" Model representing user identity
"""
def __init__(self, opts):
self.opts = opts
self._user = None
def add_user(self, result):
if result:
self._user = LocalUser(result)
else:
self._user = None
@property
def user(self):
return self._user
def encrypt_password(self, passinput):
return crypt_password(passinput)
def __repr__(self):
return "<LocalUser: {}>".format(self.user)