def add(self, argv): """add [--first_name=<firstname> --last_name=<lastname>] <username> Add a new user to the database.""" args, kwargs = CLI.breakout_args(argv[1:], self._environ) username = args[0] try: pwent = passwd.getpwnam(username) except KeyError: pass else: models.create_user(_session, pwent) return grp = _session.query(models.Group).filter(models.Group.name=="testers").one() kwargs["username"] = username kwargs["authservice"] = "local" kwargs.setdefault("is_staff", True) kwargs.setdefault("is_active", True) kwargs.setdefault("is_superuser", False) if "first_name" not in kwargs: kwargs["first_name"] = self._user_input("First Name? ") if "last_name" not in kwargs: kwargs["last_name"] = self._user_input("Last Name? ") user = models.create(models.User, **kwargs) user.groups = [grp] _session.add(user) _session.commit()
def get_or_create_User(username): try: user = _dbsession.query(models.User).filter(models.User.username==username).one() except models.NoResultFound: pwent = passwd.getpwnam(username) user = models.create_user(_dbsession, pwent) return user
def get_user(conf): sess = conf.session pwent = passwd.getpwuid(os.getuid()) try: # user = models.User.objects.get(username=pwent.name) user = sess.query(models.User).filter(models.User.username==pwent.name).one() except NoResultFound: user = models.create_user(sess, pwent) return user