jugyo-filetter 0.2.4 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -26,6 +26,8 @@ Gem::Specification.new do |s|
26
26
  s.executables = ["filetter"]
27
27
  s.add_dependency("configatron", ">= 2.2.2")
28
28
  s.add_dependency("rubytter", ">= 0.4.5")
29
+ s.add_dependency("rflickr", ">= 2006.02.01")
30
+ s.add_dependency("highline", ">= 1.5.0")
29
31
  s.author = 'jugyo'
30
32
  s.email = 'jugyo.org@gmail.com'
31
33
  s.homepage = 'http://github.com/jugyo/filetter'
@@ -1,5 +1,4 @@
1
1
  # -*- coding: utf-8 -*-
2
- $:.unshift(File.expand_path(File.dirname(__FILE__) + '/modes'))
3
2
 
4
3
  require 'optparse'
5
4
  require 'rubygems'
@@ -46,7 +45,7 @@ module Filetter
46
45
  begin
47
46
  unless mode || load_file
48
47
  puts '=> Run as "sample" mode'
49
- require 'sample'
48
+ require 'modes/sample'
50
49
  else
51
50
  if load_file && File.exist?(load_file)
52
51
  puts "=> load \"#{load_file}\""
@@ -54,7 +53,7 @@ module Filetter
54
53
  end
55
54
  if mode
56
55
  puts "=> Run as \"#{mode}\" mode"
57
- require mode
56
+ require "modes/#{mode}"
58
57
  end
59
58
  end
60
59
  rescue LoadError => e
@@ -1,4 +1,4 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  module Filetter
3
- VERSION = '0.2.4'
3
+ VERSION = '0.2.5'
4
4
  end
@@ -0,0 +1,63 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'flickr'
3
+ require 'highline/import'
4
+ HighLine.track_eof = false
5
+
6
+ module Filetter
7
+
8
+ def self.open_brawser(url)
9
+ case RUBY_PLATFORM
10
+ when /linux/
11
+ system 'firefox', url
12
+ when /mswin(?!ce)|mingw|bccwin/
13
+ system 'explorer', url
14
+ else
15
+ system 'open', url
16
+ end
17
+ end
18
+
19
+ flickr_api_key = '83f3811287387fa8c604bf3bdcec2c9f'
20
+ flickr_secret = '7c180f792cf64ca9'
21
+ flickr = Flickr.new('./flickr_token', flickr_api_key, flickr_secret)
22
+
23
+ unless flickr.auth.token
24
+ puts 'Please allow to access to your Flickr account.'
25
+ open_brawser flickr.auth.login_link('write')
26
+
27
+ a = ask("Did you have allowed? [Y/n] ") {|q| q.validate = /^(y|yes|n|no)$/i }
28
+ case a
29
+ when /^y/i
30
+ flickr.auth.getToken
31
+ flickr.auth.cache_token
32
+ when /^n/i
33
+ puts 'No token for Flickr authentication!'
34
+ exit!
35
+ end
36
+ end
37
+
38
+ Dir.mkdir('done') unless File.exist?('done')
39
+
40
+ config.flickr.set_default(:title, nil)
41
+ config.flickr.set_default(:description, nil)
42
+ config.flickr.set_default(:public, false)
43
+ config.flickr.set_default(:friend, false)
44
+ config.flickr.set_default(:family, false)
45
+
46
+ add_hook :create do |files, event|
47
+ files.each do |file|
48
+ if File.file?(file) && Pathname.new(file).dirname == Pathname.pwd
49
+ puts "=> Upload '#{file}' to flickr."
50
+ flickr.photos.upload.upload_file(
51
+ file,
52
+ config.flickr.title,
53
+ config.flickr.description,
54
+ config.flickr.public,
55
+ config.flickr.friend,
56
+ config.flickr.family
57
+ )
58
+ rename_to = 'done/' + File.basename(file)
59
+ File.rename(file, rename_to)
60
+ end
61
+ end
62
+ end
63
+ end
@@ -13,7 +13,7 @@ module Filetter
13
13
  files.each do |file|
14
14
  file_name = File.basename(file)
15
15
  rubytter.update(file_name)
16
- puts "=> post to twitter '#{file_name}'"
16
+ puts "=> Post to twitter '#{file_name}'"
17
17
  end
18
18
  end
19
19
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jugyo-filetter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - jugyo
@@ -32,6 +32,26 @@ dependencies:
32
32
  - !ruby/object:Gem::Version
33
33
  version: 0.4.5
34
34
  version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: rflickr
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 2006.02.01
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: highline
47
+ type: :runtime
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.5.0
54
+ version:
35
55
  description: Filetter is a pluggable tool for file system.
36
56
  email: jugyo.org@gmail.com
37
57
  executables:
@@ -46,6 +66,7 @@ files:
46
66
  - lib/filetter/observer.rb
47
67
  - lib/filetter/version.rb
48
68
  - lib/filetter.rb
69
+ - lib/modes/flickr.rb
49
70
  - lib/modes/mozrepl.rb
50
71
  - lib/modes/sample.rb
51
72
  - lib/modes/twitter.rb