コード例 #1
0
ファイル: app.py プロジェクト: intip/da-apps
    def _install(self, title, facebook_client_id, facebook_secret,
                 facebook_redirect_url, google_client_id, google_secret,
                 google_redirect_url, twitter_consumer_key,
                 twitter_consumer_secret,
                 rss_titulo=None, rss_link=None, rss_descricao=None,
                 rss_idioma=None, rss_categoria=None, rss_copyright=None,
                 rss_imagem_titulo=None, rss_imagem_link=None,
                 rss_imagem=None):
        """
            Método padrão de instalação da aplicação no Publica
        """
        nid = str(time()).replace(".", "")
        if not self.schema:
            self.schema = "%s_%s" % (meta_type, nid)

        self.execSqlu("structure")
        portal = Portal(id_site=self.id_site,
                        request=self.request)
        user_dinamic = portal._getUserDinamic(id_site=self.id_site)

        if user_dinamic:
            self.execSqlu("permissions",
                          user=buffer(user_dinamic))

        if settings.USER_PERMISSION:
            for u in settings.USER_PERMISSION:
                self.execSqlu("permissions_admin",
                              user=buffer(u))

        rss = {
            "titulo": rss_titulo,
            "link": rss_link,
            "descricao": rss_descricao,
            "idioma": rss_idioma,
            "categoria": rss_categoria,
            "copyright": rss_copyright,
            "imagem_titulo": rss_imagem_titulo,
            "imagem_link": rss_imagem_link,
            "rss_imagem": rss_imagem
        }

        return {
            "title": title,

            #facebook
            "facebook_client_id": facebook_client_id,
            "facebook_secret": facebook_secret,
            "facebook_redirect_url": facebook_redirect_url,

            #google plus
            "google_client_id": google_client_id,
            "google_secret": google_secret,
            "google_redirect_url": google_redirect_url,

            #twitter
            "twitter_consumer_key": twitter_consumer_key,
            "twitter_consumer_secret": twitter_consumer_secret,

            "rss": rss
        }
コード例 #2
0
ファイル: __init__.py プロジェクト: intip/da-apps
def searchFields(data):
    # init fix tags
    from publica.core.portal import Portal
    portal = Portal(id_site=data["id_site"],
                    request={})
    tags = [i["tag"] for i in portal._getTags(
                                   id_site=data["id_site"],
                                   id_conteudo=data["id_conteudo"],
                                   schema=data["schema"],
                                   text=None)]
    data["dados"]["tags"] = tags
    # end fix tags

    tags = " ".join(data["dados"].get("tags", []))
    tags_ascii = convertascii(tags).replace(" ", "_")

    return {"published": data["publicado_em"],
            "meta_type": meta_type,
            "schema": data["schema"],
            "id_site": data["id_site"],
            "id_conteudo": data["id_conteudo"],
            "id_content": data["id_content"],
            "id_treeapp": data["id_treeapp"],
            "id_aplicativo": data["id_aplicativo"],
            "comment": data["comentario"],
            "access": data["acesso"],
            "vote": data["voto"],
            "title": data["titulo"],
            "description": data["dados"]["corpo"],
            "tags": tags,
            "tags_ascii": tags_ascii,
            "%s_descricao" % meta_type: data["dados"]["descricao"]}
コード例 #3
0
ファイル: app.py プロジェクト: intip/da-apps
    def editApp(self, title, path_base, hash, rss_titulo=None, rss_link=None, rss_descricao=None,
                       rss_idioma=None, rss_categoria=None, rss_copyright=None,
                       rss_imagem_titulo=None, rss_imagem_link=None,
                       rss_imagem=None):
        """Edita os atributos da instancia
        """
        rss = {"titulo":rss_titulo,
               "link":rss_link,
               "descricao":rss_descricao,
               "idioma":rss_idioma,
               "categoria":rss_categoria,
               "copyright":rss_copyright,
               "imagem_titulo":rss_imagem_titulo,
               "imagem_link":rss_imagem_link,
               "rss_imagem":rss_imagem}

        dados = {"rss":rss, "path_base":path_base, "hash":hash}
        portal = Portal(id_site=self.id_site, request=self.request)

        user_dinamic = portal._getUserDinamic(id_site=self.id_site)
        if user_dinamic:
            self.execSqlu("permissions",
                          user=buffer(user_dinamic))

        if settings.USER_PERMISSION:
            for u in settings.USER_PERMISSION:
                self.execSqlu("permissions_admin",
                              user=buffer(u))

        portal._editApp(env_site=self.id_site,
                        schema=self.schema,
                        titulo=title,
                        dados=dados)

        return "Aplicativo configurado com sucesso"
