summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Migrate/Flyspray.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Bugzilla/Migrate/Flyspray.pm')
-rw-r--r--Bugzilla/Migrate/Flyspray.pm31
1 files changed, 24 insertions, 7 deletions
diff --git a/Bugzilla/Migrate/Flyspray.pm b/Bugzilla/Migrate/Flyspray.pm
index 9f4c05000..579e7704d 100644
--- a/Bugzilla/Migrate/Flyspray.pm
+++ b/Bugzilla/Migrate/Flyspray.pm
@@ -417,7 +417,7 @@ sub _read_bugs {
"DUPLICATE")
{
if ($closure_comment =~ m/FS#(\d+)/) {
- $bug->{dup_id} = int($1);
+ $self->{dupes}->{$row->{task_id}} = int($1);
}
}
}
@@ -453,20 +453,28 @@ sub _read_bugs {
while (my $attachment = $attachments_sth->fetchrow_hashref()) {
my $path = $attpath . '/' . $attachment->{file_name};
next unless -f $path;
- push @{$bug->{attachments}},
- {
+ next unless -s $path;
+ my $attachment_item = {
submitter => $self->_get_username($attachment->{added_by}),
creation_ts => $attachment->{date_added},
description => $attachment->{file_desc} || $attachment->{orig_name},
filename => $attachment->{orig_name},
- mimetype => $attachment->{file_type} || mimetype($path),
- ispatch => $attachment->{file_type} =~ m/^text\/x-diff/ ? 1 : 0,
- data_path => $path,
- };
+
+ #mimetype => $attachment->{file_type},
+ ispatch => $attachment->{file_type} =~ m/^text\/x-diff/ ? 1 : 0,
+ data_path => $path,
+ };
+
+#$attachment_item->{mimetype} = mimetype($path) if $attachment_item->{mimetype} eq "" or $attachment_item->{mimetype} !~ m/.+\/.+/;
+ $attachment_item->{mimetype} = mimetype($path);
# TODO: set extra_data and type of comment when attachment is part of a comment.
# problem: how to get attachment id? not yet in db
# change _insert_attachments/_insert_comments?
+ push @{$bug->{attachments}}, $attachment_item;
+
+ #$self->debug($bug);
+ #die if $attachment->{date_added} == 1110715864;
}
push @result, $bug;
@@ -527,6 +535,15 @@ sub translate_bug {
return wantarray ? ($bug, $other_fields) : $bug;
}
+sub after_insert {
+ my ($self) = @_;
+
+ for my $dupe (keys %{$self->{dupes}}) {
+ $self->{dbh}->do("INSERT INTO duplicates (dupe_of, dupe) VALUES (?, ?)",
+ undef, $self->{dupes}->{$dupe}, $$dupe);
+ }
+}
+
# Timestamps from flyspray are unix timestamps which Date::Parse
# can't parse so the original parse_date() sub will just die