Ejemplo n.º 1
0
Archivo: videos.py Proyecto: clarete/gd
def canal(categoria_id):
    categories = fromcache("all_videos_categories") or tocache(
        "all_videos_categories", wordpress.wpgd.getVideosCategories())

    page = int(request.args.get('page') or 1)
    page -= 1
    # print "Carregando pagina", page

    # print categories
    nome_canal = ""
    for cat in categories:
        if int(cat['term_id']) == categoria_id:
            nome_canal = cat['name']
            break

    videos_json = {}
    allvideos = fromcache("all_videos_root") or tocache(
        "all_videos_root",
        treat_categories(wordpress.wpgd.getVideos(where='status=true'),
                         orderby='title'))
    for v in allvideos:
        videos_json[v['title']] = v['id']

    # print "Buscando", current_app.config['VIDEO_PAGINACAO'], "vídeos por página!"
    cacheid = "videos_canal_%s_page_%s" % (str(categoria_id), page)
    cacheidall = "videos_canal_%s" % str(categoria_id)
    pagging = int(current_app.config['VIDEO_PAGINACAO'])
    offset = page * pagging

    allvideos_cat = fromcache(cacheidall) or tocache(
        cacheidall,
        treat_categories(
            wordpress.wpgd.getVideosByCategory(category=categoria_id)))

    # print "PAGINACAO", len(allvideos_cat), page, pagging, offset
    page_total = int(round(Decimal(len(allvideos_cat)) / pagging))

    videos = fromcache(cacheid) or tocache(
        cacheid,
        paginate(
            treat_categories(wordpress.wpgd.getVideosByCategory(
                category=categoria_id, ),
                             orderby='date'), pagging, offset))

    hvideos = fromcache("h_videos_root") or tocache(
        "h_videos_root", treat_categories(
            wordpress.wpgd.getHighlightedVideos()))

    return render_template(
        'videos.html',
        videos=videos,
        titulos=videos_json,
        categories=categories,
        hvideos=hvideos,
        canal=nome_canal,
        canalclass="fa fa-th-large",
        page=page + 1,
        page_total=page_total,
        sidebar=wordpress.getSidebar,
    )
Ejemplo n.º 2
0
def listing():

    page = int(request.args.get('page') or 1)
    page -= 1

    # page = wordpress.wpgd.getHighlightedVideos()
    hvideos = fromcache("h_videos_root") or tocache("h_videos_root",
        treat_categories(wordpress.wpgd.getHighlightedVideos()) )

    # print "========================================================"
    # print dir(request)
    # print request.url
    # print request.url_rule
    # print "========================================================"

    canalclass=""
    if 'populares' in str(request.url_rule):
        order = "views" #recents
        nome_canal = "Populares"
        canalclass="fa-star"
    else :
        order = "date"
        nome_canal = "Recentes"
        canalclass="fa fa-clock-o"

    order_by = "%s desc" % order

    videos_json = {}
    allvideos = fromcache("all_videos_root_") or \
                tocache("all_videos_root_" ,
                        treat_categories(wordpress.wpgd.getVideos(where='status=true'), orderby="date") )

    categories = fromcache("all_videos_categories") or \
        tocache("all_videos_categories",wordpress.wpgd.getVideosCategories())

    for v in allvideos:
        videos_json[v['title']] = v['id']

    # print "Buscando", current_app.config['VIDEO_PAGINACAO'], "vídeos por página!"
    cacheid = "videos_root_%s_page_%s" % (order,page)
    pagging = int(current_app.config['VIDEO_PAGINACAO'])
    offset = page * pagging
    page_total = int( round( Decimal( len(allvideos) ) / pagging ) )
    # print "PAGINACAO", len(allvideos), page, pagging, offset
    videos = fromcache(cacheid) or tocache(cacheid,
        paginate(treat_categories(wordpress.wpgd.getVideos(where='v.status=true'),orderby=order_by), pagging, offset) )

    try:
        twitter_hash_cabecalho = twitts()
    except KeyError:
        twitter_hash_cabecalho = ""

    menus = fromcache('menuprincipal') or tocache('menuprincipal', wordpress.exapi.getMenuItens(menu_slug='menu-principal') )
    return render_template('videos.html', videos=videos
        ,twitter_hash_cabecalho=twitter_hash_cabecalho
        ,menu=menus, titulos=videos_json, categories=categories, hvideos=hvideos
        ,canal=nome_canal, canalclass=canalclass, page=page+1, page_total=page_total,
        sidebar=wordpress.getSidebar,)
