forked from rc/aircox
		
	on_air
This commit is contained in:
		@ -1,4 +1,5 @@
 | 
			
		||||
from django.template.loader import render_to_string
 | 
			
		||||
from django.http import HttpResponse
 | 
			
		||||
from django.conf.urls import url
 | 
			
		||||
from django.core.urlresolvers import reverse
 | 
			
		||||
from django.utils.text import slugify
 | 
			
		||||
@ -73,7 +74,7 @@ def part(view, name = None, pattern = None):
 | 
			
		||||
    view_.url = url
 | 
			
		||||
    return view_
 | 
			
		||||
 | 
			
		||||
def template(template_name):
 | 
			
		||||
def template(name):
 | 
			
		||||
    """
 | 
			
		||||
    the decorated function returns a context that is used to
 | 
			
		||||
    render a template value.
 | 
			
		||||
@ -84,10 +85,10 @@ def template(template_name):
 | 
			
		||||
    def wrapper(func):
 | 
			
		||||
        def view_(cl, request, *args, **kwargs):
 | 
			
		||||
            context = func(cl, request, *args, **kwargs)
 | 
			
		||||
            if not context and hide_empty:
 | 
			
		||||
            if not context:
 | 
			
		||||
                return ''
 | 
			
		||||
            context['embed'] = True
 | 
			
		||||
            return render_to_string(template_name, context, request=request)
 | 
			
		||||
            return render_to_string(name, context, request=request)
 | 
			
		||||
        view_.__name__ = func.__name__
 | 
			
		||||
        return view_
 | 
			
		||||
    return wrapper
 | 
			
		||||
 | 
			
		||||
@ -24,6 +24,9 @@ Part_.prototype = {
 | 
			
		||||
 | 
			
		||||
  /// parse request result and save in this.stanza
 | 
			
		||||
  __parse_dom: function() {
 | 
			
		||||
    if(self.stanza)
 | 
			
		||||
      return;
 | 
			
		||||
 | 
			
		||||
    var doc = document.implementation.createHTMLDocument('xhr').documentElement;
 | 
			
		||||
    doc.innerHTML = this.xhr.responseText;
 | 
			
		||||
    this.stanza = doc;
 | 
			
		||||
@ -61,9 +64,10 @@ Part_.prototype = {
 | 
			
		||||
    return this;
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  // set selectors. if callback is set, call this callback
 | 
			
		||||
  // once data are retrieved with an object of
 | 
			
		||||
  // `selector_name: select_result`
 | 
			
		||||
  // set selectors.
 | 
			
		||||
  // * callback: if set, call it once data are downloaded with an object
 | 
			
		||||
  //   of elements matched with the given selectors only. The object is
 | 
			
		||||
  //   made of `selector_name: select_result` items.
 | 
			
		||||
  select: function(selectors, callback = undefined) {
 | 
			
		||||
    for(var i in selectors) {
 | 
			
		||||
      selector = selectors[i];
 | 
			
		||||
@ -71,15 +75,19 @@ Part_.prototype = {
 | 
			
		||||
        selector = [selector]
 | 
			
		||||
 | 
			
		||||
      selector = new Part_.Selector(i, selector[0], selector[1], selector[2])
 | 
			
		||||
      selectors[i] = selector;
 | 
			
		||||
      this.selectors.push(selector)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if(callback) {
 | 
			
		||||
      var self = this;
 | 
			
		||||
      this.actions.push(function() {
 | 
			
		||||
        self.__parse_dom();
 | 
			
		||||
 | 
			
		||||
        var r = {}
 | 
			
		||||
        for(var i in self.selectors)
 | 
			
		||||
          r[i] = self.selectors[i].select(self.stanza);
 | 
			
		||||
        for(var i in selectors) {
 | 
			
		||||
          r[i] = selectors[i].select(self.stanza);
 | 
			
		||||
        }
 | 
			
		||||
        callback(r);
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
@ -90,8 +98,7 @@ Part_.prototype = {
 | 
			
		||||
  map: function(dest) {
 | 
			
		||||
    var self = this;
 | 
			
		||||
    this.actions.push(function() {
 | 
			
		||||
      if(!self.stanza)
 | 
			
		||||
        self.__parse_dom();
 | 
			
		||||
      self.__parse_dom();
 | 
			
		||||
 | 
			
		||||
      for(var i = 0; i < self.selectors.length; i++) {
 | 
			
		||||
        selector = self.selectors[i]
 | 
			
		||||
@ -119,9 +126,7 @@ Part_.Selector = function(name, selector, attribute = null, all = false) {
 | 
			
		||||
Part_.Selector.prototype = {
 | 
			
		||||
  select: function(obj, use_attr = true) {
 | 
			
		||||
    if(!this.all) {
 | 
			
		||||
      obj = obj.querySelectorAll(this.selector)
 | 
			
		||||
      if(obj)
 | 
			
		||||
        obj = obj[0];
 | 
			
		||||
      obj = obj.querySelector(this.selector)
 | 
			
		||||
      return (this.attribute && use_attr && obj) ? obj[this.attribute] : obj;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user