コード例 #4
0
ファイル: app.py プロジェクト: intip/da-apps
    def atualizarDados(self, cidades=[]):
        """
        """
        log = ""
        dados = self._getDados()
        if not cidades:
            cidades = dados["cidades"].strip().split("\n")

        xml = self._getXml(dados["url_xml"])
        p = BeautifulStoneSoup(xml)

        for cidade in cidades:
            cidade = cidade.strip()
            if cidade:
                log += " %s" % cidade
                prev = self._extrairDados(cidade, p)
                self._salvarDados(cidade, prev)

        if dados.get("hash"):
            portal = Portal(id_site=self.id_site,
                            request=self.request)
            portal._exportarAppSubOne(env_site=self.id_site,
                                      hash=dados["hash"])

        self.logmsg = "SoleChuva: Atualizado as cidades: %s" % log
        return self.logmsg
コード例 #5
0
ファイル: public.py プロジェクト: intip/da-apps
    def getEstabelecimentosPublicados(self, limit=None, offset=None,
                                      exportar=1, admin=1):

        portal = Portal(id_site=self.id_site,
                        request=self.request)

        
        res = []
        for i in self.execSql("select_estabelecimento_publicado",
                               limit=int(limit),
                               offset=int(offset)):
            i['url'] = self._getUrlByApp(env_site=self.id_site,
                                          schema=self.schema,
                                          id_conteudo=i["id_conteudo"],
                                          exportar=exportar,
                                          admin=admin)
            i['imagem_destaque'] = portal.getUrlByFile(i['imagem_destaque'], id_site=self.id_site)
            i["categorias"]=[]
            for j in self.execSql("select_categoria_estabelecimento", id_conteudo=int(i["id_conteudo"])):
                categoria = {"id_categoria":j["id_categoria"],
                             "nome":j["nome"]}
                i["categorias"].append(categoria)
            res.append(i)
            
        qtde = self.execSql("select_estabelecimento_publicado_count").next()["qtde"]

        return {"itens":res, "qtde": qtde}
コード例 #6
0
ファイル: app.py プロジェクト: intip/da-apps
    def editApp(self, title, 
                       rss_titulo=None, rss_link=None, rss_descricao=None,
                       rss_idioma=None, rss_categoria=None, rss_copyright=None,
                       rss_imagem_titulo=None, rss_imagem_link=None,
                       rss_imagem=None):
        """
            Método padrão de edição dos dados da aplicação
        """
        rss = {"titulo":rss_titulo,
               "link":rss_link,
               "descricao":rss_descricao,
               "idioma":rss_idioma,
               "categoria":rss_categoria,
               "copyright":rss_copyright,
               "imagem_titulo":rss_imagem_titulo,
               "imagem_link":rss_imagem_link,
               "rss_imagem":rss_imagem}

        dados = {"rss":rss}
        portal = Portal(id_site=self.id_site, request=self.request)
        portal._editApp(env_site=self.id_site, 
                        schema=self.schema,
                        titulo=title, 
                        dados=dados)
        user_dinamic = portal._getUserDinamic(id_site=self.id_site)
        if user_dinamic:
            self.execSqlu("permissions",
                          user=buffer(user_dinamic))

        if settings.USER_PERMISSION:
            for u in settings.USER_PERMISSION:
                self.execSqlu("permissions_admin",
                              user=buffer(u))

        return "Aplicativo configurado com sucesso"
