diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml index df5b844..f0d74f8 100644 --- a/config/locales/server.en.yml +++ b/config/locales/server.en.yml @@ -9,3 +9,4 @@ en: nntp_bridge_invalid_body_replacement: "Post body to use when the body from NNTP is invalid." nntp_bridge_nntp_user_agent: "User agent header for NNTP posts created by Discourse" nntp_bridge_default_newsgroup: "Default NNTP newsgroup" + nntp_bridge_ignore_messages: "Skip importing these message IDs. Comma-separated." diff --git a/config/settings.yml b/config/settings.yml index 7a0ed54..bb894a4 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -27,3 +27,6 @@ plugins: nntp_bridge_default_newsgroup: default: general client: true + nntp_bridge_ignore_messages: + default: "" + client: true diff --git a/lib/discourse_nntp_bridge/newsgroup_importer.rb b/lib/discourse_nntp_bridge/newsgroup_importer.rb index 54667d1..079e333 100644 --- a/lib/discourse_nntp_bridge/newsgroup_importer.rb +++ b/lib/discourse_nntp_bridge/newsgroup_importer.rb @@ -23,8 +23,9 @@ def sync!(newsgroup) local_message_ids = NntpPost.pluck(:message_id) remote_message_ids = @server.message_ids([newsgroup]) # message_ids_to_destroy = local_message_ids - remote_message_ids - message_ids_to_import = remote_message_ids - local_message_ids - message_ids_to_import = message_ids_to_import + ignore_ids = SiteSetting.nntp_bridge_ignore_messages.split(",").collect(&:strip) + + message_ids_to_import = remote_message_ids - local_message_ids - ignore_ids # if message_ids_to_destroy.any? # puts "Deleting #{message_ids_to_destroy.size} posts" if File.basename($0) == 'rake'