Ejemplo n.º 1
0
    def __init__(self, request, user):
        newRequest = request.copy()

        default_cost = 0

        newRequest.setdefault('user', user.id)
        newRequest.setdefault('cost', default_cost)

        title = newRequest.get('title', None)

        # Fetch the URL page by making Http requests
        # using BeautifulSoup, and find meta tags in the DOM.
        try:
            from BeautifulSoup import BeautifulSoup
            from urllib import urlopen
            # Open the resource and build its DOM into a BeautifulSoup
            #     object.
            source = urlopen(newRequest.get('url'))
            soup = BeautifulSoup(source)

            # Extract the page title, and the description from its meta
            #     tags in <head>
            if not title:
                title = soup.find('title').text

            description = soup.findAll(
                'meta', attrs={'name': "description"}
            )[0]

            # If a description was found, set it on the resource.
            if description.hasattr('title'):
                newRequest.setdefault('description', description['content'])
            else:
                newRequest.setdefault('description', '')
        except:
            if not title:
                title = 'Untitled website'

        newRequest.__setitem__('title', title)

        from django.template.defaultfilters import slugify
        newRequest.setdefault('slug', slugify(newRequest.get('title')))

        # Create and save new Link.
        new_video_link = Link(url=sanitize_url(newRequest.get('url', None)))
        new_video_link.save()

        new_resource_revision = ResourceRevision()
        new_resource_revision.content = new_video_link
        new_resource_revision.user = user
        new_resource_revision.save()

        newRequest.setdefault('revision', new_resource_revision.id);

        from meta.models import TagCategory
        tag_category = TagCategory.objects.get(title='URL')
        newRequest.setlist('tags', FormUtilities.get_taglist(
            newRequest.getlist('tags'), tag_category))

        super(NewURLForm, self).__init__(newRequest)
Ejemplo n.º 2
0
    def __init__(self, request, user):
        newRequest = request.copy()

        default_cost = 0

        if not newRequest.get('title'):
            newRequest.__setitem__('title', 'Untitled Video')

        newRequest.setdefault('user', user.id)
        newRequest.setdefault('cost', default_cost)

        from django.template.defaultfilters import slugify
        newRequest.setdefault('slug', slugify(newRequest.get('title')))

        # Create and save new Link.
        new_video_link = Link(url=sanitize_url(newRequest.get('url', None)))
        new_video_link.save()

        new_resource_revision = ResourceRevision()
        new_resource_revision.content = new_video_link
        new_resource_revision.user = user
        new_resource_revision.save()

        newRequest.setdefault('revision', new_resource_revision.id);

        from meta.models import TagCategory
        tag_category = TagCategory.objects.get(title='Resources')
        newRequest.setlist('tags', FormUtilities.get_taglist(
            newRequest.getlist('tags'), tag_category))

        super(NewVideoForm, self).__init__(newRequest)
Ejemplo n.º 3
0
    def __init__(self, request, user, instance):
        newRequest = request.copy()

        # For now, default to the previous values of user, slug & cost
        newRequest.setdefault('user', instance.user.id)
        newRequest.setdefault('cost', instance.cost)
        newRequest.setdefault('slug', instance.slug)

        # Create and save new Document.
        new_document = Document()
        new_document.save()

        new_resource_revision = ResourceRevision()
        new_resource_revision.content = new_document
        new_resource_revision.resource = instance
        new_resource_revision.user = user
        new_resource_revision.save()

        newRequest.setdefault('revision', new_resource_revision.id);

        from meta.models import TagCategory
        tag_category = TagCategory.objects.get(title='Document')
        newRequest.setlist('tags', FormUtilities.get_taglist(
            newRequest.getlist('tags'), tag_category))

        super(DocumentEditForm, self).__init__(newRequest, instance=instance)
