def share_list(request: HttpRequest, list_id: str):
    shared_with_email = request.POST.get('shared_with', '')

    list_ = List.try_get_object_pk(pk=list_id)
    if list_ is None:
        return redirect('/')

    list_.share_with(shared_with_email)
    return redirect(list_.get_absolute_url())
 def test_try_get_object_pk_invalid_pk_returns_none(self):
     ls = List.create_new(first_item_text='whatup')
     ls.save()
     self.assertIsNone(List.try_get_object_pk(pk='4131'))
 def test_try_get_object_pk_returns_list(self):
     ls = List.create_new(first_item_text='whatup')
     ls.save()
     self.assertEqual(ls, List.try_get_object_pk(pk=str(ls.id)))