Ejemplo n.º 3
0
def details(vid):
    video = fromcache("video_%s" % str(vid))

    if not video:
        # print "Video do wordpress...", vid
        video = tocache("video_%s" % str(vid), treat_categories(wordpress.wpgd.getVideo(vid))[0] )

    sources = fromcache("video_src_%s" % str(vid)) or tocache("video_src_%s" % str(vid),wordpress.wpgd.getVideoSources(vid))

    base_url = current_app.config['BASE_URL']
    base_url = base_url if base_url[-1:] != '/' else base_url[:-1] #corta a barra final
    video_sources = {}
    for s in sources:
        if(s['format'].find(';') > 0):
            f = s['format'][0:s['format'].find(';')]
        else:
            f = s['format']
        video_sources[f] = s['url']
    try:
        twitter_hash_cabecalho = twitts()
    except KeyError:
        twitter_hash_cabecalho = ""

    menus = fromcache('menuprincipal') or tocache('menuprincipal', wordpress.exapi.getMenuItens(menu_slug='menu-principal') )
    return render_template('video.html', video=video, sources=video_sources
        ,menu=menus
        ,twitter_hash_cabecalho=twitter_hash_cabecalho
        ,base_url=base_url, sidebar=wordpress.getSidebar,)
Ejemplo n.º 4
0
def canal(categoria_id):
    categories = fromcache("all_videos_categories") or tocache("all_videos_categories",wordpress.wpgd.getVideosCategories())

    page = int(request.args.get('page') or 1)
    page -= 1
    # print "Carregando pagina", page

    # print categories
    nome_canal = ""
    for cat in categories:
        if int(cat['term_id']) == categoria_id:
            nome_canal = cat['name']
            break

    videos_json = {}
    allvideos = fromcache("all_videos_root") or tocache("all_videos_root",
        treat_categories(wordpress.wpgd.getVideos(where='status=true'), orderby='title') )
    for v in allvideos:
        videos_json[v['title']] = v['id']


    # print "Buscando", current_app.config['VIDEO_PAGINACAO'], "vídeos por página!"
    cacheid = "videos_canal_%s_page_%s" % (str(categoria_id),page)
    cacheidall = "videos_canal_%s" % str(categoria_id)
    pagging = int(current_app.config['VIDEO_PAGINACAO'])
    offset = page * pagging

    allvideos_cat = fromcache(cacheidall) or tocache(cacheidall,
             treat_categories(wordpress.wpgd.getVideosByCategory(category=categoria_id)) )

    # print "PAGINACAO", len(allvideos_cat), page, pagging, offset
    page_total = int( round( Decimal( len(allvideos_cat) ) / pagging ) )

    videos = fromcache(cacheid) or tocache(cacheid,
             paginate(treat_categories(wordpress.wpgd.getVideosByCategory(category=categoria_id,
                ), orderby='date'), pagging, offset) )

    hvideos = fromcache("h_videos_root") or tocache("h_videos_root",
        treat_categories(wordpress.wpgd.getHighlightedVideos()) )

    return render_template('videos.html', videos=videos, titulos=videos_json,
        categories=categories, hvideos=hvideos, canal=nome_canal, canalclass="fa fa-th-large",
        page=page+1, page_total=page_total,
        sidebar=wordpress.getSidebar,)
Ejemplo n.º 5
0
def embed(vid):
    video = fromcache("video_%s" % str(vid)) or tocache("video_%s" % str(vid), treat_categories(wordpress.wpgd.getVideo(vid))[0])
    sources = fromcache("video_src_%s" % str(vid)) or tocache("video_src_%s" % str(vid),wordpress.wpgd.getVideoSources(vid))
    video_sources = {}
    for s in sources:
        if(s['format'].find(';') > 0):
            f = s['format'][0:s['format'].find(';')]
        else:
            f = s['format']
        video_sources[f] = s['url']
    return render_template('videoembed.html', video=video, sources=video_sources)