コード例 #7
0
ファイル: app.py プロジェクト: bergjr/OPovo-aplicativos
    def _getDublinCore(self, id_pk):
        """
        """
        dados = {"title":"",
                 "created":"",
                 "modified":"",
                 "description":"",
                 "keywords":""}

        for i in self.execSql("select_dublin_core",
                              id_conteudo=int(id_pk)):

            portal = Portal(id_site=self.id_site,
                            request=self.request)

            tags = [j["tag"] for j in portal._getTags(id_site=self.id_site,
                                                      id_conteudo=int(id_pk),
                                                      schema=self.schema,
                                                      text=None)]
            tags = " ".join(tags)
            dados["title"] = i["titulo"]
            dados["created"] = i["publicado_em"]
            dados["modified"] = i["atualizado_em"]
            if i["descricao"]:
                dados["description"] = i["descricao"][:159]
            else:
                desc = ''.join(BeautifulSoup(i["corpo"],
                               fromEncoding=settings.GLOBAL_ENCODING).findAll(text=True))
                dados["description"] = unicode(desc[:159]).encode(settings.GLOBAL_ENCODING)
            dados["keywords"] = tags

        return dados 
コード例 #8
0
ファイル: app.py プロジェクト: intip/da-apps
    def _getDublinCore(self, id_pk):
        """
        """
        dados = {"title":"",
                 "created":"",
                 "modified":"",
                 "description":"",
                 "keywords":""}

        for i in self.execSql("select_dublin_core",
                              id_conteudo=int(id_pk)):

            portal = Portal(id_site=self.id_site,
                            request=self.request)

            tags = [j["tag"] for j in portal._getTags(id_site=self.id_site,
                                                      id_conteudo=int(id_pk),
                                                      schema=self.schema,
                                                      text=None)]
            tags = " ".join(tags)
 
            dados["title"] = i["titulo"]
            dados["created"] = i["publicado_em"] 
            dados["modified"] = i["atualizado_em"]
            if i["descricao"]:
                dados["description"] = i["descricao"][:80]
            else:
                dados["description"] = i["corpo"][:80]
            dados["keywords"] = tags 

        return dados 
コード例 #9
0
ファイル: app.py プロジェクト: intip/da-apps
    def editApp(self, title, rss_titulo=None, rss_link=None, rss_descricao=None,
                       rss_idioma=None, rss_categoria=None, rss_copyright=None,
                       rss_imagem_titulo=None, rss_imagem_link=None,
                       rss_imagem=None):
        """Edita os atributos da instancia
        """
        rss = {"titulo":rss_titulo,
               "link":rss_link,
               "descricao":rss_descricao,
               "idioma":rss_idioma,
               "categoria":rss_categoria,
               "copyright":rss_copyright,
               "imagem_titulo":rss_imagem_titulo,
               "imagem_link":rss_imagem_link,
               "rss_imagem":rss_imagem}

        dados = {"rss":rss}

        portal = Portal(id_site=self.id_site, request=self.request)
        portal._editApp(env_site=self.id_site,
                        schema=self.schema,
                        titulo=title,
                        dados=dados)

        return "Aplicativo configurado com sucesso"
コード例 #10
0
ファイル: app.py プロジェクト: intip/da-apps
    def editApp(self, title, wad_sid, wad_user, wad_passwd, 
                      site, from_host, return_path, titulo, id_servico,
                      url_wsdl, origin_wsdl):
        """Edita os atributos da instancia
        """
        dados = {
                 "wad_sid":wad_sid,
                 "wad_user":wad_user,
                 "wad_password":wad_passwd,
                 "from_host":from_host,
                 "site":site,
                 "return_path":return_path,
                 "titulo":titulo,
                 "id_servico":int(id_servico),
                 "url_wsdl":url_wsdl,
                 "origin_wsdl":origin_wsdl}

        portal = Portal(id_site=self.id_site,
                        request=self.request)
        portal._editApp(env_site=self.id_site, 
                        schema=self.schema,
                        titulo=title, 
                        dados=dados)

        user_dinamic = portal._getUserDinamic(id_site=self.id_site)
        if user_dinamic:
            self.execSqlu("permissions",
                          user=buffer(user_dinamic))

        if settings.USER_PERMISSION:
            for u in settings.USER_PERMISSION:
                self.execSqlu("permissions_admin",
                              user=buffer(u))

        return "Aplicativo configurado com sucesso"
