Esempio n. 1
0
def seguir(obraid):

	emailto = ""
	obra = fromcache("obra-" + obraid) or tocache("obra-" + obraid, _get_obras(obraid=obraid)[0])

	if not obra:
		print "Não achou a obra!"
		return abort(404)

	slug = obra['slug']

	if request.form:

		if request.form.has_key('faceid'):
			has = UserFollow.query.filter_by(obra_id=obraid, facebook_id=request.form['faceid'])
			if has.count() <= 0:
				# return dumps({'status':'error','msg':'Você já é seguidor desta obra pelo Facebook'})
				follow = _make_follow(obraid)
				follow.facebook_id = request.form['faceid']
				emailto = "*****@*****.**" % follow.facebook_id

		if request.form.has_key('twitterid'):
			has = UserFollow.query.filter_by(obra_id=obraid, twitter_id=request.form['twitterid'])
			if has.count() <= 0:
				# return dumps({'status':'error','msg':'Você já é seguidor desta obra pelo Twitter'})
				follow = _make_follow(obraid)
				follow.twitter_id = request.form['twitterid']
				msg = u"A partir de agora você segue a obra %s!" % obra['title']
				_send_twitter_dm(follow.twitter_id, msg)

		if request.form.has_key('email'):
			has = UserFollow.query.filter_by(obra_id=obraid, email=request.form['email'])
			if has.count() <= 0:
				# return dumps({'status':'error','msg':'Você já é seguidor desta obra pelo Email'})
				follow = _make_follow(obraid)
				follow.email = request.form['email']
				emailto = follow.email

		dbsession.commit()

		if emailto:
			base_url = current_app.config['BASE_URL']
			base_url = base_url if base_url[-1:] != '/' else base_url[:-1] #corta a barra final
			_dados_email = {
				'titulo': obra['title'],
				'link'  : base_url + url_for('.obra',slug=slug),
				'descricao' : Markup(obra['content']).striptags(),
				'monitore_url': base_url + url_for('.index'),
				'siteurl': base_url,
			}
			sendmail(
			    current_app.config['SEGUIROBRA_SUBJECT'] % _dados_email,
			    emailto,
			    current_app.config['SEGUIROBRA_MSG'] % _dados_email
			)


		return dumps({'status':'ok'})
	else:
		return dumps({'status':'error'})
Esempio n. 2
0
def inscrever():

    resp = {'status': 0, 'msg': 'Obrigado pela sua inscrição'}
    try:

        if not request.form['nome'] or not request.form['email']:
            resp['status'] = 2
            resp['msg'] = 'É necessário preencher o Nome e o Email'
        else:
            insc = InscricaoSeminario()
            insc.nome = request.form['nome']
            insc.email = request.form['email']
            insc.telefone = request.form['telefone']
            insc.twitter = request.form['twitter']
            insc.facebook = request.form['facebook']
            insc.site = request.form['site']
            if 'colaborativa' in request.form:
                insc.colaborativa = True
                modo = []
                if 'foto' in request.form:
                    modo.append("foto")
                if 'video' in request.form:
                    modo.append("video")
                if 'texto' in request.form:
                    modo.append("texto")
                insc.colaborativa_modo = ",".join(modo)

            print "adding..."
            try:
                dbsession.add(insc)
            except Exception as d:
                print d
                pass
            print "commititng..."
            dbsession.commit()

            try:
                sendmail(
                    conf.SEMINARIO_SUBJECT % {'nome': request.form['nome']},
                    request.form['email'], conf.SEMINARIO_MSG)
            except Exception as e:
                print e
                print "Erro ao enviar email para", request.form['email']
                pass

    except IntegrityError as i:
        resp[
            'msg'] = "Este email informado já está cadastrado em nossa base de dados."
        resp['status'] = 1
        dbsession.rollback()
    except Exception as e:
        print e
        resp[
            'msg'] = "Ocorreu algum problema ao efetuar sua insrição. Tente novamente logo mais ou fale com os organizadores."
        resp['status'] = -1
        dbsession.rollback()

    return jsonify(resp)
