Пример #1
0
    def test_short_name_several_same_long_name(self):
        long_title = u'I think this is a very very very very very very very long title'

        short_name = SlugifyUniquely(long_title, Scraper, 'short_name')
        self.assertEqual(u'i_think_this_is_a_very_very_very_very_very_very_ve',
                         short_name)

        scraper1 = Scraper()
        scraper1.title = long_title
        scraper1.save()

        self.assertEqual(short_name, scraper1.short_name)

        short_name = SlugifyUniquely(long_title, Scraper, 'short_name')
        self.assertEqual(u'i_think_this_is_a_very_very_very_very_very_very_1',
                         short_name)

        scraper2 = Scraper()
        scraper2.title = long_title
        scraper2.save()

        self.assertEqual(short_name, scraper2.short_name)

        short_name = SlugifyUniquely(long_title, Scraper, 'short_name')
        self.assertEqual(u'i_think_this_is_a_very_very_very_very_very_very_2',
                         short_name)
Пример #2
0
def add_to_vault(request, wiki_type, language, id):
    """
    Create a new scraper with the specific type and language, put it in the vault (if
    the current user is allowed and then we're done)
    """
    from codewiki.models import Vault, Scraper, View, UserCodeRole
    
    name = request.GET.get('name', None)
    
    if not name:
        return HttpResponseForbidden("A name is required")        
    
    vault = get_object_or_404(Vault, pk=id)
    if not request.user in vault.members.all():
        return HttpResponseForbidden("You cannot access this vault")             

    if wiki_type == 'scraper':
        scraper = Scraper()
    else:
        scraper = View()
    scraper.title = name
    scraper.language = language
    scraper.privacy_status = 'private'
    scraper.vault = vault
    scraper.generate_apikey()
    scraper.save()
    
    # Make sure we update the access rights
    vault.update_access_rights()
    scraper.commit_code(blankstartupcode[wiki_type][language], "Created", request.user)
    
    response_url = reverse('editor_edit', kwargs={'wiki_type': wiki_type, 'short_name' : scraper.short_name})
    return HttpResponseRedirect(response_url)
Пример #3
0
def my_vault_contains_a_scraper_called_x(step, title):
    from codewiki.models import Vault, Scraper, UserCodeRole
    user = User.objects.get(username='******')
    vault = [v for v in user.vaults.all()][0]
    scraper = Scraper()
    scraper.title = title
    scraper.language = u'python'
    scraper.privacy_status = u'private'
    scraper.vault = vault
    scraper.generate_apikey()
    scraper.save()
    vault.update_access_rights()
    scraper.commit_code(u"import scraperwiki\n\n# Blank Python\n\n",
                        u"Created", user)
Пример #4
0
def my_vault_contains_x_scrapers(step, num):
    from codewiki.models import Vault, Scraper, UserCodeRole
    user = User.objects.get(username='******')
    vault = [v for v in user.vaults.all()][0]
    num = 1 if num == 'a' else int(num)
    for i in range(num):
        scraper = Scraper()
        scraper.title = u'Private Scraper #%s' % (i + 1)
        scraper.language = u'python'
        scraper.privacy_status = u'private'
        scraper.vault = vault
        scraper.generate_apikey()
        scraper.save()
        vault.update_access_rights()
        scraper.commit_code(u"import scraperwiki\n\n# Blank Python\n\n",
                            u"Created", user)
Пример #5
0
def add_to_vault(request, wiki_type, language, id):
    """
    Create a new scraper with the specific type and language, put it in the vault (if
    the current user is allowed and then we're done)
    """
    from codewiki.models import Vault, Scraper, View, UserCodeRole

    name = request.GET.get('name', None)

    if not name:
        return HttpResponseForbidden("A name is required")

    vault = get_object_or_404(Vault, pk=id)
    if not request.user in vault.members.all():
        return HttpResponseForbidden("You cannot access this vault")

    if wiki_type == 'scraper':
        scraper = Scraper()
    else:
        scraper = View()
    scraper.title = name
    scraper.language = language
    scraper.privacy_status = 'private'
    scraper.vault = vault
    scraper.generate_apikey()
    scraper.save()

    # Make sure we update the access rights
    vault.update_access_rights()
    scraper.commit_code(blankstartupcode[wiki_type][language], "Created",
                        request.user)

    response_url = reverse('editor_edit',
                           kwargs={
                               'wiki_type': wiki_type,
                               'short_name': scraper.short_name
                           })
    return HttpResponseRedirect(response_url)