def do_it(self, ev): login = self.login_edit.get() password = self.password_edit.get() diary_id = self.diary_id_edit.get() filename = self.filename_edit.get() split_type = self.split_type.get() if not login: messagebox.showinfo("Error", "Логин не задан") return if not diary_id: messagebox.showinfo("Error", "Адрес сообщества не задан") return if not filename: messagebox.showinfo("Error", "Путь к файлу не задан") return api = Diary() try: api.login(login, password) text_with_header = util.load(filename) prefix = os.path.splitext(filename)[0] text_with_header = util.fix_characters(text_with_header) header, text = find_header(text_with_header) if split_type == 1: post, comments = split_text_with_comments(header, text) util.store(prefix + "_post.txt", post) for i, comment in enumerate(comments): util.store(prefix + "_comment_%d.txt" % (i+1), comment) # Send to diary post_id = api.new_post(post, diary_id) for comment in comments: api.add_comment(post_id, comment) if len(comments) > 0: messagebox.showinfo("Info", "Пост успешно опубликован, тексты комментариев ищите в файлах *comment_N.txt") else: messagebox.showinfo("Info", "Пост успешно опубликован") else: posts = split_text_with_posts(header, text) for i, post in enumerate(posts): util.store(prefix + "_post_%d.txt" % (i + 1), post) # Send to diary for post in posts: api.new_post(post, diary_id) messagebox.showinfo("Info", "Посты успешно опубликованы. Тексты продублированы в файлы *post_N.txt") except Exception as e: messagebox.showinfo("Error", str(e)) return