get_object_cdn_url() & get_container_cdn_url() implementation for StorageDrivers

Aberta
#1,696 2 comentários 1 reação 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
25/100
Tipo de issue
Funcionalidade
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
python
Domínio
cloud

Direção de pesquisa

Comece em libcloud/storage/base.py, em get_container_cdn_url() e get_object_cdn_url(), e então siga GoogleStorageDriver por sua herança de S3. Determine quais drivers podem fornecer URLs de CDN e qual comportamento do provedor é necessário; o trabalho estará concluído quando as implementações compatíveis não atingirem mais o NotImplementedError da classe base e houver cobertura para os drivers afetados.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Feature Request

Hi all! After beginning to integrate the libcloud library into an application I am writing and attempting to use both the get_object_cdn_url() and get_container_cdn_url(), I have realized that these methods appear to not be implemented back at the base level (libcloud/storage/base.py) in the StorageDriver class, and never implements in any inherited classes. I am attempting to use the Google driver, which inherits from the S3 driver, which inherits from the base.py StorageDriver, and looking at these methods in there, it appears they are hardcoded to raise the NotImplementedError: "get_container_cdn_url not implemented for this driver". You can see that here on lines 399 and 430.

I just wanted to confirm that I am indeed right about this, and see if there is already a roadmap that includes this feature. If not, I may be willing to take it on depending on the implications to the rest of the codebase. Apologies if I am not understanding the codebase correctly, I don't have any experience at all with libcloud besides this quick integration.

Does anyone have anything thoughts, reservations, ideas, on this?

Here is a chunk of code using a Google Cloud Storage instance to replicate this not implemented error:

> import libcloud
> driver = libcloud.storage.drivers.google_storage.GoogleStorageDriver(key='foo', secret='bar')
> driver.get_container_cdn_url('container name')

Linguagem predominante
Python
Estrelas
2.1k
Forks
935
Merge médio
5d 3h
PRs com merge (30d)
15

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de apache/libcloud

Todas as issues de apache/libcloud

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.