Esempio n. 3
0
def inscrever():

    resp = {"status": 0, "msg": "Obrigado pela sua inscrição"}
    try:

        if not request.form["nome"] or not request.form["email"]:
            resp["status"] = 2
            resp["msg"] = "É necessário preencher o Nome e o Email"
        else:
            insc = InscricaoSeminario()
            insc.nome = request.form["nome"]
            insc.email = request.form["email"]
            insc.telefone = request.form["telefone"]
            insc.twitter = request.form["twitter"]
            insc.facebook = request.form["facebook"]
            insc.site = request.form["site"]
            if "colaborativa" in request.form:
                insc.colaborativa = True
                modo = []
                if "foto" in request.form:
                    modo.append("foto")
                if "video" in request.form:
                    modo.append("video")
                if "texto" in request.form:
                    modo.append("texto")
                insc.colaborativa_modo = ",".join(modo)

            print "adding..."
            try:
                dbsession.add(insc)
            except Exception as d:
                print d
                pass
            print "commititng..."
            dbsession.commit()

            try:
                sendmail(
                    conf.SEMINARIO_SUBJECT % {"nome": request.form["nome"]}, request.form["email"], conf.SEMINARIO_MSG
                )
            except Exception as e:
                print e
                print "Erro ao enviar email para", request.form["email"]
                pass

    except IntegrityError as i:
        resp["msg"] = "Este email informado já está cadastrado em nossa base de dados."
        resp["status"] = 1
        dbsession.rollback()
    except Exception as e:
        print e
        resp[
            "msg"
        ] = "Ocorreu algum problema ao efetuar sua insrição. Tente novamente logo mais ou fale com os organizadores."
        resp["status"] = -1
        dbsession.rollback()

    return jsonify(resp)
Esempio n. 4
0
def seguir(obraid):

	emailto = ""
	obra = fromcache("obra-" + obraid) or tocache("obra-" + obraid, _get_obras(obraid=obraid)[0])

	if not obra:
		print "Não achou a obra!"
		return abort(404)

	slug = obra['slug']

	if request.form:
		follow = UserFollow()

		if authapi.is_authenticated():
			follow.user = authapi.authenticated_user()
			emailto = follow.user.email

		follow.obra_id = int(obraid)

		if request.form.has_key('faceid'):
			follow.facebook_id = request.form['faceid']

		if request.form.has_key('twitterid'):
			follow.twitter_id = request.form['twitterid']

		if request.form.has_key('email'):
			follow.email = request.form['email']
			emailto = follow.email

		dbsession.commit()

		if emailto:
			base_url = current_app.config['BASE_URL']
			base_url = base_url if base_url[-1:] != '/' else base_url[:-1] #corta a barra final
			_dados_email = {
				'titulo': obra['title'],
				'link'  : base_url + url_for('.obra',slug=slug),
				'descricao' : Markup(obra['content']).striptags(),
				'monitore_url': base_url + url_for('.index'),
				'siteurl': base_url,
			}
			sendmail(
			    current_app.config['SEGUIROBRA_SUBJECT'] % _dados_email,
			    emailto,
			    current_app.config['SEGUIROBRA_MSG'] % _dados_email
			)


		return dumps({'status':'ok'})
	else:
		return dumps({'status':'error'})
Esempio n. 5
0
def seguir(obraid):

    emailto = ""
    obra = fromcache("obra-" + obraid) or tocache("obra-" + obraid,
                                                  _get_obras(obraid=obraid)[0])

    if not obra:
        print "Não achou a obra!"
        return abort(404)

    slug = obra['slug']

    if request.form:
        follow = UserFollow()

        if authapi.is_authenticated():
            follow.user = authapi.authenticated_user()
            emailto = follow.user.email

        follow.obra_id = int(obraid)

        if request.form.has_key('faceid'):
            follow.facebook_id = request.form['faceid']

        if request.form.has_key('twitterid'):
            follow.twitter_id = request.form['twitterid']

        if request.form.has_key('email'):
            follow.email = request.form['email']
            emailto = follow.email

        dbsession.commit()

        if emailto:
            base_url = current_app.config['BASE_URL']
            base_url = base_url if base_url[
                -1:] != '/' else base_url[:-1]  #corta a barra final
            _dados_email = {
                'titulo': obra['title'],
                'link': base_url + url_for('.obra', slug=slug),
                'descricao': Markup(obra['content']).striptags(),
                'monitore_url': base_url + url_for('.index'),
                'siteurl': base_url,
            }
            sendmail(current_app.config['SEGUIROBRA_SUBJECT'] % _dados_email,
                     emailto,
                     current_app.config['SEGUIROBRA_MSG'] % _dados_email)

        return dumps({'status': 'ok'})
    else:
        return dumps({'status': 'error'})
