From 16ec9aba7e94e628f22bcaeb3ecdd7916f3a3df5 Mon Sep 17 00:00:00 2001 From: lnu Date: Thu, 31 Mar 2005 22:08:32 +0000 Subject: first import git-svn-id: svn+ssh://svn.gna.org/svn/feed2imap/trunk/feed2imap@5 f70e237a-67f3-0310-a06c-d2b8a7116972 --- bin/feed2imap | 35 +++++++++++++++++++++++++++++++++++ bin/feed2imap-dumpconfig | 42 ++++++++++++++++++++++++++++++++++++++++++ bin/feed2imap-opmlimport | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 125 insertions(+) create mode 100755 bin/feed2imap create mode 100755 bin/feed2imap-dumpconfig create mode 100755 bin/feed2imap-opmlimport (limited to 'bin') diff --git a/bin/feed2imap b/bin/feed2imap new file mode 100755 index 0000000..e0a668f --- /dev/null +++ b/bin/feed2imap @@ -0,0 +1,35 @@ +#!/usr/bin/ruby -w + +$:.unshift File.join(File.dirname(__FILE__), '..', 'lib') + +require 'feed2imap/feed2imap' +require 'optparse' + +verbose = false +version = false +cacherebuild = false +configf = ENV['HOME'] + '/.feed2imaprc' +opts = OptionParser::new do |opts| + opts.banner = "Usage: ./feed2imap.rb [options]" + opts.separator "" + opts.separator "Options:" + opts.on("-v", "--verbose", "Verbose mode") do |v| + verbose = true + end + opts.on("-V", "--version", "Display Feed2Imap version") do |v| + version = true + end + opts.on("-c", "--rebuild-cache", "Cache rebuilding run : will fetch everything and cache, as if it was already read.") do |c| + cacherebuild = true + end + opts.on("-f", "--config ", "Select alternate config file") do |f| + configf = f + end +end +opts.parse!(ARGV) + +if version + puts "Feed2Imap v.#{F2I_VERSION}" +else + Feed2Imap::new(verbose, cacherebuild, configf) +end diff --git a/bin/feed2imap-dumpconfig b/bin/feed2imap-dumpconfig new file mode 100755 index 0000000..508e37e --- /dev/null +++ b/bin/feed2imap-dumpconfig @@ -0,0 +1,42 @@ +#!/usr/bin/ruby + +=begin +Feed2Imap - RSS/Atom Aggregator uploading to an IMAP Server +Copyright (c) 2005 Lucas Nussbaum + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +=end + +$:.unshift File.join(File.dirname(__FILE__), '..', 'lib') + +require 'feed2imap/config' +require 'optparse' + +configf = ENV['HOME'] + '/.feed2imaprc' +opts = OptionParser::new do |opts| + opts.banner = "Usage: ./dumpconfig.rb [options]" + opts.separator "" + opts.separator "Options:" + opts.on("-f", "--config ", "Select alternate config file") do |f| + configf = f + end +end +opts.parse!(ARGV) + +if not File::exist?(configf) + puts "Configuration file #{configfile} not found." + exit(1) +end +File::open(configf) { |f| puts F2IConfig::new(f).to_s } diff --git a/bin/feed2imap-opmlimport b/bin/feed2imap-opmlimport new file mode 100755 index 0000000..a097c16 --- /dev/null +++ b/bin/feed2imap-opmlimport @@ -0,0 +1,48 @@ +#!/usr/bin/ruby + +=begin +Feed2Imap - RSS/Atom Aggregator uploading to an IMAP Server +Copyright (c) 2005 Lucas Nussbaum + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +=end + +$:.unshift File.join(File.dirname(__FILE__), '..', 'lib') + +require 'rexml/document' +require 'yaml' + +DEFAULTIMAPFOLDER = 'imap://login:password@imapserver/folder.folder2' + +opml = ARGV[0] +doc = nil +doc = REXML::Document::new(IO.read(opml)) +feeds = [] +doc.root.each_element('//outline') do |e| + if u = e.attribute('xmlUrl') || e.attribute('htmlUrl') + # dirty liferea hack + next if u.value == 'vfolder' + # get title + t = e.attribute('text') || e.attribute('Title') || nil + if t.nil? + title = '*** FEED TITLE (must be unique) ***' + else + title = t.value + end + url = u.value + feeds.push({'name' => title, 'url' => url, 'target' => DEFAULTIMAPFOLDER}) + end +end +YAML::dump({'feeds' => feeds}, $stdout) -- cgit v1.2.3