diff --git a/automeme.py b/automeme.py index 793a0d3..05d9810 100644 --- a/automeme.py +++ b/automeme.py @@ -216,6 +216,7 @@ def main_processing_task(rdrama : RDramaAPIInterface, session : Session): if can_communicate: eligible_comments = get_eligible_comments(rdrama, session) for eligible_comment in eligible_comments: + begin = datetime.now() under_post_limit = Post.get_number_of_replies(eligible_comment['post_id'], session) < ALLOWED_COMMENTS_PER_POST under_user_limit = User.get_number_of_comments(eligible_comment['author']['id'], session) < ALLOWED_COMMENTS_PER_USER_PER_DAY has_not_replied_to_comment = Comment.get_comment(eligible_comment['id'], session) is None @@ -333,6 +334,8 @@ def main_processing_task(rdrama : RDramaAPIInterface, session : Session): Comment.create_new_comment(parent_comment_id, automeme_comment_id, session) Post.increment_replies(post_id, session) User.increase_number_of_comments(user_id, session) + end = datetime.now() + print(end-begin) if __name__ == "__main__": TEST_AUTH_TOKEN = "ED3eURMKP9FKBFbi-JUxo8MPGWkEihuyIlAUGtVL7xwx0NEy4Nf6J_mxWYTPgAQx1iy1X91hx7PPHyEBS79hvKVIy5DMEzOyAe9PAc5pmqSJlLGq_-ROewMwFzGrqer4" diff --git a/image_utils.py b/image_utils.py index feb5929..76b695e 100644 --- a/image_utils.py +++ b/image_utils.py @@ -88,7 +88,7 @@ class ImageText(object): def write_text_box(self, xy, text, box_width, font_filename, font_size=11, color=(0, 0, 0), place='left', - justify_last_line=False, stroke_color = None, stroke_size = 0): + justify_last_line=False, stroke_color = None, stroke_size = 0, calculate_only = False): x, y = xy lines = [] @@ -112,41 +112,45 @@ class ImageText(object): for index, line in enumerate(lines): if place == 'left': total_size = self.get_text_size(font_filename, font_size, line) - self.write_text((x, height), line, font_filename, font_size, - color, stroke_color=stroke_color, stroke_size=stroke_size) + if not calculate_only: + self.write_text((x, height), line, font_filename, font_size, + color, stroke_color=stroke_color, stroke_size=stroke_size) elif place == 'right': total_size = self.get_text_size(font_filename, font_size, line) x_left = x + box_width - total_size[0] - self.write_text((x_left, height), line, font_filename, - font_size, color, stroke_color=stroke_color, stroke_size=stroke_size) + if not calculate_only: + self.write_text((x_left, height), line, font_filename, + font_size, color, stroke_color=stroke_color, stroke_size=stroke_size) elif place == 'center': total_size = self.get_text_size(font_filename, font_size, line) x_left = int(x + ((box_width - total_size[0]) / 2)) - self.write_text((x_left, height), line, font_filename, - font_size, color, stroke_color=stroke_color, stroke_size=stroke_size) + if not calculate_only: + self.write_text((x_left, height), line, font_filename, + font_size, color, stroke_color=stroke_color, stroke_size=stroke_size) elif place == 'justify': words = line.split() - if (index == len(lines) - 1 and not justify_last_line) or \ - len(words) == 1: - self.write_text((x, height), line, font_filename, font_size, - color, stroke_color=stroke_color, stroke_size=stroke_size) - continue + if (index == len(lines) - 1 and not justify_last_line) or len(words) == 1: + if not calculate_only: + self.write_text((x, height), line, font_filename, font_size, color, stroke_color=stroke_color, stroke_size=stroke_size) + continue line_without_spaces = ''.join(words) total_size = self.get_text_size(font_filename, font_size, line_without_spaces, stroke_size=stroke_size) space_width = (box_width - total_size[0]) / (len(words) - 1.0) start_x = x for word in words[:-1]: - self.write_text((start_x, height), word, font_filename, - font_size, color, stroke_size=stroke_size) + if not calculate_only: + self.write_text((start_x, height), word, font_filename, + font_size, color, stroke_size=stroke_size) word_size = self.get_text_size(font_filename, font_size, word, stroke_size=stroke_size) start_x += word_size[0] + space_width last_word_size = self.get_text_size(font_filename, font_size, words[-1], stroke_size=stroke_size) last_word_x = x + box_width - last_word_size[0] - self.write_text((last_word_x, height), words[-1], font_filename, - font_size, color, stroke_color=stroke_color, stroke_size=stroke_size) + if not calculate_only: + self.write_text((last_word_x, height), words[-1], font_filename, + font_size, color, stroke_color=stroke_color, stroke_size=stroke_size) height += text_height if total_size[0] > max_x_size: max_x_size = total_size[0] diff --git a/meme_generator.py b/meme_generator.py index 03ebce1..f727071 100644 --- a/meme_generator.py +++ b/meme_generator.py @@ -237,7 +237,7 @@ def add_text_box(base : Image, caption : str, region_size : tuple[int, int], coo print("Retard moment") return region_x_size, region_y_size = region_size - line_image = ImageText((region_x_size, region_y_size)) + if color == ColorScheme.BLACK: fill_color = (0,0,0) stroke = None @@ -246,14 +246,15 @@ def add_text_box(base : Image, caption : str, region_size : tuple[int, int], coo fill_color = (255,255,255) stroke = (0,0,0) stroke_size = 3 - + line_image = ImageText((region_x_size+stroke_size, region_y_size)) place = "left" if "ch" in align: place = "center" - actual_text_box_size = line_image.write_text_box((stroke_size,0), caption, region_x_size, font_size=init_font_size, font_filename=font, color=fill_color, stroke_color=stroke, stroke_size=stroke_size, place=place) + actual_text_box_size = line_image.write_text_box((stroke_size,0), caption, region_x_size, font_size=init_font_size, font_filename=font, color=fill_color, stroke_color=stroke, stroke_size=stroke_size, place=place, calculate_only=True) _, actual_text_box_y_size, input_text_block_x_size, actual_text_box_x_size = actual_text_box_size if actual_text_box_y_size <= region_y_size: + line_image.write_text_box((stroke_size,0), caption, region_x_size, font_size=init_font_size, font_filename=font, color=fill_color, stroke_color=stroke, stroke_size=stroke_size, place=place) actual_paste_x_coordinates, actual_paste_y_coordinates = coordinates if align != "": y_difference = region_y_size - actual_text_box_y_size