boxlet 0.0.3 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a6d7e5f493bed4061382d3948eeefd5e8c05c69a
4
- data.tar.gz: 1110db140ef82acce692bf102e0813dde7213060
3
+ metadata.gz: a8ccc8e3e2d33bcd02ae4ad95387f2f7b356dcbb
4
+ data.tar.gz: baefad60c68d00b903da3a60a17035297d2424ed
5
5
  SHA512:
6
- metadata.gz: 7a1086d5b524547e517f5b99454c3d9a035754c3c2bd131860f466675ecb8bfda12190f415361ecd0c39e90c111ceb15dc15b71ba957eb5ed52f473e907a4dd8
7
- data.tar.gz: 4116a07c56b25aab3848b5deddbe6d1ece5af309053ea84ea4cb034d2a99b610db822bfc294b17ad839aed353010ac3354d80195500517192f02dfb176b27850
6
+ metadata.gz: d633624ee6ebcf811baa9e274827949e81f2d6a6c6b038977c8e54be1c44c735715a1037ce3faa845121dbda76b7fff5e63f775caff684cc1b8eed0a892dfe50
7
+ data.tar.gz: 442348771e3e1266b458884165e5f6a6ef388ad1e48cb93f073fb6fc1418782496078eb916325748ad6a757e2f2021fe397c0e5a1fa693a2a143d7bc53cb4928
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Boxlet
2
2
 
3
- Boxlet is a server + mobile app system that allows you to take advantage of free space on any cloud server you may have ssh access to.
3
+ Boxlet is a server + mobile app system that allows you to take advantage of free space on any cloud server you have ssh access to as a backup/sync for your photos.
4
4
 
5
5
  From the mobile iOS app, you can specify any server:port where the Boxlet server is running to sync and backup your photos to a remote server.
6
6
 
data/config.yml CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Environment
4
4
  environment: development
5
- debug: true
5
+ debug: false
6
6
 
7
7
  # File system parameters
8
8
  # path: ./
@@ -18,6 +18,8 @@ port: 8077
18
18
  host: localhost
19
19
  server_type: thin
20
20
  daemonize: false
21
+ pid_file: server.pid
22
+ log_file: server.log
21
23
 
22
24
  # Database config
23
25
  db:
data/lib/boxlet.rb CHANGED
@@ -19,7 +19,6 @@ module Boxlet
19
19
 
20
20
  def run!(argv, command='run', config_file='config.yml', &blk)
21
21
  populate_params!(argv, config_file)
22
-
23
22
  app = Boxlet::App.new
24
23
 
25
24
  case command
data/lib/boxlet/app.rb CHANGED
@@ -34,15 +34,17 @@ module Boxlet
34
34
  def bind
35
35
  Rack::Builder.new do
36
36
  use Rack::Reloader
37
- # use Rack::Static, :urls => ["/public"]
38
- use Rack::FileUpload, :upload_dir => [Boxlet.config[:upload_dir] || APP_ROOT + '/uploads']
37
+ use Rack::FileUpload, :upload_dir => [Boxlet.config[:upload_dir] || APP_ROOT + "/uploads"]
38
+ use Rack::Static, :urls => ["/uploads"]
39
39
 
40
+ # map "/uploads" do
41
+ # run Rack::File.new(Boxlet.config[:upload_dir])
42
+ # end
40
43
  Boxlet::App.routes.each do |route, action|
41
44
  map route[0] do
42
45
  run Boxlet::Router.new(route[1] || :*, action)
43
46
  end
44
47
  end
45
-
46
48
  end.to_app
47
49
  end
48
50
 
@@ -1,4 +1,5 @@
1
1
  require 'date'
2
+ require 'digest'
2
3
 
3
4
  # routes = {
4
5
  # ["/", :get] => :index,
@@ -92,7 +93,7 @@ module Boxlet
92
93
  file = File.open(new_path, 'r')
93
94
  # asset_date = Date.parse(@params[:asset_date])
