bootstrap.py 1.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. # -*- coding: utf-8 -*-
  2. """Setup the pod application"""
  3. from __future__ import print_function
  4. import logging
  5. from tg import config
  6. from pod import model
  7. import transaction
  8. def bootstrap(command, conf, vars):
  9. """Place any commands to setup pod here"""
  10. # <websetup.bootstrap.before.auth
  11. from sqlalchemy.exc import IntegrityError
  12. try:
  13. u = model.User()
  14. u.user_name = 'manager'
  15. u.display_name = 'Example manager'
  16. u.email_address = 'manager@somedomain.com'
  17. u.password = 'managepass'
  18. model.DBSession.add(u)
  19. g = model.Group()
  20. g.group_name = 'managers'
  21. g.display_name = 'Managers Group'
  22. g.users.append(u)
  23. model.DBSession.add(g)
  24. p = model.Permission()
  25. p.permission_name = 'manage'
  26. p.description = 'This permission give an administrative right to the bearer'
  27. p.groups.append(g)
  28. model.DBSession.add(p)
  29. u1 = model.User()
  30. u1.user_name = 'editor'
  31. u1.display_name = 'Example editor'
  32. u1.email_address = 'editor@somedomain.com'
  33. u1.password = 'editpass'
  34. model.DBSession.add(u1)
  35. model.DBSession.flush()
  36. transaction.commit()
  37. except IntegrityError:
  38. print('Warning, there was a problem adding your auth data, it may have already been added:')
  39. import traceback
  40. print(traceback.format_exc())
  41. transaction.abort()
  42. print('Continuing with bootstrapping...')
  43. # <websetup.bootstrap.after.auth>