示例#1
0
from os.path import realpath, dirname
import rivr
from rivr.template.defaulttags import register as tag_lib
from rivr.template.defaultfilters import register as filter_lib

template_dir = dirname(realpath(__file__))

def view(request):
    return rivr.TemplateResponse(request, 'example_template.html', {
        'tag_list': tag_lib.tags,
        'filter_list': filter_lib.filters,
    })

if __name__ == '__main__':
    rivr.serve(rivr.TemplateMiddleware(template_dir, rivr.Router(
        (r'^$', rivr.direct_to_template, {
            'template': 'example_template.html',
            'extra_context': {
                'tag_list': tag_lib.tags,
                'filter_list': filter_lib.filters,
            }}),
        (r'^view/$', view)
    )))
# Loaded into global space so they're always in memory

with open('messages.txt') as fp:
    global messages
    messages = fp.readlines()

with open('gifs.txt') as fp:
    global gifs
    gifs = fp.readlines()


class ShouldView(rivr.views.TemplateView):
    template_name = 'should.html'

    def get_context_data(request, **kwargs):
        return {
            'message': random.choice(messages).strip(),
            'gif': random.choice(gifs).strip(),
            'params': kwargs,
        }

template_dir = path.dirname(path.realpath(__file__))
app = rivr.MiddlewareController.wrap(ShouldView.as_view(),
    rivr.TemplateMiddleware(template_dirs=template_dir),
)
wsgi = WSGIHandler(app)

if __name__ == '__main__':
    rivr.serve(app)

示例#3
0
kwargs = {
    'template_object_name': 'page',
}

@rivr.mongodb
def add_view(request):
    if request.method == 'POST':
        return ResponseRedirect('/%s/' % request.mongodb_collection.save(request.POST))
    return rivr.TemplateResponse(request, 'page_add.html', {})

@rivr.mongodb
def edit_view(request, object_id):
    if request.method == 'POST':
        request.mongodb_collection.update({'_id': ObjectId(object_id)}, request.POST)
        return ResponseRedirect('/%s/' % object_id)
    return object_detail(request, template_name='page_edit.html', **kwargs)

if __name__ == '__main__':
    rivr.serve(rivr.MongoDBMiddleware('localhost', 27017, 'rivr_test', 'pages',
        rivr.TemplateMiddleware(template_dir,
            rivr.Router(
                (r'^$', object_list, kwargs),
                (r'^add/$', add_view),
                (r'^(?P<object_id>[\w\d]+)/edit/$', edit_view),
                (r'^(?P<object_id>[\w\d]+)/delete/$', delete_object, kwargs),
                (r'^(?P<object_id>[\w\d]+)/$', object_detail, kwargs)
            )
        )
    ))