コード例 #11
0
ファイル: app.py プロジェクト: intip/da-apps
    def _install(self, title, wad_sid, wad_user, wad_password,
                       site, from_host, return_path, titulo, id_servico,
                       url_wsdl, origin_wsdl):
        """Adiciona uma instancia do produto
        """
        nid = str(time()).replace(".", "")
        if not self.schema:
            self.schema = "%s_%s" % (meta_type, nid)
        self.execSqlu("structure")

        portal = Portal(id_site=self.id_site, request=self.request)
        user_dinamic = portal._getUserDinamic(id_site=self.id_site)
        if user_dinamic:
            self.execSqlu("permissions",
                          user=buffer(user_dinamic))

        if settings.USER_PERMISSION:
            for u in settings.USER_PERMISSION:
                self.execSqlu("permissions_admin",
                              user=buffer(u))

        return {
                "wad_sid":wad_sid,
                "wad_user":wad_user,
                "wad_password":wad_password,
                "from_host":from_host,
                "site":site,
                "return_path":return_path,
                "titulo":titulo,
                "id_servico":int(id_servico),
                "url_wsdl":url_wsdl,
                "origin_wsdl":origin_wsdl}
コード例 #12
0
ファイル: public.py プロジェクト: intip/da-apps
 def getProgramaNoAr(self, limit):
     """
     Retorna para o portlet os programas que estão no ar e os proximos
     """
     portal = Portal(id_site=self.id_site, request=self.request)
     from datetime import datetime, date, time
     today = datetime.now()
     hora_atual =  str(today.hour)+":"+str(today.minute)
     data_atual = str(today.date())
     res = []
     for i in self.execSql("select_programas_no_ar",
                            hora_atual=hora_atual,
                            data_atual=data_atual,
                            limit=int(limit)):
         if i["link"]:
             the_link = portal.renderLink(dados=i["link"],
                                          exportar=1,
                                          render=1)
             if "[target" in the_link:
                 i['link_target'] = the_link.split("[target")[1].replace("]", "")
                 i['link'] = the_link.split("[target")[0]
             else:
                 i["link"] = the_link 
         res.append(i)       
     return res
コード例 #13
0
ファイル: adm.py プロジェクト: intip/da-apps
 def _getDadosApp(self):
     """
     """
     portal = Portal(id_site=self.id_site,
                     request=self.request)
     return portal._getApp(env_site=self.id_site,
                            schema=self.schema)["dados"]
コード例 #14
0
ファイル: plug.py プロジェクト: intip/da-apps
    def editPlug(self, title, wsdl_url, wsdl_origin, id_servico, session_type, 
                 session_schema, func_type, func_schema, from_host, return_path, titulo_mail,
                 smtp_host, smtp_port, provedor):
        """
            Edita os atributos do plugin
        """
        dados = {"titulo": title,
                "wsdl_url": wsdl_url,
                "wsdl_origin": wsdl_origin,
                "id_servico": id_servico,
                "session_type": session_type,
                "session_schema": session_schema,
                "func_type": func_type,
                "func_schema": func_schema,
                "from_host": from_host,
                "return_path": return_path,
                "titulo_mail":titulo_mail,
                "smtp_host":smtp_host,
                "smtp_port":smtp_port,
                "provedor":provedor}

        portal = Portal(id_site=self.id_site,
                        request=self.request)
        portal._editPlug(env_site=self.id_site,
                         id_plugin=self.id_plugin, 
                         title=title, 
                         dados=dados)
        return "Plugin configurado com sucesso"
