Eu agora dividi o código em partes separadas – pyrest.py agora tem apenas a funcionalidade genérica para fazer hooking e routing, juntamente com um grupo de assistentes para criar respostas com os tipos de respostas HTTP. Na verdade, são apenas 35 linhas de código, e isso é todo o ‘core’ do pyREST até agora.
A integração CherryPy mudou-se para o pacote pyrest.integration como cherry.py – ainda é muito confuso para usar (python -m pyrest.integration.cherry pode somente conectar o código de exemplo hgapi), e a implementação hgapi foi movida para o pacote pyrest.examples.hg. As partes do CherryPy não foram muito modificadas além da sempre esperada tuple Response e sua utilização para definir status de resposta e conteúdo, mas a integração hgapi ostenta agora uma função post, permitindo-me comitar o código escrito apenas usando-a! changeset.py também utiliza novos helpers Response para criar os valores de retorno.
O código foi comitado com uma solicitação POST para /api/changeset?message=Comitting via pyrest. Em seguida, estou planejando tornar a integração Mercurial útil, e/ou a integração CherryPy um pouco mais robusta.
O código está sempre disponível no Bitbucket.
***
Artigo traduzido pela Redação iMasters, com autorização do autor. Publicado originalmente em http://blaag.haard.se/pyRest-part-4–Separating-the-parts/