Sign up to take part
Registered users can ask their own questions, contribute to discussions, and be part of the Community!
Added on November 1, 2024 12:40PM
Likes: 0
Replies: 6
HI,
It is very easy to get a list of the tags for a project but the set_tags
function expects a dictionary. I created a dictionary (mydict) as so:
{'BAC': {'color': '#1ac2ab'}, 'ABC': {'color': '#1ac2ab'}, 'POO': {'color': '#1ac2ab'}}
I then use set_tags(mydict)
which does not work but does not error.
Any ideas?
thx
Operating system used: Windows 10
Please post your Python code in a code block.
import dataiku client = dataiku.api_client()
project = client.get_project('myprojectkey') mytags = ['taga', 'tagb'] tags_dict = {}
for tag in tags:
if tag not in tags_dict:
tags_dict[tag] = {}
tags_dict[tag]['color'] = '#1ac2ab' # Copied this value from existing tags dict project.set_tags(tags_dict)
thx much
You got confused there. The set_tags() method is meant to be used in conjunction with the list_tags() method which is part of DSSProjectGit class and relates to Git tags not Project tags. Use the set_metadata() method to set project tags:
import dataiku client = dataiku.api_client() project = client.get_default_project() project_metadata = project.get_metadata() print(project_metadata['tags']) project_metadata['tags'] = ['Tag1'] project.set_metadata(project_metadata) project_metadata = project.get_metadata() print(project_metadata['tags'])
@Turribeach Thanks for the explanation and the code. I checked the docs you sent and there is no description about the type of tags being referred to, as the set_tags
function refers to the `dataikuapi.dss.project.DSSProject` class. Because that class has Github tags and internal tags, specifying the type in the function description would be good. Would it be reasonable to say an update in the documentation is value-add?
It's pretty clear to me. set_tags clearly says ":param dict tags: must be a modified version of the object returned by list_tags" and if you look at list_tags() it's part of the DSSProjectGit class. Do raise the Product enhancement if you want, but from my experience this sort of documentation clarifications never get implemented.
The functions are not listed next to each other, as you show, and they don't belong to the same Class. list_tags
is the only function that references anything related to Github. Just pointing out that searching for get_tags
would provide no information on the type of tags being discussed (Dataiku or Github). Anyways, thx for the code, it works as expected.