transparencia-mg / dpckan

MIT License
5 stars 4 forks source link

Explorar método to_ckan do frictionless.py #10

Open fjuniorr opened 3 years ago

fjuniorr commented 3 years ago

Na documentação do frictionless.py tem um snippet de código que parece útil para a publicação inicial de um data package

from frictionless import Package

package = Package('path/to/datapackage.json')
package.to_ckan('<base_url>', dataset_id='<dataset_id>', api_key='<api_key>')

No entanto, ao tentar executar para um caso concreto

import os
from frictionless import Package

dp = Package('https://raw.githubusercontent.com/dados-mg/letters-datapackage/reprex7/datapackage.json')
dp.to_ckan(target = 'https://homologa.cge.mg.gov.br/', 
           dataset_id='d28be1fb-81b3-43ca-a48c-699599829d39', 
           api_key = os.getenv('DADOSMG_DEV'))

recebi o erro

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: to_ckan() got an unexpected keyword argument 'dataset_id'
fjuniorr commented 3 years ago

Consegui criar com o snippet abaixo depois de usar a dica da seção configuring data

import os
from frictionless import Package, validate

from frictionless.plugins.ckan import CkanDialect

dp = Package('https://raw.githubusercontent.com/dados-mg/letters-datapackage/reprex7/datapackage.json')
dialect = CkanDialect(dataset = 'd28be1fb-81b3-43ca-a48c-699599829d39', apikey = os.getenv('DADOSMG_DEV'))
dp.to_ckan(target = 'https://homologa.cge.mg.gov.br/', dialect = dialect)

Mas o conjunto (frictionlesspy), que já estava criado para que fosse possível passar o dataset id, não foi atualizado com os metadados em nenhum dos níveis, somente com os dados dos recursos.

gabrielbdornas commented 2 years ago

@fjuniorr, acredito que podemos fechar esse issue. O que acha?

fjuniorr commented 2 years ago

Se a gente tem a intenção de fazer uma contribuição upstream, a gente precisa de entender de forma mais profunda o comportamento desse plugin.