Blame page/root.py

Ivan Mahonin b838e2
Ivan Mahonin b838e2
Ivan Mahonin b838e2
import exception
Ivan Mahonin b838e2
Ivan Mahonin b838e2
from page.page import Page
Ivan Mahonin e5b0ac
from page.user import UserPage, UserCreatePage, UserListPage
Ivan Mahonin b838e2
Ivan Mahonin b838e2
Ivan Mahonin b838e2
class RootPage(Page):
Ivan Mahonin b838e2
  def __init__(self):
Ivan Mahonin b838e2
    super().__init__()
Ivan Mahonin b838e2
    self.user = UserPage()
Ivan Mahonin b838e2
    self.user_create = UserCreatePage()
Ivan Mahonin b838e2
    self.users = UserListPage()
Ivan Mahonin b838e2
  
Ivan Mahonin b838e2
  def process(self, request, path, prevpath):
Ivan Mahonin b838e2
    answer = request.answer
Ivan Mahonin b838e2
    answer.template = self.commontemplate
Ivan Mahonin b838e2
    
Ivan Mahonin 572081
    answer.add_uipath_entry( answer.t(request.server.config['name']), prevpath )
Ivan Mahonin 572081
    
Ivan Mahonin b838e2
    if path:
Ivan Mahonin b838e2
      if path[0] == 'user':
Ivan Mahonin b838e2
        return self.user.sub_process(request, path, prevpath)
Ivan Mahonin b838e2
      if path[0] == 'user_create':
Ivan Mahonin b838e2
        return self.user_create.sub_process(request, path, prevpath)
Ivan Mahonin b838e2
      if path[0] == 'users':
Ivan Mahonin b838e2
        return self.users.sub_process(request, path, prevpath)
Ivan Mahonin e5b0ac
      if path[0] == 'auth':
Ivan Mahonin e5b0ac
        answer.headers.append( ('WWW-Authenticate', 'Basic realm="Repo", charset="UTF-8"') )
Ivan Mahonin e5b0ac
        answer.status = '401 Unauthorized'
Ivan Mahonin e5b0ac
      else:
Ivan Mahonin e5b0ac
        raise exception.HttpNotFound()
Ivan Mahonin b838e2
    
Ivan Mahonin 572081
    answer.content += '

' + answer.te('Welcome!') + '

'
Ivan Mahonin b838e2
Ivan Mahonin b838e2
    if request.model.users.can_list():
Ivan Mahonin b838e2
      answer.content += '

' + self.make_link(answer, prevpath + ['users'], 'Users list') + '

\n'
Ivan Mahonin b838e2
Ivan Mahonin 572081
    if request.server.config['debug']:
Ivan Mahonin 572081
      answer.content += '

' + answer.te('Debug data:') + '

'
Ivan Mahonin 572081
      answer.content += '

Env: \n' + answer.e(str(request.env)) + '

'
Ivan Mahonin b838e2
Ivan Mahonin 572081
      tables = list(v[0] for v in request.connection.query_list('SHOW TABLES'))
Ivan Mahonin 572081
      answer.content += '

DB tables: ' + answer.e(', '.join(tables)) + '

'
Ivan Mahonin b838e2
    
Ivan Mahonin 572081
      rows = request.connection.query_dict('SELECT * FROM %T', 'test')
Ivan Mahonin 572081
      answer.content += '

Rows of test table: ' + answer.e(str(rows)) + '

'
Ivan Mahonin b838e2
Ivan Mahonin b838e2
    return answer.complete_content()
Ivan Mahonin b838e2