Changeset 12429 for trunk


Ignore:
Timestamp:
01/24/11 17:59:27 (13 years ago)
Author:
ramonb
Message:

ramonb_extras.py:

  • cleanup
  • added custom filters:
  • base_net( a.b.c.d ) returns a.b.c
  • ip_last_digit( a.b.c.d ) returns d
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sara_cmt/sara_cmt/cluster/templatetags/ramonb_extras.py

    r12427 r12429  
    1 import os
    2 import re
     1import os, re, string
    32
    43# Inspired by Django tips on:
     
    5150
    5251
     52@stringfilter
     53def base_net(value):
     54    ip_blocks = value.split('.')
     55
     56    return string.join( ip_blocks[:3], '.' )
     57
     58register.filter( 'base_net', base_net )
     59
     60@stringfilter
     61def ip_last_digit(value):
     62    ip_blocks = value.split('.')
     63
     64    return ip_blocks[3]
     65
     66register.filter( 'ip_last_digit', ip_last_digit )
     67
    5368@register.tag(name='store')
    5469#@stringfilter
     
    5671    """
    5772        Compilation function to use for meta-info.
    58     """
    59     # RB: {% store '/path/to/file' %}
    60     # RB: {% store variable %} # variable = '/path/to/string'
     73
     74        Usage: {% store '/path/to/file' %}
     75               {% store variable %} # variable = '/path/to/file'
     76    """
    6177    try:
    6278        # RB: split_contents respects quoted 'strings containing spaces'
     
    7692            path_str = ''
    7793    else:
     94        # RB: remove the quotes
    7895        path_str = path_str[1:-1]
    7996
     
    8299    parser.delete_first_token()
    83100
    84     return WriteRamonCrap(tag, path, path_str, nodelist)
    85 
    86 class WriteRamonCrap(template.Node):
     101    # RB: Now lets start writing output files
     102    return WriteFiles(tag, path, path_str, nodelist)
     103
     104class WriteFiles(template.Node):
    87105
    88106    def __init__(self, tag, path, path_str, nodelist):
     
    97115                self.path_str = self.path.resolve(context)
    98116            except template.VariableDoesNotExist:
    99                 raise template.TemplateSyntaxError, '%r tag argument 1: cannot resolve variable %r' %( self.tag, self.path_str )
     117                raise template.TemplateSyntaxError, '%r tag argument 1: cannot resolve variable %r' %( self.tag, str( self.path ) )
    100118
    101119        output = self.nodelist.render(context)
     
    106124        my_fp.close()
    107125
     126        context['stored'] = True
     127
    108128        # RB: we wrote output to file so we return nothing
    109129        return ''
    110         # RB: wes done bitches cyyaa
    111130
    112131class ScriptNode(template.Node):
Note: See TracChangeset for help on using the changeset viewer.