Esempio n. 6
0
def salvar_noticia_comite():
    if request.method == 'POST':
        titulo = request.form['titulo']
        noticia = request.form['noticia']
        cn = ComiteNews()
        cn.title = unicode(titulo)
        cn.content = unicode(noticia)
        cn.user = authenticated_user()
        dbsession.commit()

        #Envia o email avisando que chegou uma nova contribuição
        sendmail(conf.COMITE_SUBJECT, conf.COMITE_TO_EMAIL, conf.COMITE_MSG % {
            'titulo': titulo,
            'noticia': noticia,
        })
        return msg.ok(_(u'Thank you. Your contribution was successfuly sent.'))
    else:
        return msg.error(_(u'Method not allowed'))
Esempio n. 7
0
def salvar_noticia_comite():
    if request.method == 'POST':
        titulo = request.form['titulo']
        noticia = request.form['noticia']
        cn = ComiteNews()
        cn.title = unicode(titulo)
        cn.content = unicode(noticia)
        cn.user = authenticated_user()
        dbsession.commit()

        #Envia o email avisando que chegou uma nova contribuição
        sendmail(
            conf.COMITE_SUBJECT, conf.COMITE_TO_EMAIL,
            conf.COMITE_MSG % {
                'titulo': titulo,
                'noticia': noticia,
            }
        )
        return msg.ok(_(u'Thank you. Your contribution was successfuly sent.'))
    else:
        return msg.error(_(u'Method not allowed'))
Esempio n. 8
0
def sendnews():
	"""Método que faz o envio dos avisos para as pessoas que seguem as obras"""

	if "obra" in request.args:
		obraid = request.args['obra']
		obra = fromcache("obra-" + obraid) or tocache("obra-" + obraid, _get_obras(obraid=obraid)[0])
	elif "slug" in request.args:
		slug = request.args['slug']
		obra = fromcache("obra-" + slug) or tocache("obra-" + slug, _get_obras(slug)[0])
		obraid = obra['id']
	else:
		print "DE-OLHO-NAS-OBRAS::", "Não foi passado o ID nem o SLUG da obra para os avisos!"
		return abort(404)

	base_url = current_app.config['BASE_URL']
	obra_link = base_url + url_for('.obra',slug=obra['slug'])
	obra_titulo = obra['title']

	_dados_obra = {
		'titulo': obra_titulo,
		'link': obra_link
	}

	print "DE-OLHO-NAS-OBRAS::", "buscando usuarios"
	usuarios = UserFollow.query.filter(UserFollow.obra_id==int(obraid))

	ct = usuarios.count()
	if ct <= 0:
		print "DE-OLHO-NAS-OBRAS::", "Não existe nenhum usuario seguindo esta obra."
		return "Não existe nenhum usuário seguindo esta obra"

	print "DE-OLHO-NAS-OBRAS::", "Enviando aviso de atualizacoes para", ct,"usuarios."

	print "DE-OLHO-NAS-OBRAS::", "twitter connect"
	# t = Twython(current_app.config['TWITTER_CONSUMER_KEY'], current_app.config['TWITTER_CONSUMER_SECRET'],
	# 	current_app.config['TWITTER_ACCESS_TOKEN'], current_app.config['TWITTER_ACCESS_TOKEN_SECRET'])

	t = get_twitter_connection()

	msg_titulo = current_app.config['OBRA_ATUALIZACAO_SUBJECT']
	msg = current_app.config['OBRA_ATUALIZACAO_MSG'] % _dados_obra
	msg_twitter = current_app.config['OBRA_ATUALIZACAO_TWITTER']

	for u in usuarios:
		# print "DE-OLHO-NAS-OBRAS::", u.obra_id, u.mode, u.facebook_id, u.twitter_id, u.email
		# print "USER:"******"DE-OLHO-NAS-OBRAS::", "Via facebook..."
			fre = re.compile("(?P<link>(?:http(|s):\/\/)?(?:www.)?(facebook|fb).com\/?)*(?P<nome>[\w\.\-]*)")

			if fre.match(u.facebook_id):
				fid = fre.search(u.facebook_id).group('nome')
			else:
				fid = u.facebook_id

			# print "DE-OLHO-NAS-OBRAS::", fid
			femail = "*****@*****.**" % fid
			sendmail(msg_titulo, femail, msg)

		elif u.twitter_id:
			print "DE-OLHO-NAS-OBRAS::", "Via twitter..."
			tre = re.compile("(?P<link>(?:http(|s):\/\/)?(?:www.)?(facebook|fb).com\/?)*(?P<nome>[\w\.\-]*)")
			if tre.match(u.twitter_id):
				tid = fre.search(u.twitter_id).group('nome')
			else:
				tid = u.twitter_id

			print "DE-OLHO-NAS-OBRAS::", tid
			try:
				#send direct message
				t.create_friendship(screen_name=tid)
				dm = t.send_direct_message(
					user=tid,
					text="Tem atualização na obra %s! Veja: %s" % (obra_titulo, obra_link) )
			except Exception as e:
				print "Ocorreu um erro enviando DM para twitter..."
				print e

		elif u.email:
			#sendmail
			print "DE-OLHO-NAS-OBRAS::", "Por email", u.email
			sendmail(msg_titulo, u.email, msg)

	print "DE-OLHO-NAS-OBRAS::", "Concluido!"
	return "Ok-" + d.datetime.now().strftime("%d%m%Y-%H%M%S") + "\n"