Ejemplo n.º 6
0
def adjustCf(obras):
    """#Trata o retorno dos custom_fields para facilitar a utilizacao"""
    r_obras = []
    for obra in obras:
        if obra['custom_fields']:
            custom_fields = {}
            for cf in obra['custom_fields']:
                valor = cf['value']
                #=== tratamento especial para alguns custom fields
                if cf['key'] == 'gdvideo':
                    vid = valor
                    video = fromcache("video_%s" % str(vid)) or tocache(
                        "video_%s" % str(vid),
                        treat_categories(wordpress.wpgd.getVideo(vid))[0])
                    sources = fromcache("video_src_%s" % str(vid)) or tocache(
                        "video_src_%s" % str(vid),
                        wordpress.wpgd.getVideoSources(vid))
                    # print "SOURCES===", sources

                    base_url = current_app.config['BASE_URL']
                    base_url = base_url if base_url[
                        -1:] != '/' else base_url[:-1]  #corta a barra final
                    video_sources = {}
                    for s in sources:
                        if (s['format'].find(';') > 0):
                            f = s['format'][0:s['format'].find(';')]
                        else:
                            f = s['format']
                        video_sources[f] = s['url']
                    video['sources'] = video_sources
                    # print "SOURCES===", video_sources
                    valor = video

                if cf['key'] in ('gdobra_municipio'):
                    #Deixa somente os nomes das empresas contratadas
                    valor = [x[1:-1] for x in re.findall('\".+?\"', valor)]

                if cf['key'] in ('gdobra_empresa_contratada'):
                    #Deixa somente os nomes das empresas contratadas
                    if '{' in valor:
                        valor = [x[1:-1] for x in re.findall('\".+?\"', valor)]
                    else:
                        valor = [valor]

                if cf['key'] == 'gdobra_coordenadas':
                    # print "LLLLLLLL", "[" + valor + "]"
                    valor = re.findall("([\+-].\d+.\d+,[\+-].\d+.\d+)", valor)

                custom_fields[cf['key']] = valor
            del obra['custom_fields']
            obra['custom_fields'] = custom_fields
        r_obras.append(obra)

    return r_obras
Ejemplo n.º 7
0
def adjustCf(obras):
	"""#Trata o retorno dos custom_fields para facilitar a utilizacao"""
	r_obras = []
	for obra in obras:
		if obra['custom_fields']:
			custom_fields = {}
			for cf in obra['custom_fields']:
				valor = cf['value']
				#=== tratamento especial para alguns custom fields
				if cf['key'] == 'gdvideo':
					vid = valor
					video = fromcache("video_%s" % str(vid)) or tocache("video_%s" % str(vid), treat_categories(wordpress.wpgd.getVideo(vid))[0])
					sources = fromcache("video_src_%s" % str(vid)) or tocache("video_src_%s" % str(vid),wordpress.wpgd.getVideoSources(vid))
					# print "SOURCES===", sources

					base_url = current_app.config['BASE_URL']
					base_url = base_url if base_url[-1:] != '/' else base_url[:-1] #corta a barra final
					video_sources = {}
					for s in sources:
					    if(s['format'].find(';') > 0):
					        f = s['format'][0:s['format'].find(';')]
					    else:
					        f = s['format']
					    video_sources[f] = s['url']
					video['sources'] = video_sources
					# print "SOURCES===", video_sources
					valor = video


				if cf['key'] in ( 'gdobra_municipio' ):
					#Deixa somente os nomes das empresas contratadas
					valor = [ x[1:-1] for x in re.findall('\".+?\"',valor) ]

				if cf['key'] in ( 'gdobra_empresa_contratada' ):
					#Deixa somente os nomes das empresas contratadas
					if '{' in valor:
						valor = [ x[1:-1] for x in re.findall('\".+?\"',valor) ]
					else:
						valor = [valor]

				if cf['key'] == 'gdobra_coordenadas' :
					# print "LLLLLLLL", "[" + valor + "]"
					valor = re.findall("([\+-].\d+.\d+,[\+-].\d+.\d+)", valor)

				custom_fields[cf['key']] = valor
			del obra['custom_fields']
			obra['custom_fields'] = custom_fields
		r_obras.append(obra)

	return r_obras