コード例 #15
0
ファイル: app.py プロジェクト: intip/da-apps
    def _getDublinCore(self, id_pk):
        """
            Método padrão para a configuração das meta-tags de uma página
            interna de um determinado conteúdo 
        """
        dados = {"title":"",
                 "created":"",
                 "modified":"",
                 "description":"",
                 "keywords":""}

        for i in self.execSql("select_dublin_core",
                              id_conteudo=int(id_pk)):

            portal = Portal(id_site=self.id_site,
                            request=self.request)

            tags = [j["tag"] for j in portal._getTags(id_site=self.id_site,
                                                      id_conteudo=int(id_pk),
                                                      schema=self.schema,
                                                      text=None)]
            tags = " ".join(tags)
 
            dados["title"] = i["titulo"]
            dados["created"] = i["publicado_em"] 
            dados["modified"] = i["atualizado_em"]
            if i["descricao"]:
                dados["description"] = i["description"]

        return dados 
コード例 #16
0
ファイル: app.py プロジェクト: intip/da-apps
    def _setDados(self, id_conteudo):
        """
        
        """
        for conteudo in self.execSql("select_conteudo_dados",
                                     id_conteudo=int(id_conteudo)):
            portal = Portal(id_site=self.id_site,
                            request=self.request)
            tags = ""
            url = portal.getUrlByApp(env_site=self.id_site,
                                     schema=self.schema,
                                     id_conteudo=id_conteudo,
                                     exportar=1,
                                     admin=1,
                                     mkattr=1)

            dados = {"titulo":conteudo["titulo"],
                     "expira_em":conteudo["expira_em"],
                     "publicado_em":conteudo["publicado_em"],
                     "publicado":conteudo["publicado"],
                     "imagem":conteudo["imagem"],
                     "filiado":conteudo["filiado"],
                     "descricao":conteudo["descricao"],
                     "imagem_destaque":conteudo["imagem_destaque"],
                     "titulo_destaque":conteudo["titulo_destaque"],
                     "descricao_destaque":conteudo["descricao_destaque"],
                     "tags":tags}
            return dados
コード例 #17
0
ファイル: public.py プロジェクト: intip/da-apps
    def _maisUltimasApp(self, limit=50, offset=0, exportar=None,
                              dt=1, render=None, samesite=None):
        """
        """
        portal = Portal(id_site=self.id_site,
                        request=self.request)

        exportar = self.request.get("exportar") or exportar
 
        res = {"qtde":0, "res":[]} 
        for i in self.execSql("select_ultimas_app",
                              schema=self.schema,
                              limit=int(limit),
                              offset=int(offset)):

            i["url"] = portal.getUrlByApp(env_site=self.id_site,
                                          schema=self.schema,
                                          id_conteudo=i["id_conteudo"],
                                          exportar=exportar,
                                          admin=render,
                                          samesite=samesite)
            if dt:
                i["datetime"] = lambda t, i=i["publicado_em"]:strftime(t, 
                                               strptime(i, "%Y-%m-%d %H:%M:%S"))
            res["res"].append(i)

        res["qtde"] = self.execSql("select_ultimas_app_qtde",
                                   schema=self.schema).next()["qtde"]

        return res
コード例 #18
0
ファイル: app.py プロジェクト: intip/da-apps
    def _install(self, title, 
                       rss_titulo=None, rss_link=None, rss_descricao=None,
                       rss_idioma=None, rss_categoria=None, rss_copyright=None,
                       rss_imagem_titulo=None, rss_imagem_link=None,
                       rss_imagem=None):
        """
            Método padrão de instalação da aplicação no Publica
        """
        nid = str(time()).replace(".", "")
        if not self.schema:
            self.schema = "%s_%s" % (meta_type, nid)
        self.execSqlu("structure")
        portal = Portal(id_site=self.id_site,
                        request=self.request)
        user_dinamic = portal._getUserDinamic(id_site=self.id_site)
        if user_dinamic:
            self.execSqlu("permissions",
                          user=buffer(user_dinamic))

        if settings.USER_PERMISSION:
            for u in settings.USER_PERMISSION:
                self.execSqlu("permissions_admin",
                              user=buffer(u))

        rss = {"titulo":rss_titulo,
               "link":rss_link,
               "descricao":rss_descricao,
               "idioma":rss_idioma,
               "categoria":rss_categoria,
               "copyright":rss_copyright,
               "imagem_titulo":rss_imagem_titulo,
               "imagem_link":rss_imagem_link,
               "rss_imagem":rss_imagem}

        return {"rss":rss}