Esempio n. 9
0
def sendnews():
    """Método que faz o envio dos avisos para as pessoas que seguem as obras"""

    if "obra" in request.args:
        obraid = request.args['obra']
        obra = fromcache("obra-" + obraid) or tocache(
            "obra-" + obraid,
            _get_obras(obraid=obraid)[0])
    elif "slug" in request.args:
        slug = request.args['slug']
        obra = fromcache("obra-" + slug) or tocache("obra-" + slug,
                                                    _get_obras(slug)[0])
        obraid = obra['id']
    else:
        print "DE-OLHO-NAS-OBRAS::", "Não foi passado o ID nem o SLUG da obra para os avisos!"
        return abort(404)

    base_url = current_app.config['BASE_URL']
    obra_link = base_url + url_for('.obra', slug=obra['slug'])
    obra_titulo = obra['title']

    _dados_obra = {'titulo': obra_titulo, 'link': obra_link}

    print "DE-OLHO-NAS-OBRAS::", "buscando usuarios"
    usuarios = UserFollow.query.filter(UserFollow.obra_id == int(obraid))

    ct = usuarios.count()
    if ct <= 0:
        print "DE-OLHO-NAS-OBRAS::", "Não existe nenhum usuario seguindo esta obra."
        return "Não existe nenhum usuário seguindo esta obra"

    print "DE-OLHO-NAS-OBRAS::", "Enviando aviso de atualizacoes para", ct, "usuarios."

    print "DE-OLHO-NAS-OBRAS::", "twitter connect"
    # t = Twython(current_app.config['TWITTER_CONSUMER_KEY'], current_app.config['TWITTER_CONSUMER_SECRET'],
    # 	current_app.config['TWITTER_ACCESS_TOKEN'], current_app.config['TWITTER_ACCESS_TOKEN_SECRET'])

    t = get_twitter_connection()

    msg_titulo = current_app.config['OBRA_ATUALIZACAO_SUBJECT']
    msg = current_app.config['OBRA_ATUALIZACAO_MSG'] % _dados_obra
    msg_twitter = current_app.config['OBRA_ATUALIZACAO_TWITTER']

    for u in usuarios:
        # print "DE-OLHO-NAS-OBRAS::", u.obra_id, u.mode, u.facebook_id, u.twitter_id, u.email
        # print "USER:"******"DE-OLHO-NAS-OBRAS::", "Via facebook..."
            fre = re.compile(
                "(?P<link>(?:http(|s):\/\/)?(?:www.)?(facebook|fb).com\/?)*(?P<nome>[\w\.\-]*)"
            )

            if fre.match(u.facebook_id):
                fid = fre.search(u.facebook_id).group('nome')
            else:
                fid = u.facebook_id

            # print "DE-OLHO-NAS-OBRAS::", fid
            femail = "*****@*****.**" % fid
            sendmail(msg_titulo, femail, msg)

        elif u.twitter_id:
            print "DE-OLHO-NAS-OBRAS::", "Via twitter..."
            tre = re.compile(
                "(?P<link>(?:http(|s):\/\/)?(?:www.)?(facebook|fb).com\/?)*(?P<nome>[\w\.\-]*)"
            )
            if tre.match(u.twitter_id):
                tid = fre.search(u.twitter_id).group('nome')
            else:
                tid = u.twitter_id

            print "DE-OLHO-NAS-OBRAS::", tid
            try:
                #send direct message
                t.create_friendship(screen_name=tid)
                dm = t.send_direct_message(
                    user=tid,
                    text="Tem atualização na obra %s! Veja: %s" %
                    (obra_titulo, obra_link))
            except Exception as e:
                print "Ocorreu um erro enviando DM para twitter..."
                print e

        elif u.email:
            #sendmail
            print "DE-OLHO-NAS-OBRAS::", "Por email", u.email
            sendmail(msg_titulo, u.email, msg)

    print "DE-OLHO-NAS-OBRAS::", "Concluido!"
    return "Ok-" + d.datetime.now().strftime("%d%m%Y-%H%M%S") + "\n"