Ejemplo n.º 8
0
def addview(vid):
    video = fromcache("video_%s" % str(vid))
    if not video:
        video = tocache("video_%s" % str(vid), treat_categories(wordpress.wpgd.getVideo(vid))[0])

    if 'views' in video:
        video['views'] = int(video['views']) + 1
    else:
        video['views'] = 1

    removecache("video_%s" % str(vid))
    tocache("video_%s" % str(vid), video)
    wordpress.wpgd.setVideoViews(video['views'], vid);
    return "ok"
Ejemplo n.º 9
0
Archivo: videos.py Proyecto: clarete/gd
def addview(vid):
    video = fromcache("video_%s" % str(vid))
    if not video:
        video = tocache("video_%s" % str(vid),
                        treat_categories(wordpress.wpgd.getVideo(vid))[0])

    if 'views' in video:
        video['views'] = int(video['views']) + 1
    else:
        video['views'] = 1

    removecache("video_%s" % str(vid))
    tocache("video_%s" % str(vid), video)
    wordpress.wpgd.setVideoViews(video['views'], vid)
    return "ok"
Ejemplo n.º 10
0
Archivo: videos.py Proyecto: clarete/gd
def embed(vid):
    video = fromcache("video_%s" % str(vid)) or tocache(
        "video_%s" % str(vid),
        treat_categories(wordpress.wpgd.getVideo(vid))[0])
    sources = fromcache("video_src_%s" % str(vid)) or tocache(
        "video_src_%s" % str(vid), wordpress.wpgd.getVideoSources(vid))
    video_sources = {}
    for s in sources:
        if (s['format'].find(';') > 0):
            f = s['format'][0:s['format'].find(';')]
        else:
            f = s['format']
        video_sources[f] = s['url']
    return render_template('videoembed.html',
                           video=video,
                           sources=video_sources)
Ejemplo n.º 11
0
Archivo: videos.py Proyecto: clarete/gd
def details(vid):
    video = fromcache("video_%s" % str(vid))

    if not video:
        # print "Video do wordpress...", vid
        video = tocache("video_%s" % str(vid),
                        treat_categories(wordpress.wpgd.getVideo(vid))[0])

    sources = fromcache("video_src_%s" % str(vid)) or tocache(
        "video_src_%s" % str(vid), wordpress.wpgd.getVideoSources(vid))

    base_url = current_app.config['BASE_URL']
    base_url = base_url if base_url[
        -1:] != '/' else base_url[:-1]  #corta a barra final
    video_sources = {}
    for s in sources:
        if (s['format'].find(';') > 0):
            f = s['format'][0:s['format'].find(';')]
        else:
            f = s['format']
        video_sources[f] = s['url']
    try:
        twitter_hash_cabecalho = twitts()
    except KeyError:
        twitter_hash_cabecalho = ""

    menus = fromcache('menuprincipal') or tocache(
        'menuprincipal',
        wordpress.exapi.getMenuItens(menu_slug='menu-principal'))
    return render_template(
        'video.html',
        video=video,
        sources=video_sources,
        menu=menus,
        twitter_hash_cabecalho=twitter_hash_cabecalho,
        base_url=base_url,
        sidebar=wordpress.getSidebar,
    )
