boxlet 0.0.3 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/config.yml +3 -1
- data/lib/boxlet.rb +0 -1
- data/lib/boxlet/app.rb +5 -3
- data/lib/boxlet/app/controller.rb +19 -3
- data/lib/boxlet/config.rb +20 -11
- data/lib/boxlet/version.rb +1 -1
- data/lib/handlers/thin.rb +7 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a8ccc8e3e2d33bcd02ae4ad95387f2f7b356dcbb
|
|
4
|
+
data.tar.gz: baefad60c68d00b903da3a60a17035297d2424ed
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
|
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:
|
|
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
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
|
-
|
|
38
|
-
use Rack::
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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 => '
|
|
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 => '
|
|
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
|
-
|
|
61
|
-
@config = @
|
|
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]
|
data/lib/boxlet/version.rb
CHANGED
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.
|
|
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-
|
|
11
|
+
date: 2014-07-15 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rack
|