コード例 #1
0
ファイル: fabfile.py プロジェクト: w0rm/pre-stonegarden-dev
def schema():
    '''Creates database schema and fills website with initial data'''

    database = config.database['dbn']

    schema_commands = open('schema/' + database + '.sql', 'r').read()
    for cmd in schema_commands.split(';'):
        if cmd.strip():
            db.query(cmd)

    data = web.storage(json.loads(open('schema/data.json', 'r').read()))
    now = web.db.SQLLiteral('CURRENT_TIMESTAMP')
    user = auth.create_user(**data.user)

    # System root folder
    db.insert(
        'documents',
        user_id=user.id,
        created_at=now,
        **data.documents_root
    )

    for p in data.pages:
        block = p.pop('block')
        page_id = db.insert(
            'pages',
            is_published=False,
            is_navigatable=True,
            user_id=user.id,
            created_at=now,
            **p
        )
        create_tree_branch(
            'blocks',
            block,
            page_id=page_id,
            user_id=user.id,
            is_published=True,
            created_at=now,
            published_at=now,
        )

    for block in data.template_blocks:
        create_tree_branch(
            'blocks',
            block,
            user_id=user.id,
            is_published=True,
            created_at=now,
            published_at=now,
        )
コード例 #2
0
ファイル: users.py プロジェクト: w0rm/pre-stonegarden-dev
 def POST(self):
     user_form = userForm(web.input())
     if user_form.valid:
         user = user_form.d
         email = user.pop("email")
         password = temp_password()
         user.update(password=password)
         user = auth.create_user(email, **user)
         mailer.send(
             user.email,
             render_email.register(user, password),
             send_now=True,
             is_secure=True,
         )
         applog.info(new_user_text % user.title, "users", user.id)
     raise web.seeother(web.ctx.env.get("HTTP_REFERER", "/a/users"))