コード例 #19
0
ファイル: app.py プロジェクト: intip/da-apps
    def _setDados(self, id_conteudo):
        """
            Método padrão que encapsula os dados de um conteúdo
        """
        portal = Portal(id_site=self.id_site,
                        request=self.request)

        for i in self.execSql("select_dados",
                              id_conteudo=int(id_conteudo)):

            tags = [j["tag"] for j in portal._getTags(id_site=self.id_site,
                                                      id_conteudo=id_conteudo,
                                                      schema=self.schema,
                                                      text=None)]
            dados = {"titulo": i["titulo"],
                     "descricao": i["descricao"],
                     "remuneracao_de": i["remuneracao_de"],
                     "remuneracao_ate": i["remuneracao_ate"],
                     "total_vagas": i["total_vagas"],
                     "descricao_vagas": i["descricao_vagas"],
                     "vagas_especiais": i["vagas_especiais"],
                     "descricao_remuneracao": i["descricao_remuneracao"],
                     "inscricoes": i["inscricoes"],
                     "banca_organizadora": i["banca_organizadora"],
                     "cadastro_reserva": i["cadastro_reserva"],
                     "validade_concurso": i["validade_concurso"],
                     "previsto": i["previsto"],
                     "nivel_escolaridade": i["nivel_escolaridade"],
                     "data_edital": i["data_edital"],
                     "data_inscricao": i["data_inscricao"],
                     "data_fim_inscricao": i["data_fim_inscricao"],
                     "data_prova": i["data_prova"],
                     "data_resultado": i["data_resultado"],
                     "destaque": [],
                     "tags": tags}

            dados["destaque"].append({"titulo": i["titulo_destaque"],
                                      "descricao": i["descricao_destaque"],
                                      "img": i["imagem_destaque"]})

            url = portal.getUrlByApp(env_site=self.id_site,
                                     schema=self.schema,
                                     id_conteudo=id_conteudo,
                                     exportar=1,
                                     admin=1,
                                     mkattr=1)

            return {"titulo": i["titulo"],
                    "meta_type": self.meta_type,
                    "id_conteudo": id_conteudo,
                    "publicado_em": i["publicado_em"],
                    "expira_em": i["expira_em"],
                    "atualizado_em": i["atualizado_em"],
                    "url": url,
                    "creators": [],
                    "dados": dados
                    }

        return {}
コード例 #20
0
ファイル: public.py プロジェクト: intip/da-apps
 def _getAppAuth(self):
     """
         retorna os dados do app
     """
     portal = Portal(id_site=self.id_site,
                    request=self.request)
     return portal._getPlug(env_site=self.id_site,
                           id_plugin=self.auth)['app']
コード例 #21
0
ファイル: public.py プロジェクト: intip/da-apps
 def _getPlugCaptcha(self):
     """
         returns plugin captcha
     """
     portal = Portal(id_site=self.id_site,
                    request=self.request)
     return portal._getPlug(env_site=self.id_site,
                            id_plugin=self.captcha)['app']
コード例 #22
0
ファイル: public.py プロジェクト: intip/da-apps
    def _getAttrNoticia(self, id_noticia):
        """Retorna dados de relação com o portal da noticia
        """
        portal = Portal(id_site=self.id_site,
                        request=self.request)

        return portal._getAttrConteudo(id_site=self.id_site,
                                       schema=self.schema,
                                       id_conteudo=id_noticia)
コード例 #23
0
ファイル: public.py プロジェクト: intip/da-apps
 def _getPlugAuth(self):
     """
         retorna os dados do app
     """
     portal = Portal(id_site=self.id_site,
                     request=self.request)
     dados = self._getDados()
     return portal._getPlug(env_site=self.id_site,
                            id_plugin=dados['auth_id'])['app']
