Skip to main content

Plugin to use OO to create routes in bottle.

Project description

Plugin que implementa criação de rotas com orientação a objetos.

[!NOTE] Este módulo não é exatamente um Plugin do bottle pois não é implementado como um, trata-se apenas de um "cheatzinho" que criei para simplificar um projeto meu. Para conferir como criar um plugin com bottle siga o link: https://bottlepy.org/docs/dev/plugindev.html

Plugin para micro-framework bottle para simplificar a criação de rotas utilizando Orientação a Objetos.

Para utilizar este plugin é necessário instalar o bottle. Pode ser o passo a passo da documentação: https://bottlepy.org/docs/0.12/tutorial.html#installation ou apenas com o comando abaixo:

pip install bottle

Depois pode instalar o plugin com o comando:

pip install BottleRoute

Esse plugin vai trazer o arquivo RouteExt para o seu site-package então você poderá utilizar da seguinte forma:

from bottle import Bottle
from RouteExt import set_controller_handler, Controllers


class TesteController(Controllers):
    url = "/"

    def get(self):
        return f"A url é: {self.url}"

app = set_controller_handler(Bottle)

app.register(obj=TesteController())

app.run()

Desta forma ele vai adicionar o método register a abstração do Bottle e vai poder ser invocado passando um objeto subclasse da classe Controller que implemente os verbos HTTP para URL. No exemplo acima são criados os verbos GET, POST, PUT e DELETE para a rota /, como não foi definido na classe TesteController() os métodos POST, PUT, DELETE, caso fossem requisitados retornáriam um erro informando Method not implemented.

Também é possível utilizar rotas dinamicas:

from bottle import Bottle
from RouteExt import set_controller_handler, Controllers


class TesteController(Controllers):
    url = "/<nome>"

    def get(self, nome):
        return f"O parametro na rota é:: {nome}"

app = set_controller_handler(Bottle)

app.register(obj=TesteController())

app.run()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

BottleRoutes-2020.8.20.tar.gz (2.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page