| | |
| | | import re |
| | | import threading |
| | | |
| | | import wx |
| | | |
| | | import setting |
| | | from comment import CommentManager |
| | | |
| | | |
| | | def show_warning(content, click=None): |
| | | toastone = wx.MessageDialog(None, content, "提示", wx.YES_DEFAULT | wx.ICON_WARNING) |
| | |
| | | if toastone.ShowModal() == wx.ID_YES: # 如果点击了提示框的确定按钮 |
| | | click() |
| | | toastone.Destroy() |
| | | |
| | | |
| | | class MainFrame(wx.Frame): |
| | | def __bind_event(self): |
| | |
| | | setting.set_chromedriver_path(chromedriver_path) |
| | | setting.set_comment_templates(comment_templates) |
| | | setting.set_reply_comment(comment) |
| | | setting.set_common_emojis(self.text_emojis.GetValue()) |
| | | setting.set_like_conditions(self.text_like_conditions.GetValue()) |
| | | show_info("保存成功") |
| | | |
| | | self.Bind(wx.EVT_CLOSE, self.OnFrameClose) |
| | | self.btn_start_comment.Bind(wx.EVT_BUTTON, start_comment) |
| | | self.btn_chrome_path.Bind(wx.EVT_BUTTON, on_select_chrome_file) |
| | |
| | | self.btn_save.Bind(wx.EVT_BUTTON, on_save) |
| | | |
| | | def __init(self): |
| | | self.comment_manager = None |
| | | self.cb_like.SetValue(setting.is_click_like()) |
| | | self.cb_comment.SetValue(setting.is_reply_comment()) |
| | | self.text_comments.SetValue(setting.get_comment_templates()) |
| | | self.text_chrome_path.SetValue(setting.get_chrome_path()) |
| | | self.text_chromedriver_path.SetValue(setting.get_chromedriver_path()) |
| | | self.text_emojis.SetValue(setting.get_common_emojis()) |
| | | self.text_like_conditions.SetValue(setting.get_like_conditions()) |
| | | |
| | | |
| | | |
| | | def __init__(self): |
| | | def __create_setting_view(self, panel): |
| | | def create_label(text): |
| | | return wx.StaticText(self, wx.ID_ANY, text, size=wx.Size(150, -1), style=wx.ALIGN_RIGHT) |
| | | return wx.StaticText(panel, wx.ID_ANY, text, size=wx.Size(150, -1), style=wx.ALIGN_RIGHT) |
| | | |
| | | wx.Frame.__init__(self, None, -1, "视频号助手", |
| | | size=(600, 500)) |
| | | self.SetBackgroundColour(wx.Colour(224, 224, 224)) |
| | | boxsier = wx.BoxSizer(wx.VERTICAL) |
| | | # 浏览器地址 |
| | | ss = wx.BoxSizer(wx.HORIZONTAL) |
| | | ss.Add(create_label("Chrome浏览器路径:"), 0, wx.ALIGN_CENTER_VERTICAL) |
| | | self.text_chrome_path = wx.TextCtrl(self, wx.ID_ANY, size=wx.Size(-1, -1)) |
| | | self.text_chrome_path = wx.TextCtrl(panel, wx.ID_ANY, size=wx.Size(-1, -1)) |
| | | ss.Add(self.text_chrome_path, 1, wx.RIGHT, 10) |
| | | self.btn_chrome_path = wx.Button(self, wx.ID_ANY, "选择文件") |
| | | self.btn_chrome_path = wx.Button(panel, wx.ID_ANY, "选择文件") |
| | | ss.Add(self.btn_chrome_path, 0, wx.RIGHT | wx.ALIGN_CENTER_VERTICAL, 10) |
| | | boxsier.Add(ss, 0, wx.EXPAND | wx.TOP, 10) |
| | | # 浏览器驱动地址 |
| | | ss = wx.BoxSizer(wx.HORIZONTAL) |
| | | ss.Add(create_label("Chrome浏览器驱动路径:"), 0, wx.ALIGN_CENTER_VERTICAL) |
| | | self.text_chromedriver_path = wx.TextCtrl(self, wx.ID_ANY, size=wx.Size(-1, -1)) |
| | | self.text_chromedriver_path = wx.TextCtrl(panel, wx.ID_ANY, size=wx.Size(-1, -1)) |
| | | ss.Add(self.text_chromedriver_path, 1, wx.RIGHT, 10) |
| | | self.btn_chromedriver_path = wx.Button(self, wx.ID_ANY, "选择文件") |
| | | self.btn_chromedriver_path = wx.Button(panel, wx.ID_ANY, "选择文件") |
| | | ss.Add(self.btn_chromedriver_path, 0, wx.RIGHT | wx.ALIGN_CENTER_VERTICAL, 10) |
| | | boxsier.Add(ss, 0, wx.EXPAND | wx.TOP, 10) |
| | | |
| | | # 是否点赞 |
| | | ss = wx.BoxSizer(wx.HORIZONTAL) |
| | | ss.Add(create_label("是否点赞:"), 0, wx.ALIGN_CENTER_VERTICAL) |
| | | self.cb_like = wx.CheckBox(self, wx.ID_ANY, "") |
| | | self.cb_like = wx.CheckBox(panel, wx.ID_ANY, "") |
| | | ss.Add(self.cb_like, 0, wx.ALIGN_CENTER_VERTICAL) |
| | | boxsier.Add(ss, 0, wx.EXPAND | wx.TOP, 10) |
| | | |
| | | # 是否评论 |
| | | ss = wx.BoxSizer(wx.HORIZONTAL) |
| | | ss.Add(create_label("是否评论:"), 0, wx.ALIGN_CENTER_VERTICAL) |
| | | self.cb_comment = wx.CheckBox(self, wx.ID_ANY, "") |
| | | self.cb_comment = wx.CheckBox(panel, wx.ID_ANY, "") |
| | | ss.Add(self.cb_comment, 0, wx.ALIGN_CENTER_VERTICAL) |
| | | boxsier.Add(ss, 0, wx.EXPAND | wx.TOP, 10) |
| | | |
| | | # 常用表情 |
| | | ss = wx.BoxSizer(wx.HORIZONTAL) |
| | | ss.Add(create_label("常用表情:"), 0) |
| | | self.text_emojis = wx.TextCtrl(panel, wx.ID_ANY, size=wx.Size(-1, 50), style=wx.TE_MULTILINE) |
| | | ss.Add(self.text_emojis, 1, wx.RIGHT | wx.ALIGN_CENTER_VERTICAL, 10) |
| | | boxsier.Add(ss, 0, wx.EXPAND | wx.TOP, 10) |
| | | |
| | | # 评论内容 |
| | | ss = wx.BoxSizer(wx.HORIZONTAL) |
| | | ss.Add(create_label("评论模版:"), 0) |
| | | self.text_comments = wx.TextCtrl(self, wx.ID_ANY, size=wx.Size(-1, 150), style=wx.TE_MULTILINE) |
| | | self.text_comments = wx.TextCtrl(panel, wx.ID_ANY, size=wx.Size(-1, 150), style=wx.TE_MULTILINE) |
| | | ss.Add(self.text_comments, 1, wx.RIGHT | wx.ALIGN_CENTER_VERTICAL, 10) |
| | | boxsier.Add(ss, 0, wx.EXPAND | wx.TOP, 10) |
| | | boxsier.Add(wx.StaticText(self, wx.ID_ANY, "模版与内容之间采用#分隔,如: 谢谢$#[昵称]不客气\n变量:[昵称]\n备注:$-结尾 ^-开始"), 0, wx.LEFT, |
| | | boxsier.Add(wx.StaticText(panel, wx.ID_ANY, "模版与内容之间采用#分隔,如: 谢谢$#[昵称]不客气\n变量:【昵称】,【内容】,【最后一个表情】,【1-3】\n备注:$-结尾 ^-开始"), 0, wx.LEFT, |
| | | 150) |
| | | |
| | | self.btn_save = wx.Button(self, wx.ID_ANY, "保存") |
| | | boxsier.Add(create_label("")) |
| | | boxsier.Add(self.btn_save, 0, wx.LEFT, 150) |
| | | # 点赞条件 |
| | | ss = wx.BoxSizer(wx.HORIZONTAL) |
| | | ss.Add(create_label("点赞条件:"), 0) |
| | | self.text_like_conditions = wx.TextCtrl(panel, wx.ID_ANY, size=wx.Size(-1, 80), style=wx.TE_MULTILINE) |
| | | ss.Add(self.text_like_conditions, 1, wx.RIGHT | wx.ALIGN_CENTER_VERTICAL, 10) |
| | | boxsier.Add(ss, 0, wx.EXPAND | wx.TOP, 10) |
| | | |
| | | self.btn_start_comment = wx.Button(self, wx.ID_ANY, "开始") |
| | | boxsier.Add(self.btn_start_comment) |
| | | self.SetSizer(boxsier) |
| | | ss = wx.BoxSizer(wx.HORIZONTAL) |
| | | self.btn_save = wx.Button(panel, wx.ID_ANY, "保存") |
| | | ss.Add(self.btn_save, 0, wx.LEFT, 150) |
| | | boxsier.Add(ss, 0, wx.EXPAND | wx.TOP, 10) |
| | | |
| | | panel.SetSizer(boxsier) |
| | | |
| | | def __create_test_view(self, panel): |
| | | def create_label(text): |
| | | return wx.StaticText(panel, wx.ID_ANY, text, size=wx.Size(80, -1), style=wx.ALIGN_RIGHT) |
| | | |
| | | def on_excute(evt): |
| | | # pattern = self.test_regex.GetValue().encode('unicode_escape').decode("utf-8") |
| | | pattern = self.test_regex.GetValue() |
| | | |
| | | |
| | | |
| | | regex = re.compile(pattern) |
| | | content = self.test_text.GetValue() |
| | | result = regex.match(content) |
| | | result_list=[] |
| | | if result: |
| | | result_list.append("是否匹配:匹配") |
| | | else: |
| | | result_list.append("是否匹配:不匹配") |
| | | result = regex.findall(content) |
| | | result_list.append("匹配内容:" + ",".join(result)) |
| | | self.test_result.SetValue("\n".join(result_list)) |
| | | |
| | | |
| | | boxsier = wx.BoxSizer(wx.VERTICAL) |
| | | ss = wx.BoxSizer(wx.HORIZONTAL) |
| | | ss.Add(create_label("正则表达式:"), 0, wx.ALIGN_CENTER_VERTICAL) |
| | | self.test_regex = wx.TextCtrl(panel, wx.ID_ANY, size=wx.Size(-1, -1)) |
| | | ss.Add(self.test_regex, 1, wx.RIGHT | wx.ALIGN_CENTER_VERTICAL, 10) |
| | | boxsier.Add(ss, 0, wx.EXPAND | wx.TOP, 10) |
| | | |
| | | ss = wx.BoxSizer(wx.HORIZONTAL) |
| | | ss.Add(create_label("内容:"), 0) |
| | | self.test_text = wx.TextCtrl(panel, wx.ID_ANY, size=wx.Size(-1, 100),style=wx.TE_MULTILINE) |
| | | ss.Add(self.test_text, 1, wx.RIGHT | wx.ALIGN_CENTER_VERTICAL, 10) |
| | | boxsier.Add(ss, 0, wx.EXPAND | wx.TOP, 10) |
| | | |
| | | ss = wx.BoxSizer(wx.HORIZONTAL) |
| | | ss.Add(create_label("结果:"), 0) |
| | | self.test_result = wx.TextCtrl(panel, wx.ID_ANY, size=wx.Size(-1, 100), style=wx.TE_READONLY|wx.TE_MULTILINE) |
| | | ss.Add(self.test_result, 1, wx.RIGHT | wx.ALIGN_CENTER_VERTICAL, 10) |
| | | boxsier.Add(ss, 0, wx.EXPAND | wx.TOP, 10) |
| | | |
| | | ss = wx.BoxSizer(wx.HORIZONTAL) |
| | | ss.Add(create_label(""), 0, wx.ALIGN_CENTER_VERTICAL) |
| | | self.test_excute = wx.Button(panel, wx.ID_ANY, "执行测试") |
| | | ss.Add(self.test_excute, 0, wx.RIGHT | wx.ALIGN_CENTER_VERTICAL, 10) |
| | | boxsier.Add(ss, 0, wx.EXPAND | wx.TOP, 10) |
| | | self.test_excute.Bind(wx.EVT_BUTTON, on_excute) |
| | | |
| | | panel.SetSizer(boxsier) |
| | | |
| | | def __init__(self): |
| | | |
| | | wx.Frame.__init__(self, None, -1, "视频号助手", |
| | | size=(900, 600)) |
| | | self.SetBackgroundColour(wx.Colour(224, 224, 224)) |
| | | |
| | | root_sizer = wx.FlexGridSizer(2, 2, 10, 10) |
| | | # ------设置页面------ |
| | | panel_setting = wx.Panel(self, wx.ID_ANY, size=wx.Size(500, -1)) |
| | | self.__create_setting_view(panel_setting) |
| | | root_sizer.Add(panel_setting) |
| | | |
| | | # ------测试界面------ |
| | | panel_test = wx.Panel(self, wx.ID_ANY, size=wx.Size(300, 400)) |
| | | self.__create_test_view(panel_test) |
| | | root_sizer.Add(panel_test) |
| | | |
| | | # ------执行页面------ |
| | | panel_action = wx.Panel(self, wx.ID_ANY, size=wx.Size(500, 100)) |
| | | self.btn_start_comment = wx.Button(panel_action, wx.ID_ANY, "开始") |
| | | root_sizer.Add(panel_action) |
| | | |
| | | self.SetSizer(root_sizer) |
| | | self.__init() |
| | | self.__bind_event() |
| | | |