94
95
  asset = {
95
- filename: upload_file[:filename],
96
+ filename: new_filename,
96
97
  size: file.size,
97
98
  local_date: file.mtime.to_i,
98
99
  asset_path: @params[:asset_path],
@@ -133,9 +134,24 @@ module Boxlet
133
134
  end
134
135
 
135
136
  def user_upload_dir
136
- user_upload_dir_name = Boxlet.config[:upload_dir] + "/" + (@params[:uuid] || '')
137
+ dir_name = @params[:uuid] || ''
138
+ user_upload_dir_name = Boxlet.config[:upload_dir] + "/" + dir_name
137
139
  Dir.mkdir(user_upload_dir_name) unless File.exists?(user_upload_dir_name)
138
- user_upload_dir_name
140
+
141
+ if @params[:uuid]
142
+ dir_shortname = Digest::MD5.hexdigest(dir_name)
143
+ user_upload_dir_shortname = Boxlet.config[:upload_dir] + "/" + dir_shortname
144
+
145
+ File.symlink(dir_name, user_upload_dir_shortname) if !File.symlink? user_upload_dir_shortname
146
+
147
+ if File.symlink? user_upload_dir_shortname
148
+ user_upload_dir_shortname
149
+ else
150
+ user_upload_dir_name
151
+ end
152
+ else
153
+ user_upload_dir_name
154
+ end
139
155
  end
140
156
 
141
157
  def free_space?
data/lib/boxlet/config.rb CHANGED
@@ -2,6 +2,10 @@ module Boxlet
2
2
  module Config
3
3
 
4
4
  ARGS = {
5
+ :environment => {
6
+ :short => 'E',
7
+ :default => 'development'
8
+ },
5
9
  :path => {
6
10
  :short => 'f',
7
11
  :default => Proc.new { Dir.pwd }
@@ -20,19 +24,15 @@ module Boxlet
20
24
  :default => 'rack',
21
25
  :sanitizer => Proc.new { |p| p.to_sym }
22
26
  },
23
- :environment => {
24
- :short => 'E',
25
- :default => 'development'
26
- },
27
27
  :daemonize => {
28
- :short => 'D',
28
+ :short => 'd',
29
29
  :default => 'false',
30
- :sanitizer => Proc.new { |p| p == 'true' }
30
+ :sanitizer => Proc.new { |p| p == true || p == 'true' }
31
31
  },
32
32
  :debug => {
33
- :short => 'd',
33
+ :short => 'D',
34
34
  :default => 'true',
35
- :sanitizer => Proc.new { |p| p == 'true' }
35
+ :sanitizer => Proc.new { |p| p == true || p == 'true' }
36
36
  },
37
37
  :upload_dir => {
38
38
  :short => 'U',
@@ -50,6 +50,14 @@ module Boxlet
50
50
  :short => 'C',
51
51
  :default => '90%',
52
52
  :sanitizer => Proc.new { |p| (p.to_i.to_s == p) ? p.to_i : p }
53
+ },
54
+ :pid_file => {
55
+ :short => 'P',
56
+ :default => Proc.new { Dir.pwd + "/server.pid" }
57
+ },
58
+ :log_file => {
59
+ :short => 'L',
60
+ :default => Proc.new { Dir.pwd + "/server.log" }
53
61
  }
54
62
  }
55
63
 
@@ -57,8 +65,8 @@ module Boxlet
57
65
  def populate_params!(argv, path_to_config)
58
66
  @raw_config = load_config_file(path_to_config)
59
67
  @raw_params = parse_arguments(argv)
60
- # @config = @raw_params.merge(@raw_config)
61
- @config = @raw_config.merge(@raw_params)
68
+
69
+ @config = @raw_params
62
70
 
63
71
  @config[:debug] = @raw_config[:debug] || @raw_params[:debug]
64
72
  if @config[:debug]
@@ -80,7 +88,8 @@ module Boxlet
80
88
  private
81
89
 
82
90
  def parse_arguments(argv)
83
- params = Hash.new
91
+ # params = Hash.new
92
+ params = @raw_config
84
93
 
85
94
  ARGS.each_pair do |param_name, param_attrs|
86
95
  param_short_name = param_attrs[:short]
@@ -1,3 +1,3 @@
1
1
  module Boxlet
2
- VERSION = "0.0.3"
2
+ VERSION = "0.1.1"
3
3
  end
data/lib/handlers/thin.rb CHANGED
@@ -20,13 +20,19 @@ module Boxlet
20
20
  # default_host = environment == 'development' ? : '0.0.0.0'
21
21
  host = @params.delete(:Host) || 'localhost'
22
22
  port = @params.delete(:Port) || 8077
23
-
23
+ # pp @params
24
24
  args = [host, port, @app, @params]
25
25
 
26
26
  # Thin versions below 0.8.0 do not support additional options
27
27
  args.pop if ::Thin::VERSION::MAJOR < 1 && ::Thin::VERSION::MINOR < 8
28
28
  server = ::Thin::Server.new(*args)
29
29
  yield server if block_given?
30
+
31
+ if @params[:daemonize] == true
32
+ server.pid_file = @params[:pid_file]
33
+ server.log_file = @params[:log_file]
34
+ server.daemonize
35
+ end
30
36
  server.start
31
37
  end
32
38
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: boxlet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - arktisklada
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-10 00:00:00.000000000 Z
11
+ date: 2014-07-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack