my $v1genre=$file->v1genre();
my $year=$file->year();
my $audiotype=$file->audiotype();
- my $tags=$file->tags();
+ my @tags=$file->tags();
my $haspic=$file->haspic();
$artist=undef unless($self->ok($artist));
{ "artists_id" => $artist_id,
"albums_id" => $albums_id,
"paths_id" => $path_id });
- for my $tag (keys %$tags)
+ for my $tag (@tags)
{
- $self->add_tag($file_id, $tag, $tags->{$tag});
+ $self->add_tag($file_id, @$tag);
}
if($self->ok($year))
sub add_tag
{
- my($self, $file_id, $tag, $val)=@_;
- my $tag_id=$self->add_to_table("tags", $tag);
- $self->add_relation("files_x_tags",
- { "files_id" => $file_id,
- "tags_id" => $tag_id });
- if(defined($val))
+ my($self, $file_id, @tags)=@_;
+ my $parent_id=undef;
+ for my $tag (@tags)
{
- my $val_id=$self->add_to_table("tagvals", $val);
- $self->add_relation("tags_x_tagvals",
- { "tags_id" => $tag_id,
- "tagvals_id" => $val_id });
+ my $tag_id=$self->add_to_table("tags", $tag,
+ { "parents_id" => $parent_id });
+ $self->add_relation("files_x_tags",
+ { "files_id" => $file_id,
+ "tags_id" => $tag_id });
+ $parent_id=$tag_id;
}
}
CREATE TABLE tags (
id INTEGER PRIMARY KEY,
+ parents_id INTEGER,
name text
);