my @orclauses=();
my @andclauses=();
use Data::Dumper;
- print "TAGS: ", Dumper \@tags;
- print "VALS: ", Dumper \@tags_vals;
+# print "TAGS: ", Dumper \@tags;
+# print "VALS: ", Dumper \@tags_vals;
push(@andclauses, "( t2.parents_id=" . (defined($parent) ? $parent : "''") . " )");
if(@tags)
$sql .= join("\n\tAND ", @andclauses) . "\n";
}
$sql .= "GROUP BY t2.name;";
-# print "SQL: $sql\n";
+ print "SQL: $sql\n";
my $result=$self->cmd_rows($sql);
my @tagnames=map { $_->[0]; } @$result;
print "SUBNAMES: ", join(', ', @tagnames), "\n";
"INNER JOIN files ON subselect.files_id=files.id\n" .
"INNER JOIN artists ON files.artists_id=artists.id\n" .
"GROUP BY artists.name;");
-# print "SQL: $sql\n";
+ print "SQL: $sql\n";
my $result=$self->cmd_rows($sql);
my @tagnames=map { $_->[0]; } @$result;
print "ARTISTS: ", join(', ', @tagnames), "\n";
"INNER JOIN files ON subselect.files_id=files.id\n" .
"INNER JOIN albums ON files.albums_id=albums.id\n" .
"GROUP BY albums.name;");
+ print "SQL(ALBUMS): \n$sql\n";
my $result=$self->cmd_rows($sql);
my @names=map { $_->[0]; } @$result;
print "ALBUMS: ", join(', ', @names), "\n";
"INNER JOIN artists ON artists.id=files.artists_id\n\t" .
"WHERE artists.id=? and albums.name <> ''\n\t" .
"GROUP BY albums.name\n");
-# print "ARTIST_ALBUMS SQL: $sql\n";
+ print "ARTIST_ALBUMS SQL: $sql\n";
my $result=$self->cmd_rows($sql, $artist_id);
my @albums=map { $_->[0]; } @$result;
print "ALBUMS: ", join(', ', @albums), "\n";
"INNER JOIN albums ON albums.id=files.albums_id\n\t" .
"WHERE artists.id=? AND albums.name=''\n\t" .
"GROUP BY files.name\n");
-# print "ARTIST_TRACKS SQL: $sql\n";
+ print "ARTIST_TRACKS SQL: $sql\n";
my $result=$self->cmd_rows($sql, $artist_id);
my @names=map { $_->[0]; } @$result;
print "ARTISTTRACKS: ", join(', ', @names), "\n";
"INNER JOIN artists ON artists.id=files.artists_id\n\t" .
"WHERE artists.id=? AND albums.id=?\n\t" .
"GROUP BY files.name\n");
-# print "ALBUM_TRACKS SQL($artist_id, $album_id): $sql\n";
+ print "ALBUM_TRACKS SQL($artist_id, $album_id): $sql\n";
my $result=$self->cmd_rows($sql, $artist_id, $album_id);
my @names=map { $_->[0]; } @$result;
print "TRACKS: ", join(', ', @names), "\n";
"\t) AS subselect\n" .
"INNER JOIN files ON files.id=subselect.files_id\n" .
"GROUP BY files.name;");
-# print "SQL: $sql\n";
+ print "SQL: $sql\n";
my $result=$self->cmd_rows($sql);
my @names=map { $_->[0]; } @$result;
print "TRACKS: ", join(', ', @names), "\n";
"INNER JOIN paths ON files.paths_id=paths.id\n" .
"WHERE files.id=?\n" .
"GROUP BY paths.name, files.name");
-# print "FILENAME SQL: $sql\n";
+ print "FILENAME SQL: $sql\n";
my ($path, $name)=$self->cmd_onerow($sql, $id);
my $id3fs_path=join('/', map { $_->{name}; } @constraints);
return($self->relativise($path, $name, $mountpoint, $id3fs_path));
my @tags_vals=();
for my $constraint (@constraints)
{
- print ref($constraint), ": ", $constraint->{name}, "\n";
+# print ref($constraint), ": ", $constraint->{name}, "\n";
if(ref($constraint) eq "ID3FS::PathElement::Tag")
{
if(defined($lasttag))
{
- print "TAGVAL\n";
+# print "TAGVAL\n";
push(@tags_vals, [$lasttag, $constraint->{id}]) if defined($constraint->{id});
$lasttag=undef;
}
elsif($self->tag_has_values($constraint->{id}))
{
- print "HASVALUES\n";
+# print "HASVALUES\n";
$lasttag=$constraint->{id} if defined($constraint->{id});
}
else
{
- print "NOVALUES\n";
+# print "NOVALUES\n";
push(@tags, $constraint->{id}) if(defined($constraint->{id}));
}
}
{
shift(@path);
shift(@rel);
- print "POP ";
+# print "POP ";
}
- print "\n";
+# print "\n";
my $upcount=scalar(@rel);
my $result="../" x $upcount;
$result .= join("/",@path);
my $sql=("SELECT p.name, t.name FROM tags t\n" .
"INNER JOIN tags p ON t.parents_id=p.id\n" .
"GROUP BY p.name, t.name\n");
-# print "SQL: $sql\n";
+ print "SQL: $sql\n";
my $result=$self->cmd_rows($sql);
my $tags={};
for my $pair (@$result)
return unless(@ids);
my $sql=("DELETE FROM files WHERE paths_id IN (\n\t" .
join(', ', map { "\"$_\""; } @ids). "\n\t)");
-# print "SQL: \n", $sql, "\n";
+ print "SQL: \n", $sql, "\n";
$self->cmd($sql);
}
WHERE files_x_tags.files_id IS NULL);
EOT
-# print "SQL: $sql\n";
+ print "SQL: $sql\n";
my @sql=split(/\n\n/, $sql);
$self->cmd($_) for (@sql);
}
@{$self->{elements}}=$self->sort_elements(@{$self->{elements}});
my $thing=$self->elements_to_tree([ @{$self->{elements}} ]);
$self->{tagtree}=$self->elements_to_tree([ @{$self->{elements}} ]);
- print($self->{tagtree}->print(), "\n") if $self->{tagtree};
+# print($self->{tagtree}->print(), "\n") if $self->{tagtree};
}
sub state
my ($self, @input)=@_;
my @opstack=();
my @output=();
- print "\nINPUT: ", join(', ', map { $_->{name}; } @input), "\n";
+# print "INPUT: ", join(', ', map { $_->{name}; } @input), "\n";
while(my $thing = shift @input)
{
if(ref($thing) eq "ID3FS::PathElement::Tag")
# print "OPSTACK: ", join(', ', map { $_->{name}; } @opstack), "\n";
# print "OUTPUT: ", join(', ', map { $_->{name}; } @output), "\n";
}
- else
+ elsif(ref($thing) eq "ID3FS::PathElement::Boolean")
{
# print "BOOL: $thing->{name}\n";
# bool
{
push(@output, pop(@opstack));
}
- print "STACK: ", join(', ', map { $_->{name}; } @output), "\n";
+# print "STACK: ", join(', ', map { $_->{name}; } @output), "\n";
return @output;
}