Ejemplo n.º 12
0
def index():

	obras = fromcache("obras-monitoramento") or tocache("obras-monitoramento", _get_obras())
	# print "OBRAS =========================================================================="
	# print obras
	menus = fromcache('menuprincipal') or tocache('menuprincipal', wordpress.exapi.getMenuItens(menu_slug='menu-principal') )
	slides = wordpress.getPagesByParent('capa-obras',thumbsizes=['slideshow','thumbnail']);

	"""
		Os slides que aparecem da capa do Monitoramento são Páginas filhas de uma página com slug 'capa-obras'.
		Com título e conteúdo de texto.
		- Se tem imagem destacada, mostra-a no thumbnail
		- Se tem custom_field "gdvideo" busca o video no sistema de videos do GD
		- Se tem custom_field "youtube" busca o thumbnail do youtube através do VideoID
		- Se tem custom_field "video" , contendo o endereco de um video qualquer, usa a imagem destacada como thumbnail também.
	"""

	retslides = []
	for slide in slides:
		#Trata o retorno dos custom_fields para facilitar a utilizacao
		if slide['custom_fields']:
			custom_fields = {}
			for cf in slide['custom_fields']:
				custom_fields[cf['key']] = cf['value']
			del slide['custom_fields']
			slide['custom_fields'] = custom_fields

			# print "SLIDE===", slide
			if slide['custom_fields'].has_key('gdvideo'):
				vid = slide['custom_fields']['gdvideo']
				video = fromcache("video_%s" % str(vid)) or tocache("video_%s" % str(vid), treat_categories(wordpress.wpgd.getVideo(vid))[0])
				sources = fromcache("video_src_%s" % str(vid)) or tocache("video_src_%s" % str(vid),wordpress.wpgd.getVideoSources(vid))
				# print "SOURCES===", sources

				base_url = current_app.config['BASE_URL']
				base_url = base_url if base_url[-1:] != '/' else base_url[:-1] #corta a barra final
				video_sources = {}
				for s in sources:
				    if(s['format'].find(';') > 0):
				        f = s['format'][0:s['format'].find(';')]
				    else:
				        f = s['format']
				    video_sources[f] = s['url']
				video['sources'] = video_sources
				# print "SOURCES===", video_sources
				slide['gdvideo'] = video

			if slide['custom_fields'].has_key('youtube'):
				video = slide['custom_fields']['youtube']
				# Espera algo como: https://www.youtube.com/watch?v=IuW_gf7hQTE
				s = re.search(r'(v=)([A-Za-z0-9_]+)', video)
				if s:
					yid =  s.groups()[1]
				else:
					yid = False

				if yid:
					thumb = "http://img.youtube.com/vi/%s/0.jpg" % yid
					video = {'video': video, 'thumb': thumb}
					slide['youtube'] = video

			if slide['custom_fields'].has_key('video'):
				slide['video'] = slide['custom_fields']['video']

		retslides.append(slide)

	# print "OBRAS SLIDES ==========================================================================", len(slides)

	# try:
	# 	twitter_hash_cabecalho = twitts()
	# except KeyError:
	# 	twitter_hash_cabecalho = ""

	try:
		valor_investimentos = conf.VALOR_INVESTIMENTOS
	except KeyError:
		valor_investimentos = ""

	return render_template('monitoramento.html',
		obras=obras,
		slides=retslides,
		stats=_get_stats(),
		milhoes=valor_investimentos,
	)
Ejemplo n.º 13
0
Archivo: videos.py Proyecto: clarete/gd
def listing():

    page = int(request.args.get('page') or 1)
    page -= 1

    # page = wordpress.wpgd.getHighlightedVideos()
    hvideos = fromcache("h_videos_root") or tocache(
        "h_videos_root", treat_categories(
            wordpress.wpgd.getHighlightedVideos()))

    # print "========================================================"
    # print dir(request)
    # print request.url
    # print request.url_rule
    # print "========================================================"

    canalclass = ""
    if 'populares' in str(request.url_rule):
        order = "views"  #recents
        nome_canal = "Populares"
        canalclass = "fa-star"
    else:
        order = "date"
        nome_canal = "Recentes"
        canalclass = "fa fa-clock-o"

    order_by = "%s desc" % order

    videos_json = {}
    allvideos = fromcache("all_videos_root_") or \
                tocache("all_videos_root_" ,
                        treat_categories(wordpress.wpgd.getVideos(where='status=true'), orderby="date") )

    categories = fromcache("all_videos_categories") or \
        tocache("all_videos_categories",wordpress.wpgd.getVideosCategories())

    for v in allvideos:
        videos_json[v['title']] = v['id']

    # print "Buscando", current_app.config['VIDEO_PAGINACAO'], "vídeos por página!"
    cacheid = "videos_root_%s_page_%s" % (order, page)
    pagging = int(current_app.config['VIDEO_PAGINACAO'])
    offset = page * pagging
    page_total = int(round(Decimal(len(allvideos)) / pagging))
    # print "PAGINACAO", len(allvideos), page, pagging, offset
    videos = fromcache(cacheid) or tocache(
        cacheid,
        paginate(
            treat_categories(wordpress.wpgd.getVideos(where='v.status=true'),
                             orderby=order_by), pagging, offset))

    try:
        twitter_hash_cabecalho = twitts()
    except KeyError:
        twitter_hash_cabecalho = ""

    menus = fromcache('menuprincipal') or tocache(
        'menuprincipal',
        wordpress.exapi.getMenuItens(menu_slug='menu-principal'))
    return render_template(
        'videos.html',
        videos=videos,
        twitter_hash_cabecalho=twitter_hash_cabecalho,
        menu=menus,
        titulos=videos_json,
        categories=categories,
        hvideos=hvideos,
        canal=nome_canal,
        canalclass=canalclass,
        page=page + 1,
        page_total=page_total,
        sidebar=wordpress.getSidebar,
    )