コード例 #24
0
ファイル: app.py プロジェクト: intip/da-apps
    def editApp(self, title, facebook_client_id, facebook_secret,
                facebook_redirect_url, google_client_id, google_secret,
                google_redirect_url, twitter_consumer_key,
                twitter_consumer_secret,
                rss_titulo=None, rss_link=None, rss_descricao=None,
                rss_idioma=None, rss_categoria=None, rss_copyright=None,
                rss_imagem_titulo=None, rss_imagem_link=None,
                rss_imagem=None):
        """
            Método padrão de edição dos dados da aplicação
        """
        rss = {"titulo": rss_titulo,
               "link": rss_link,
               "descricao": rss_descricao,
               "idioma": rss_idioma,
               "categoria": rss_categoria,
               "copyright": rss_copyright,
               "imagem_titulo": rss_imagem_titulo,
               "imagem_link": rss_imagem_link,
               "rss_imagem": rss_imagem}

        dados = {
            "title": title,

            #facebook
            "facebook_client_id": facebook_client_id,
            "facebook_secret": facebook_secret,
            "facebook_redirect_url": facebook_redirect_url,

            #google plus
            "google_client_id": google_client_id,
            "google_secret": google_secret,
            "google_redirect_url": google_redirect_url,

            #twitter
            "twitter_consumer_key": twitter_consumer_key,
            "twitter_consumer_secret": twitter_consumer_secret,

            "rss": rss
        }
        portal = Portal(id_site=self.id_site, request=self.request)
        portal._editApp(env_site=self.id_site,
                        schema=self.schema,
                        titulo=title,
                        dados=dados)
        user_dinamic = portal._getUserDinamic(id_site=self.id_site)

        if user_dinamic:
            self.execSqlu("permissions",
                          user=buffer(user_dinamic))

        if settings.USER_PERMISSION:
            for u in settings.USER_PERMISSION:
                self.execSqlu("permissions_admin",
                              user=buffer(u))

        return "Aplicativo configurado com sucesso"
コード例 #25
0
ファイル: public.py プロジェクト: intip/da-apps
    def getTags(self, limit=10):
        """
        """
        portal = Portal(id_site=self.id_site,
                        request=self.request)
 
        return portal._listarTags(id_site=self.id_site,
                                  schema=self.schema,
                                  limit=int(limit))
コード例 #26
0
ファイル: app.py プロジェクト: intip/da-apps
    def _install(self, title, url, id_usuario, hash, id_pagina=None,
                       fast_path=None, fast_origem=None, fast_portal=None,
                       rss_titulo=None, rss_link=None, rss_descricao=None,
                       rss_idioma=None, rss_categoria=None, rss_copyright=None,
                       rss_imagem_titulo=None, rss_imagem_link=None,
                       rss_imagem=None):
        """Adiciona uma instancia do produto
        """
        portal = Portal(id_site=self.id_site,
                        request=self.request)

        if not portal._getTreeAppByHash(env_site=self.id_site,
                                        hash=hash):
            raise UserError("O hash especificado não foi encontrado.")

        nid = str(time()).replace(".", "")
        if not self.schema:
            self.schema = "%s_%s" % (meta_type, nid)
        self.execSqlu("structure")

        user_dinamic = portal._getUserDinamic(id_site=self.id_site)
        if user_dinamic:
            self.execSqlu("permissions",
                          user=buffer(user_dinamic))

        if settings.USER_PERMISSION:
            for u in settings.USER_PERMISSION:
                self.execSqlu("permissions_admin",
                              user=buffer(u))

        if fast_path:
            if not fast_path.endswith("/"):
                fast_path += "/"

        try:
            id_pagina = int(id_pagina)
        except:
            id_pagina = None

        rss = {"titulo":rss_titulo,
               "link":rss_link,
               "descricao":rss_descricao,
               "idioma":rss_idioma,
               "categoria":rss_categoria,
               "copyright":rss_copyright,
               "imagem_titulo":rss_imagem_titulo,
               "imagem_link":rss_imagem_link,
               "rss_imagem":rss_imagem}

        return {"rss":rss,
                "url":url,
                "id_usuario":id_usuario,
                "hash":hash,
                "id_pagina":id_pagina,
                "fast_path":fast_path,
                "fast_origem":fast_origem,
                "fast_portal":fast_portal}
