exe/feedlrop in feedlrop-0.1.23 vs exe/feedlrop in feedlrop-0.1.24
- old
+ new
@@ -1,26 +1,54 @@
#!/usr/bin/env ruby
-
-require 'arxutils'
+# frozen_string_literal: true
require 'feedlrop'
+require "simpleoptparse"
+require 'yaml'
-dbconfig = Arxutils::Dbutil::DBCONFIG_MYSQL
-dbconfig = Arxutils::Dbutil::DBCONFIG_SQLITE3
+token, user_id, hash = Feedlrop::Cli.setup
-token = ARGV[0]
-hs = {
- "db_dir" => Arxutils::Dbutil::DB_DIR,
- "migrate_dir" => Arxutils::Dbutil::MIGRATE_DIR,
- "config_dir" => Arxutils::Dbutil::CONFIG_DIR,
- "dbconfig" => dbconfig,
- "log_fname" => Arxutils::Dbutil::DATABASELOG,
-}
+banner = "Usage: bundle exec feedlrop --cmd=(lp|lpd|r)"
+opts = {}
+Simpleoptparse::Simpleoptparse.parse(ARGV, opts, banner, Arxutils_Sqlite3::VERSION, nil) do |parser|
+ parser.on("--cmd X", %w[lp lpd r]) { |x| opts["cmd"] = x }
+end
-fo = Feedlrop::Feedlrop.new(
- token ,
- :db,
- hs
- )
-fo.csv_open
-fo.get_all_unread_count
-fo.csv_close
+flop = Feedlrop::Feedlrop.new(
+ token,
+ hash
+)
+cmd = opts["cmd"]
+# way = :REMOTE
+# way = :LOCAL
+# way = :LOCAL_PSTORE
+# way = :LOCAL_PSTORE_AND_DB
+# way = :REMOTE
+
+ ERROR_CODE_INVALID_CMD = 100
+
+case cmd
+when "lp"
+ # :LOCAL_PSTORE
+ # puts "way=#{way}"
+ # exit
+ flop.check_backup
+ # exit
+when "lpd"
+ # :LOCAL_PSTORE_AND_DB
+ # puts "way=#{way}"
+ # exit
+ # flop.check_backup
+ flop.csv_to_db
+ # exit
+when "r"
+ # :REMOTE
+ puts "cmd=#{cmd}"
+ # exit
+ flop.csv_open(hash['output_dir'])
+ ret = flop.all_unread_count
+ puts "all_unread_count=#{ret.size}"
+ flop.csv_close
+else
+ puts "cmd=#{cmd}"
+ exit ERROR_CODE_INVALID_CMD
+end