# -*- coding: utf-8 -*-

from django import template
register = template.Library()

class SetVariable(template.Node):
	def __init__(self,varname,value):
		self.varname = varname
		self.value = value
    
	def render(self,context):
		var = template.resolve_variable(self.value,context)
		if var:
			context[self.varname] = var
		else:
			context[self.varname] = context[self.value]
		return ''


@register.tag(name='set')
def set_var(parser,token):
	"""
	Example:
		{% set category_list category.categories.all %}
		{% set dir_url "../" %}
		{% set type_list "table" %}
		{% include "category_list.html" %}
	"""
	from re import split
	bits = split(r'\s+', token.contents, 2)
	return SetVariable(bits[1],bits[2])