OSDN Git Service

fix:pp link
[pettanr/pettanr.git] / bin / uploader.rb
index aa56f49..e8fa6ed 100644 (file)
@@ -7,23 +7,23 @@ require 'json'
 require 'base64'\r
 \r
 if ARGV.size < 1\r
-  puts "uploader.rb host dirname attr.json lsname auth"\r
+  puts "uploader.rb host dirname license_name email token"\r
   puts "upload on child dirs"\r
   exit\r
 end\r
 \r
 host = ARGV[0]\r
 dirname = ARGV[1]\r
-attr_fn = ARGV[2]\r
-lsname = ARGV[3]\r
+lsname = ARGV[2]\r
+email = ARGV[3]\r
 auth = ARGV[4]\r
 \r
 class Uploader\r
-  def initialize host, dirname, attr_fn, lsname, auth\r
+  def initialize host, dirname, lsname, email, auth\r
     @host = host\r
     @dirname = dirname\r
-    @attr_fn = attr_fn\r
     @lsname = lsname\r
+    @email = email\r
     @auth = auth\r
     @licenses = self.licenses\r
     @license_groups = self.license_groups\r
@@ -32,18 +32,18 @@ class Uploader
   def licenses\r
     res = {}\r
     u = @host + 'licenses.json'\r
-    r = RestClient.get(u)\r
+    r = RestClient.get(u, {email: @email, token: @auth})\r
     ary = JSON.parse r\r
     ary['list'].each do |l|\r
       res[l['name']] = l\r
     end\r
     res\r
   end\r
-\r
+  \r
   def license_groups\r
     res = {}\r
     u = @host + 'license_groups.json'\r
-    r = RestClient.get(u)\r
+    r = RestClient.get(u, {email: @email, token: @auth})\r
     ary = JSON.parse r\r
     ary['list'].each do |l|\r
       res[l['id'].to_i] = l\r
@@ -51,20 +51,15 @@ class Uploader
     res\r
   end\r
   \r
-  def each_subdir\r
-    Dir.glob File.expand_path(@dirname) + '/*' do |filename|\r
-      if File.directory?(filename)\r
-        yield filename\r
-      end\r
-    end\r
-  end\r
-  \r
   def each_op\r
     Dir.glob File.expand_path(@dirname) + '/*' do |fn|\r
       ext = File.extname(fn).downcase\r
+      bn = File.basename(fn, ".*")\r
       case ext\r
       when '.png', '.gif', '.jpeg'\r
-        yield fn\r
+        custom_attr_file = File.dirname(fn) + '/' + bn + '.json'\r
+        attr = JSON.parse(File.open(custom_attr_file).read)\r
+        yield fn, attr\r
       end\r
     end\r
   end\r
@@ -75,8 +70,8 @@ class Uploader
     u = @host + 'original_pictures'\r
     begin\r
       r = RestClient.post(u, \r
-        {:original_picture => {:file  => b}, :auth_token => @auth}.to_json, \r
-        :content_type => :json, :accept => :json\r
+        {:original_picture => {:file  => b}}.to_json, \r
+        :content_type => :json, :accept => :json, :email => @email, :token => @auth\r
       )\r
       o = JSON.parse r\r
       oid = o['id']\r
@@ -95,41 +90,14 @@ class Uploader
       :license_id => lsid, \r
       :license_group_module_name => en, \r
       :license_settings => attr, \r
-      :auth_token => @auth \r
-    }\r
-    begin\r
-      r = RestClient.post(u, \r
-        param.to_json,\r
-        :content_type => :json, :accept => :json\r
-      )\r
-      rp = JSON.parse r\r
-    rescue\r
-      puts ' failed: ' + u.to_s\r
-      puts param\r
-      puts r.to_s\r
-    end\r
-    rp\r
-  end\r
-  \r
-  #confirm\r
-  def resource_picture oid, lgid, lsid, en, formname, attr\r
-    rp = nil\r
-    u = @host + en.tableize + '/attributes'\r
-    attr['license_id'] = lsid\r
-    param = {\r
-      :original_picture_id => oid, \r
-      :original_picture_license_group => {\r
-        :original_picture_id => oid, :license_group_id => lgid\r
-      }, \r
-      :auth_token => @auth \r
     }\r
-    param[:attributes] = attr\r
     begin\r
       r = RestClient.post(u, \r
         param.to_json,\r
-        :content_type => :json, :accept => :json\r
+        :content_type => :json, :accept => :json, :email => @email, :token => @auth\r
       )\r
-      rp = JSON.parse r\r
+      resp = JSON.parse r\r
+      rp = resp['item']\r
     rescue\r
       puts ' failed: ' + u.to_s\r
       puts param\r
@@ -147,12 +115,11 @@ class Uploader
         :original_picture_id => oid, :license_group_id => lgid\r
       }, \r
       :resource_picture => rp, \r
-      :auth_token => @auth \r
     }\r
     begin\r
       r = RestClient.post(u, \r
         attr.to_json,\r
-        :content_type => :json, :accept => :json\r
+        :content_type => :json, :accept => :json, :email => @email, :token => @auth\r
       )\r
       res = JSON.parse r\r
     rescue\r
@@ -162,8 +129,7 @@ class Uploader
   end\r
   \r
   def publish_all\r
-    attr = JSON.parse(File.open(@attr_fn).read)\r
-    each_op do |imgfile|\r
+    each_op do |imgfile, attr|\r
       puts 'uploading: ' + imgfile\r
       oid = self.upload imgfile\r
       next unless oid\r
@@ -186,7 +152,6 @@ class Uploader
   \r
 end\r
 \r
-u = Uploader.new host, dirname, attr_fn, lsname, auth\r
-\r
+u = Uploader.new host, dirname, lsname, email, auth\r
 u.publish_all\r
 \r