Commit 088e4c92140339be5cd6ddbbceed65658bcb4ae4

Authored by Eduardo Santos
1 parent 15125a1c
Exists in master

Altera criação para métodos do objeto

Showing 2 changed files with 40 additions and 5 deletions   Show diff stats
wscacicneo/model/orgao.py
... ... @@ -2,12 +2,15 @@
2 2 # -*- coding: utf-8 -*-
3 3 __author__ = 'eduardo'
4 4  
  5 +from requests.exceptions import HTTPError
5 6 from wscacicneo import WSCacicNeo
6 7 from liblightbase.lbbase.struct import Base, BaseMetadata
7 8 from liblightbase.lbbase.lbstruct.group import *
8 9 from liblightbase.lbbase.lbstruct.field import *
9 10 from liblightbase.lbbase.content import Content
10 11 from liblightbase.lbrest.base import BaseREST
  12 +from liblightbase.lbrest.document import DocumentREST
  13 +from liblightbase.lbutils import conv
11 14  
12 15 class OrgaoBase(WSCacicNeo):
13 16 """
... ... @@ -19,6 +22,8 @@ class OrgaoBase(WSCacicNeo):
19 22 """
20 23 WSCacicNeo.__init__(self)
21 24 self.baserest = BaseREST(rest_url=self.rest_url, response_object=True)
  25 + self.documentrest = DocumentREST(rest_url=self.rest_url,
  26 + base=self.lbbase, response_object=True)
22 27  
23 28 @property
24 29 def lbbase(self):
... ... @@ -145,12 +150,43 @@ class OrgaoBase(WSCacicNeo):
145 150 else:
146 151 raise IOError('Error excluding base from LB')
147 152  
148   -OrgaoMetaClass = OrgaoBase().metaclass
  153 +orgao_base = OrgaoBase()
149 154  
150   -
151   -class Orgao(OrgaoMetaClass):
  155 +class Orgao(orgao_base.metaclass):
152 156 """
153 157 Classe genérica de órgãos
154 158 """
155 159 def __init__(self, **args):
156 160 super(Orgao, self).__init__(**args)
  161 +
  162 + def orgao_to_dict(self):
  163 + """
  164 + Convert status object to Python dict
  165 + :return:
  166 + """
  167 +
  168 + return conv.document2dict(orgao_base.lbbase, self)
  169 +
  170 + def orgao_to_json(self):
  171 + """
  172 + Convert object to json
  173 + :return:
  174 + """
  175 +
  176 + return conv.document2json(orgao_base.lbbase, self)
  177 +
  178 + def create_orgao(self):
  179 + """
  180 + Insert document on base
  181 +
  182 + :return: Document creation ID
  183 + """
  184 +
  185 + document = self.orgao_to_json()
  186 + try:
  187 + result = orgao_base.documentrest.create(document)
  188 + except HTTPError, err:
  189 + log.error(err.strerror)
  190 + return None
  191 +
  192 + return result
... ...
wscacicneo/views.py
... ... @@ -184,8 +184,7 @@ def post_orgao(request):
184 184 telefone = doc['telefone']
185 185 )
186 186  
187   - document = conv.document2json(orgaobase, orgao_obj)
188   - id_doc = DocumentREST(rest_url, orgaobase).create(document)
  187 + id_doc = orgao_obj.create_orgao()
189 188 print(id_doc)
190 189  
191 190 return Response(str(id_doc))
... ...