示例#4
0
"""


if __name__ == '__main__':
    try:
        Task.create_table()
        Task.create(text='My first task')
        Task.create(text='Another task')
    except:
        # Database is already created
        pass

    loader = DictLoader({
        'task_list.html': TASK_LIST_TEMPLATE,
        'task_detail.html': TASK_DETAIL_TEMPLATE,
    })
    environment = Environment(loader=loader)

    router = Router(
        (r'^$', TaskListView.as_view()),
        (r'^tasks/(?P<pk>[\d]+)$', TaskDetailView.as_view()),
    )

    view = MiddlewareController.wrap(router,
        database,
        JinjaMiddleware(environment)
    )

    serve(view)

示例#5
0
import rivr

class ExampleAuthMiddleware(rivr.AuthMiddleware):
    def check_password(self, username, password):
        return username == 'kylef' and password == 'letmein'

def hello_world(request):
    return rivr.Response('Hello, {}!'.format(request.user.username), content_type='text/plain')

if __name__ == '__main__':
    rivr.serve(ExampleAuthMiddleware.wrap(hello_world))
示例#6
0
文件: example.py 项目: Derecho/rivr
import rivr

def hello_world(request):
    return rivr.Response('Hello, World!', content_type='text/plain')

if __name__ == '__main__':
    rivr.serve(hello_world)
示例#7
0
import rivr

def auth_handler(username, password):
    return username == 'kylef' and password == 'letmein'

def hello_world(request):
    return rivr.Response('Hello, World!', content_type='text/plain')

if __name__ == '__main__':
    rivr.serve(rivr.AuthMiddleware(auth_handler, hello_world))
示例#8
0
import rivr

def view(request):
    raise Exception, "Debugger example"

if __name__ == '__main__':
    rivr.serve(view)
with open('messages.txt') as fp:
    global messages
    messages = fp.readlines()

with open('gifs.txt') as fp:
    global gifs
    gifs = fp.readlines()


class ShouldView(rivr.views.TemplateView):
    template_name = 'should.html'

    def get_context_data(request, **kwargs):
        return {
            'message': random.choice(messages).strip(),
            'gif': random.choice(gifs).strip(),
            'params': kwargs,
        }


template_dir = path.dirname(path.realpath(__file__))
app = rivr.MiddlewareController.wrap(
    ShouldView.as_view(),
    rivr.TemplateMiddleware(template_dirs=template_dir),
)
wsgi = WSGIHandler(app)

if __name__ == '__main__':
    rivr.serve(app)
示例#10
0
import rivr

def index(request):
    return rivr.Response('index view.')

def test(request):
    return rivr.Response('test view.')

router = rivr.Router(
    (r'^$', index),
    (r'^test/$', test)
)

def example(request):
    return rivr.Response('Example view. Showing the register command on a router.')
router.register(r'^example/$', example)

def page(request, slug):
    return rivr.Response('page view, slug is `%s`' % slug)
router.register(r'^(?P<slug>[-\w]+)/$', page)

if __name__ == '__main__':
    rivr.serve(router)
示例#11
0
from rivr import serve
from palaverapi.views import app


if __name__ == '__main__':
    serve(app)

示例#12
0
import rivr

def view(request):
    raise Exception, "Debugger example"

if __name__ == '__main__':
    rivr.serve(rivr.DebugMiddleware(view))
示例#13
0
import rivr

def index(request):
    return rivr.Response('index view.')

def test(request):
    return rivr.Response('test view.')

def array(request):
    if request.path == '/array/':
        return rivr.Response('array view.')
    raise rivr.Http404

def another_view(request):
    return rivr.Response('another view.')

if __name__ == '__main__':
    rivr.serve(rivr.DebugMiddleware(rivr.Array(
        rivr.Router(
            (r'^$', index),
            (r'^test/$', test)
        ),
        array,
        another_view
    )))
示例#14
0
import rivr

def index(request):
    return rivr.Response('index view.')

def test(request):
    return rivr.Response('test view.')

router = rivr.Router(
    (r'^$', index),
    (r'^test/$', test)
)

@router.register(r'^example/$')
def example(request):
    return rivr.Response('Example view. Showing the register decorator.')

def page(request, slug):
    return rivr.Response('page view, slug is `%s`' % slug)
router.register(r'^(?P<slug>[-\w]+)/$', page)

if __name__ == '__main__':
    rivr.serve(rivr.ErrorWrapper(router))
示例#15
0
import rivr

class ExampleMiddleware(rivr.Middleware):
    def process_request(self, request):
        return rivr.Response("Hello World")

def view(request):
    raise Exception, "Debugger example"

if __name__ == '__main__':
    rivr.serve(rivr.MiddlewareController.wrap(view,
        ExampleMiddleware(),  # This example middleware will run instead of our view on process_request
        rivr.DebugMiddleware(),
    ))
示例#16
0
import rivr

def index(request):
    return rivr.Response('Welcome to localhost!')

def profile(request, user):
    return rivr.Response('Welcome to %s\'s profile' % user)

if __name__ == '__main__':
    rivr.serve(rivr.Domain(
        (r'^localhost/$', index), # domain homepages
        (r'^(?P<user>[-\w]+).localhost/$', profile), # user.domain
        (r'^localhost/(?P<user>[-\w]+)/$', profile) # domain/user
    ))
示例#17
0
class UsersResource(Resource):
    uri_template = '/users'

    def get_relations(self):
        return {
            'users': [
                UserResource(parameters={'username': '******'}),
                UserResource(parameters={'username': '******'}),
            ]
        }


class UserResource(Resource):
    uri_template = '/users/{username}'

    def get_attributes(self):
        return {
            'username': self.parameters['username'],
        }


router = Router(
    UsersResource,
    UserResource,
)

router.add_root_resource('users', UsersResource)

if __name__ == '__main__':
    serve(router)