コード例 #27
0
ファイル: public.py プロジェクト: intip/da-apps
 def _getTags(self, id_conteudo, text=None):
     """
     """
     portal = Portal(id_site=self.id_site,
                     request=self.request)
     for i in portal._getTags(id_site=self.id_site,
                              id_conteudo=int(id_conteudo),
                              schema=self.schema,
                              text=None):
         yield i
コード例 #28
0
ファイル: app.py プロジェクト: intip/da-apps
    def copyFiles2Temp(self, id_pk, id_site=None):
        """
        """
        portal = Portal(id_site=self.id_site,
                        request=self.request)

        for destaque1 in self.execSql("select_destaque1",
                                      id_conteudo=int(id_pk)):
            if destaque1["imagem"]:
                portal._copyFile2Temp(arq=destaque["imagem"],
                                      id_site=id_site)

        for destaque2 in self.execSql("select_destaque2",
                                      id_conteudo=int(id_pk)):
            if destaque1["imagem"]:
                portal._copyFile2Temp(arq=destaque["imagem"],
                                      id_site=id_site)

        for conteudo in self.execSql("select_conteudo_",
                                     id_conteudo=int(id_pk)):
            if conteudo["imagem_destaque"]:
                 portal._copyFile2Temp(arq=conteudo["imagem_destaque"],
                                       id_site=id_site)

            if conteudo["destaque_imagem"]:
                 portal._copyFile2Temp(arq=conteudo["destaque_imagem"],
                                       id_site=id_site)

        return "Arquivos copiados com sucesso!" 
コード例 #29
0
ファイル: public.py プロジェクト: intip/da-apps
 def _getProgramasByData(self, data):
     """ busca todos os programas vinculados a tabela associativa """
     portal = Portal(id_site=self.id_site, request=self.request)
     base = portal._getBases()["base_html"]
     try:
         p = strptime(data, "%d/%m/%Y")
         data = strftime("%Y-%m-%d", p)
     except ValueError, e:
         raise UserError(("Ocorreu um erro: "
                          "Data de publicaçåo "
                          "inválida (%s)") % data)
コード例 #30
0
ファイル: app.py プロジェクト: opovo/OPovo-aplicativos
    def _setDados(self, id_conteudo):
        """
            Método padrão que encapsula os dados de um conteúdo
        """
        portal = Portal(id_site=self.id_site,
                        request=self.request)

        for i in self.execSql("select_dados",
                              id_conteudo=int(id_conteudo)):

            tags = [j["tag"] for j in portal._getTags(
                                   id_site=self.id_site,
                                   id_conteudo=id_conteudo,
                                   schema=self.schema,
                                   text=None)]
            dados = {"titulo":i["titulo"],
                     "editor":i["editor"],
                     "calendario":i["calendario"],
                     "foto_galeria":i["foto_galeria"],
                     "foto_interna":i["foto_interna"],
                     "legenda_foto_interna":i["legenda_foto_interna"],
                     "destaque_capa":i["destaque_capa"],
                     "andamento":i["andamento"],
                     "cadastros":[],
                     "destaque":[],
                     "tags":tags}

            dados["destaque"].append({"titulo":i["titulo_destaque"],
                                      "descricao":i["descricao_destaque"],
                                      "img":i["imagem_destaque"]})
                
            for j in self.execSql("select_conteudo_cadastros",
                                  id_conteudo=int(id_conteudo)):
                dados["cadastros"].append(j)

            url = portal.getUrlByApp(env_site=self.id_site,
                                     schema=self.schema,
                                     id_conteudo=id_conteudo,
                                     exportar=1,
                                     admin=1,
                                     mkattr=1)

            return {"titulo":i["titulo"],
                    "meta_type":self.meta_type,
                    "id_conteudo":id_conteudo,
                    "publicado_em":i["publicado_em"],
                    "expira_em":i["expira_em"],
                    "atualizado_em":i["atualizado_em"],
                    "url":url,
                    "creators":[],
                    "dados":dados
                    }

        return {}