Ejemplo n.º 14
0
def index():

    obras = fromcache("obras-monitoramento") or tocache(
        "obras-monitoramento", _get_obras())
    # print "OBRAS =========================================================================="
    # print obras
    menus = fromcache('menuprincipal') or tocache(
        'menuprincipal',
        wordpress.exapi.getMenuItens(menu_slug='menu-principal'))
    slides = wordpress.getPagesByParent('capa-obras',
                                        thumbsizes=['slideshow', 'thumbnail'])
    """
		Os slides que aparecem da capa do Monitoramento são Páginas filhas de uma página com slug 'capa-obras'.
		Com título e conteúdo de texto.
		- Se tem imagem destacada, mostra-a no thumbnail
		- Se tem custom_field "gdvideo" busca o video no sistema de videos do GD
		- Se tem custom_field "youtube" busca o thumbnail do youtube através do VideoID
		- Se tem custom_field "video" , contendo o endereco de um video qualquer, usa a imagem destacada como thumbnail também.
	"""

    retslides = []
    for slide in slides:
        #Trata o retorno dos custom_fields para facilitar a utilizacao
        if slide['custom_fields']:
            custom_fields = {}
            for cf in slide['custom_fields']:
                custom_fields[cf['key']] = cf['value']
            del slide['custom_fields']
            slide['custom_fields'] = custom_fields

            # print "SLIDE===", slide
            if slide['custom_fields'].has_key('gdvideo'):
                vid = slide['custom_fields']['gdvideo']
                video = fromcache("video_%s" % str(vid)) or tocache(
                    "video_%s" % str(vid),
                    treat_categories(wordpress.wpgd.getVideo(vid))[0])
                sources = fromcache("video_src_%s" % str(vid)) or tocache(
                    "video_src_%s" % str(vid),
                    wordpress.wpgd.getVideoSources(vid))
                # print "SOURCES===", sources

                base_url = current_app.config['BASE_URL']
                base_url = base_url if base_url[
                    -1:] != '/' else base_url[:-1]  #corta a barra final
                video_sources = {}
                for s in sources:
                    if (s['format'].find(';') > 0):
                        f = s['format'][0:s['format'].find(';')]
                    else:
                        f = s['format']
                    video_sources[f] = s['url']
                video['sources'] = video_sources
                # print "SOURCES===", video_sources
                slide['gdvideo'] = video

            if slide['custom_fields'].has_key('youtube'):
                video = slide['custom_fields']['youtube']
                # Espera algo como: https://www.youtube.com/watch?v=IuW_gf7hQTE
                s = re.search(r'(v=)([A-Za-z0-9_]+)', video)
                if s:
                    yid = s.groups()[1]
                else:
                    yid = False

                if yid:
                    thumb = "http://img.youtube.com/vi/%s/0.jpg" % yid
                    video = {'video': video, 'thumb': thumb}
                    slide['youtube'] = video

            if slide['custom_fields'].has_key('video'):
                slide['video'] = slide['custom_fields']['video']

        retslides.append(slide)

    # print "OBRAS SLIDES ==========================================================================", len(slides)

    # try:
    # 	twitter_hash_cabecalho = twitts()
    # except KeyError:
    # 	twitter_hash_cabecalho = ""

    try:
        valor_investimentos = conf.VALOR_INVESTIMENTOS
    except KeyError:
        valor_investimentos = ""

    return render_template(
        'monitoramento.html',
        obras=obras,
        slides=retslides,
        stats=_get_stats(),
        milhoes=valor_investimentos,
    )