コード例 #1
0
ファイル: signals.py プロジェクト: pombredanne/django-zotero
def check_save(sender, **kwargs):
    """
    Checks item type uniqueness, field applicability and multiplicity.
    """
    tag = kwargs['instance']
    obj = Tag.get_object(tag)
    previous_tags = Tag.get_tags(obj)
    
    err_uniq = check_item_type_uniqueness(tag, previous_tags)
    err_appl = check_field_applicability(tag)
    err_mult = check_field_multiplicity(tag, previous_tags)
    err_msg = generate_error_message(tag, err_uniq, err_appl, err_mult)
    if err_uniq or err_appl or err_mult:
        raise TypeError(err_msg)
コード例 #2
0
ファイル: signals.py プロジェクト: pombredanne/django-zotero
def delete_tags(sender, **kwargs):
    """
    Delete the tags pointing to an object.
    """
    try:
        obj = kwargs.get('instance')
        tags = Tag.get_tags(obj)
        tags.delete()
    except AttributeError:
        pass
コード例 #3
0
def render_meta(obj, vocabulary):
    result = u'<link rel="schema.dc" href="http://purl.org/dc/elements/1.1/">'
    
    tags = Tag.get_tags(obj)
    if tags:
        value = tags[0].item_type.type_name
        meta_tag = u'<meta property="DC.type" content="%s"/>' % value
        result = u'%s\n%s' % (result, meta_tag)
        for tag in tags:
            field = tag.field
            name = field.namespaces.get(vocabulary, field.field_name)
            value = tag.value
            meta_tag = u'<meta property="DC.%s" content="%s"/>' % (name, value)
            result = u'%s\n%s' % (result, meta_tag)
    return result