Skip to content

Commit 4d75ac0

Browse files
committed
Cleanup Screenshot URL Handling
1 parent 68ce9c6 commit 4d75ac0

File tree

3 files changed

+17
-31
lines changed

3 files changed

+17
-31
lines changed

Web/lib/BlogDB/Web/Controller/Blog.pm

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,6 @@ sub get_new_blogs ($c) {
6363
}
6464

6565
sub post_new_blog ($c) {
66-
67-
6866
$c->set_template( 'index' );
6967

7068
my $blog_url = $c->stash->{form_url} = $c->param('url');
@@ -91,10 +89,10 @@ sub post_new_blog ($c) {
9189
),
9290
});
9391

94-
$c->minion->enqueue( download_screenshot => [ $blog->url, $blog->id ] );
92+
$c->minion->enqueue( populate_blog_entires => [ $blog->id, 'pending' ]);
93+
$c->minion->enqueue( populate_blog_screenshot => [ $blog->id, 'pending' ]);
9594

96-
97-
#$c->redirect_to( $c->url_for( 'do_blog_edit', id => $blog->id, title => 'new' ) );
95+
$c->redirect_to( $c->url_for( 'edit_new_blog', id => $blog->id ) );
9896
}
9997

10098
sub get_edit_new_blog ($c) {
@@ -108,7 +106,6 @@ sub get_edit_new_blog ($c) {
108106

109107
$c->stash->{form_title} = $blog->title;
110108
$c->stash->{form_url} = $blog->url;
111-
$c->stash->{form_img_url} = $blog->img_url;
112109
$c->stash->{form_rss_url} = $blog->rss_url;
113110
$c->stash->{form_tagline} = $blog->tagline;
114111
$c->stash->{form_about} = $blog->about;
@@ -136,15 +133,13 @@ sub post_edit_new_blog ($c) {
136133
# such permissions as allows editing it.
137134
$c->stash->{form_title} = $c->param("title");
138135
$c->stash->{form_url} = $c->param("url");
139-
$c->stash->{form_img_url} = $c->param("img_url");
140136
$c->stash->{form_rss_url} = $c->param("rss_url");
141137
$c->stash->{form_tagline} = $c->param("tagline");
142138
$c->stash->{form_about} = $c->param("about");
143139
$c->stash->{form_adult} = $c->param("is_adult") ? 1 : 0;
144140

145141
$blog->title ( $c->stash->{form_title} );
146142
$blog->url ( $c->stash->{form_url} );
147-
$blog->img_url ( $c->stash->{form_img_url} );
148143
$blog->rss_url ( $c->stash->{form_rss_url} );
149144
$blog->tagline ( $c->stash->{form_tagline} );
150145
$blog->about ( $c->stash->{form_about} );
@@ -187,8 +182,8 @@ sub post_publish_new_blog ($c) {
187182
}
188183
$pb->delete;
189184

190-
$c->minion->enqueue( populate_blog_entires => [ $blog->id ]);
191-
$c->minion->enqueue( populate_blog_screenshot => [ $blog->id ]);
185+
$c->minion->enqueue( populate_blog_entires => [ $blog->id, 'prod' ]);
186+
$c->minion->enqueue( populate_blog_screenshot => [ $blog->id, 'prod' ]);
192187

193188
$c->redirect_to( $c->url_for( 'view_blog', slug => $blog->slug ) );
194189
}

Web/lib/BlogDB/Web/Plugin/MinionTasks.pm

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,9 @@ sub register ( $self, $app, $config ) {
4848
return [ @items ];
4949
});
5050

51-
$app->minion->add_task(download_screenshot => sub ( $job, $blog_url, $blog_id ) {
52-
$screenshot->store_screenshot(
53-
url => $blog_url,
54-
out_file => $job->app->config->{ws_screenshot}->{datadir} . "$blog_id.jpg",
55-
);
56-
});
57-
58-
$app->minion->add_task(populate_blog_screenshot => sub ( $job, $blog_id ) {
59-
my $blog = $job->app->db->resultset('Blog')->find( $blog_id );
51+
$app->minion->add_task(populate_blog_screenshot => sub ( $job, $blog_id, $type ) {
52+
my $rs1 = $type eq 'pending' ? 'PendingBlog' : 'Blog';
53+
my $blog = $job->app->db->resultset($rs1)->find( $blog_id );
6054

6155
make_path( $job->app->static->paths->[0] . '/screenshots/' );
6256
my $out = tempfile(
@@ -74,27 +68,30 @@ sub register ( $self, $app, $config ) {
7468
$blog->update;
7569
});
7670

77-
$app->minion->add_task(populate_blog_entires => sub ( $job, $blog_id ) {
78-
my $blog = $job->app->db->resultset('Blog')->find( $blog_id );
71+
$app->minion->add_task(populate_blog_entires => sub ( $job, $blog_id, $type ) {
72+
my $rs1 = $type eq 'pending' ? 'PendingBlog' : 'Blog';
73+
my $rs2 = $type eq 'pending' ? 'PendingBlogEntry' : 'BlogEntry';
74+
my $rs3 = $type eq 'pending' ? 'pending_blog_entries' : 'blog_entries';
75+
76+
my $blog = $job->app->db->resultset($rs1)->find( $blog_id );
7977

8078
return unless $blog->rss_url;
8179

8280
my $entries = $job->app->extract_feed( $blog->rss_url );
8381

8482
foreach my $entry ( @{$entries} ) {
85-
my $entry_count = $job->app->db->resultset('BlogEntry')->search({
83+
my $entry_count = $job->app->db->resultset($rs2)->search({
8684
url => $entry->{link},
8785
})->count;
8886

8987
next if $entry_count >= 1;
9088

91-
$blog->create_related( 'blog_entries', {
89+
$blog->create_related( $rs3, {
9290
title => $entry->{title},
9391
url => $entry->{link},
9492
publish_date => $entry->{date},
9593
});
9694
}
97-
9895
});
9996
}
10097

Web/templates/default/blog/new/item.html.tx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,6 @@
7272
%% value => $form_url,
7373
%% };
7474

75-
%% include 'default/_/form/input.tx' { type => 'text', name => 'img_url',
76-
%% title => 'Homepage Image URL',
77-
%% help => 'A URL to a screenshot of the homepage.',
78-
%% value => $form_img_url,
79-
%% };
80-
8175
%% include 'default/_/form/input.tx' { type => 'text', name => 'rss_url',
8276
%% title => 'RSS URL',
8377
%% help => 'A URL to an RSS feed for the blog.',
@@ -89,7 +83,7 @@
8983
</form>
9084
</div>
9185
<div class="col">
92-
<img width="80%" src="/blog_screenshots/[% $blog_id %].jpg">
86+
<img width="80%" src="[% $blog_obj.img_url %]">
9387
</div>
9488
</div>
9589

0 commit comments

Comments
 (0)