Ejemplo n.º 4
0
    def __init__(self, request, user, instance):
        newRequest = request.copy()

        # For now, default to the previous values of user, slug & cost
        newRequest.setdefault('user', instance.user.id)
        newRequest.setdefault('cost', instance.cost)        
        newRequest.setdefault('slug', instance.slug)

        # Create and save new Link, if the link URL changed.
        url_submitted = sanitize_url(newRequest.get('url', None))
        if instance.revision.content.url == url_submitted:
            new_video_link = Link(url=url_submitted)
            new_video_link.save()
            content = new_video_link
        else:
            content = instance.revision.content

        new_resource_revision = ResourceRevision()
        new_resource_revision.content = content
        new_resource_revision.resource = instance
        new_resource_revision.user = user        
        new_resource_revision.save()

        newRequest.setdefault('revision', new_resource_revision.id);

        from meta.models import TagCategory
        tag_category = TagCategory.objects.get(title='Resources')
        newRequest.setlist('tags', FormUtilities.get_taglist(
            newRequest.getlist('tags'), tag_category))

        super(VideoEditForm, self).__init__(newRequest, instance=instance)
Ejemplo n.º 5
0
    def __init__(self, request, instance):
        newRequest = request.copy()

        newRequest.__setitem__('log', instance.log)
        newRequest.__setitem__('user', instance.user.id)
        newRequest.__setitem__('article', instance.article.id)
        newRequest.__setitem__('flag', instance.flag)

        from meta.models import TagCategory
        tag_category = TagCategory.objects.get(title='Article')
        newRequest.setlist('tags', FormUtilities.get_taglist(
            newRequest.getlist('tags'), tag_category))

        super(EditArticleRevisionForm, self).__init__(newRequest, instance=instance)
Ejemplo n.º 6
0
    def __init__(self, request, user, instance):
        newRequest = request.copy()

        # For now, default to the previous values of user, slug & cost
        newRequest.setdefault('user', instance.user.id)
        newRequest.setdefault('cost', instance.cost)
        newRequest.setdefault('slug', instance.slug)

        # Maintain the original attachment, as a revision.
        newRequest.setdefault('revision', instance.revision.id);

        from meta.models import TagCategory
        tag_category = TagCategory.objects.get(title='Resources')
        newRequest.setlist('tags', FormUtilities.get_taglist(
            newRequest.getlist('tags'), tag_category))

        super(AttachmentEditForm, self).__init__(newRequest, instance=instance)
Ejemplo n.º 7
0
    def __init__(self, request, user, article, flag):
        newRequest = request.copy()

        if flag == "fork":
            # This line is more or less unnecessary as logs have been marked optional
            newRequest.__setitem__('log', '')

        if user.id:
            newRequest.__setitem__('user', user.id)
        else:
            newRequest.__setitem__('user', None)
        newRequest.__setitem__('article', article.id)
        newRequest.__setitem__('flag', flag)

        from meta.models import TagCategory
        tag_category = TagCategory.objects.get(title='Article')
        newRequest.setlist('tags', FormUtilities.get_taglist(
            newRequest.getlist('tags'), tag_category))

        super(NewArticleRevision, self).__init__(newRequest)
Ejemplo n.º 8
0
    def __init__(self, request, user, resource_revision_id):
        newRequest = request.copy()

        default_cost = 0

        if not newRequest.get('title'):
            newRequest.__setitem__('title', 'Untitled Document')

        newRequest.setdefault('user', user.id)
        newRequest.setdefault('cost', default_cost)

        from django.template.defaultfilters import slugify
        newRequest.setdefault('slug', slugify(newRequest.get('title')))

        newRequest.setdefault('revision', resource_revision_id);

        from meta.models import TagCategory
        tag_category = TagCategory.objects.get(title='Document')
        newRequest.setlist('tags', FormUtilities.get_taglist(
            newRequest.getlist('tags'), tag_category))

        super(NewDocumentForm, self).__init__(newRequest)
    from django.template.defaultfilters import slugify
    resource = Resource(
        revision=revision,
        title=value['title'],
        license=license,
        user=user,
        created=value['published'],
        description="",
        visibility='public',
        cost=0.0,
        source="IllustrativeMathematics.org" + value['url'],
        slug=slugify(value['title'])
    )
    resource.save()

    tags=FormUtilities.get_taglist(
                value['standards'], tag_category)
    for tag in tags:
        resource.tags.add(tag)

    revision.resource = resource
    revision.save()

    # Add the resource to a collection.
    user.get_profile().collection.resources.add(resource)

    print resource.id

    # Generate thumbnail image if not generated by default.