storazzo 0.2.2 → 0.3.7
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/Gemfile +1 -0
- data/Makefile +10 -2
- data/VERSION +1 -1
- data/bin/ricdisk-magic +39 -12
- data/lib/storazzo/colors.rb +6 -1
- data/lib/storazzo/common.rb +19 -4
- data/lib/storazzo/hashify.rb +29 -16
- data/lib/storazzo/main.rb +3 -3
- data/lib/storazzo/media/README.md +14 -0
- data/lib/storazzo/media/abstract_ric_disk.rb +106 -0
- data/lib/storazzo/media/gcs_bucket.rb +20 -0
- data/lib/storazzo/media/local_folder.rb +51 -0
- data/lib/storazzo/media/mount_point.rb +5 -0
- data/lib/storazzo/ric_disk.rb +110 -50
- data/lib/storazzo/ric_disk_config.rb +143 -38
- data/lib/storazzo/ric_disk_sample_config.rb +35 -0
- data/lib/storazzo/ric_disk_statsfile.rb +15 -2
- data/lib/storazzo/ric_disk_ugly.rb +1 -1
- data/lib/storazzo/version.rb +6 -0
- data/lib/storazzo.rb +14 -5
- data/test/test_gcs_bucket.rb +59 -0
- data/test/test_local_folder.rb +69 -0
- data/test/test_ric_disk_config.rb +38 -0
- data/test/test_ric_disk_stats_file.rb +36 -0
- data/test/test_storazzo.rb +29 -29
- metadata +16 -3
- data/lib/storazzo/translator.rb +0 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6478359f1db5708d42ebe8251f985481629d4255a119ce5a52952572863c94e5
|
4
|
+
data.tar.gz: 8832a4178e0ed56687e6f494898f1902069c195c20f6474d20fd0981ad0bd3e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df7a71868983eef6299a94dc4af98e232519d79414c15321c6548411ee8590b9bcb2b8c1418a94aae46993093850156bd595b1293396d55e1e0c0db891085095
|
7
|
+
data.tar.gz: a69cc8ffc1ab17409df2635ff7aa58af329d7572498ecef00d215dca31d3c92314ae2e0c975c74eddbd5f2e69e34807b91b4ecd2bed4519e1a9dbddb31bfacaf
|
data/Gemfile
CHANGED
data/Makefile
CHANGED
@@ -17,11 +17,13 @@ install:
|
|
17
17
|
|
18
18
|
push-to-rubygems: build-local test
|
19
19
|
gem push ./storazzo-$(VER).gem
|
20
|
+
push-to-rubygems-without-tests: build-local
|
21
|
+
gem push ./storazzo-$(VER).gem
|
20
22
|
|
21
23
|
list:
|
22
24
|
gem list -r storazzo
|
23
25
|
|
24
|
-
test:
|
26
|
+
test-all:
|
25
27
|
echo 1. Testing the library end to end by requiring it..
|
26
28
|
echo "Storazzo::Main.all_tests " | irb -Ilib -rstorazzo
|
27
29
|
make mounts
|
@@ -33,6 +35,9 @@ test:
|
|
33
35
|
make irb-test
|
34
36
|
@echo 'OK: ALL TESTS PASSED. #STIKA'
|
35
37
|
|
38
|
+
test:
|
39
|
+
RUBYOPT="-W0" rake test
|
40
|
+
|
36
41
|
# RicDisk test
|
37
42
|
mounts:
|
38
43
|
echo "Storazzo::Main.all_mounts ; nil" | irb -Ilib -rstorazzo
|
@@ -43,4 +48,7 @@ irb-test:
|
|
43
48
|
./irb-test.sh
|
44
49
|
|
45
50
|
watch-test:
|
46
|
-
watch -c make test
|
51
|
+
watch -c make test
|
52
|
+
|
53
|
+
test-gcs-bucket:
|
54
|
+
ruby -I test test/test_gcs_bucket.rb
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.3.7
|
data/bin/ricdisk-magic
CHANGED
@@ -5,19 +5,27 @@
|
|
5
5
|
############# ############# ############# ############# ############# ############# ############# #############
|
6
6
|
# placeholder until i make it work..
|
7
7
|
# https://guides.rubygems.org/make-your-own-gem/#adding-an-executable
|
8
|
-
require 'storazzo'
|
8
|
+
#require 'storazzo'
|
9
|
+
#require_relative '../lib/storazzo'
|
10
|
+
require 'fileutils'
|
9
11
|
require 'yaml'
|
10
12
|
require 'socket'
|
11
13
|
require 'optparse' # http://ruby.about.com/od/advancedruby/a/optionparser.htm
|
12
14
|
|
13
|
-
|
14
|
-
|
15
|
+
# Including local gem.
|
16
|
+
#puts File.expand_path(FileUtils.pwd, "/../")
|
17
|
+
#local_gem_path = File.expand_path(FileUtils.pwd, "/../")
|
18
|
+
#gem 'storazzo', path: local_gem_path
|
19
|
+
require 'storazzo'
|
20
|
+
#include Storazzo
|
21
|
+
#include Storazzo::Colors
|
22
|
+
extend Storazzo::Colors
|
23
|
+
include Storazzo::Common #instead
|
15
24
|
|
16
|
-
#require_relative '../lib/storazzo'
|
17
25
|
|
18
|
-
puts "First I need to figure out how to bring in all the libraries in here.."
|
19
|
-
|
20
|
-
#
|
26
|
+
#puts "First I need to figure out how to bring in all the libraries in here.."
|
27
|
+
#Storazzo::Main.say_hi("ARGV is: #{ ARGV.join ', '}")
|
28
|
+
#puts Storazzo.version
|
21
29
|
############# ############# ############# ############# ############# ############# ############# #############
|
22
30
|
|
23
31
|
|
@@ -33,7 +41,9 @@ if RUBY_VERSION.split('.')[0] == 1
|
|
33
41
|
end
|
34
42
|
|
35
43
|
$PROG_VER = '0.4'
|
36
|
-
$DEBUG = true
|
44
|
+
$DEBUG = ENV['DEBUG'] == 'true' # (true/false)
|
45
|
+
# p ENV['DEBUG']
|
46
|
+
# p $DEBUG
|
37
47
|
|
38
48
|
HISTORY = <<-BIG_LONG_MULTILINE
|
39
49
|
2022-07-13 v0.4 Now that library has stabilized this kind of works! I can just push gem, update amd include here and work quite well :)
|
@@ -60,8 +70,15 @@ $myconf = {
|
|
60
70
|
:app_name => "RicDisk Magic should be sth like #{$0}",
|
61
71
|
:description => "
|
62
72
|
This program is loosely inspired to ricdisk-magic.sh but its much better.
|
63
|
-
|
64
|
-
|
73
|
+
The idea is: iterate through all ARGV elements and build a DB of all files with length and MD5.
|
74
|
+
Then if folder is writeable, put this list INSIDE IT as its so conveniente.
|
75
|
+
If not, put in a ENV-var-defined folder which defaults to ./.storazzo/ :)
|
76
|
+
|
77
|
+
And maybe someday - add a nice protobuf and an entity in lib/.
|
78
|
+
|
79
|
+
Note. This software is part of the Storazzo gem ('sai chi ti saluta un casino?'):
|
80
|
+
|
81
|
+
$ gem install storazzo
|
65
82
|
".strip.gsub(/^\s+/, "").gsub(/\s+$/, ""),
|
66
83
|
# TODO move to some class default
|
67
84
|
:media_dirs => %w{ /media/riccardo/ /Volumes/ /mnt/ ~/git/storazzo/var/test/ /sobenme/giusto/per/imparare/ad/ammutolire/gli/errori/ },
|
@@ -118,8 +135,11 @@ def real_program
|
|
118
135
|
puts white("Hello world from #{$myconf[:app_name]}!")
|
119
136
|
puts "Description: '''#{white $myconf[:description] }'''"
|
120
137
|
|
121
|
-
|
122
|
-
config
|
138
|
+
config = Storazzo::RicDiskConfig.instance()
|
139
|
+
config.load
|
140
|
+
puts "StorazzoConfig: #{config}"
|
141
|
+
#config.load # auto_sbrodola(ARGV)
|
142
|
+
puts yellow("ARGV: #{ARGV}")
|
123
143
|
config.iterate_through_file_list_for_disks(ARGV)
|
124
144
|
|
125
145
|
# if ARGV == [] # empty -> ALL
|
@@ -150,8 +170,15 @@ def main(filename)
|
|
150
170
|
deb "HISTORY: #{gray HISTORY}"
|
151
171
|
#deb "To remove this shit, just set $DEBUG=false :)"
|
152
172
|
init # Enable this to have command line parsing capabilities!
|
173
|
+
puts white("$DEBUG is #{$DEBUG }. Tu turn on, call me with -d") unless $DEBUG
|
153
174
|
#warn "[warn] template v#{$TEMPLATE_VER }: proviamo il warn che magari depreca il DEB"
|
154
175
|
real_program
|
176
|
+
|
177
|
+
if ($DEBUG)
|
178
|
+
puts "First I need to figure out how to bring in all the libraries in here.."
|
179
|
+
Storazzo::Main.say_hi("ARGV is: #{ ARGV.join ', '}")
|
180
|
+
puts Storazzo.version
|
181
|
+
end
|
155
182
|
end
|
156
183
|
|
157
184
|
main(__FILE__)
|
data/lib/storazzo/colors.rb
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
# Use EXTEND vs INCLUDE and magically the Class will inherit instead of instance. Magical! :)
|
2
2
|
# http://www.railstips.org/blog/archives/2009/05/15/include-vs-extend-in-ruby/
|
3
|
+
#
|
4
|
+
# include Storazzo::Colors
|
5
|
+
# extend Storazzo::Colors
|
6
|
+
#
|
3
7
|
|
4
8
|
module Storazzo
|
5
9
|
# needs to be defined before
|
@@ -9,7 +13,8 @@ module Storazzo::Colors
|
|
9
13
|
|
10
14
|
PREPEND_ME = "[Storazzo::Colors] "
|
11
15
|
|
12
|
-
|
16
|
+
|
17
|
+
def deb2(s); puts "#DEB_OBSOLETE #{gray(s)} [include Storazzo::Common instead]" if $DEBUG; end # Use the Common instead
|
13
18
|
|
14
19
|
# colors 16
|
15
20
|
def yellow(s) "\033[1;33m#{s}\033[0m" ; end
|
data/lib/storazzo/common.rb
CHANGED
@@ -1,12 +1,27 @@
|
|
1
1
|
# Ric common stuff! :)
|
2
|
-
|
2
|
+
#
|
3
|
+
#
|
4
|
+
# Usage:
|
5
|
+
# include Storazzo::Common
|
6
|
+
#
|
7
|
+
require_relative 'colors'
|
3
8
|
|
4
9
|
module Storazzo::Common
|
5
10
|
|
11
|
+
include Storazzo::Colors
|
6
12
|
|
7
|
-
def deb(str)
|
8
|
-
puts "[DEB] #{str}"
|
9
|
-
end
|
10
13
|
|
14
|
+
def deb(s)
|
15
|
+
puts "[DEB] #{yellow(s)}" if $DEBUG
|
16
|
+
end
|
17
|
+
def warn(s)
|
18
|
+
puts "[WRN] #{azure(s)}"
|
19
|
+
end
|
20
|
+
def err(str)
|
21
|
+
puts "[ERR] #{red(s)}"
|
22
|
+
end
|
23
|
+
def bug(s)
|
24
|
+
puts "[🐛] #{gray s}"
|
25
|
+
end
|
11
26
|
|
12
27
|
end
|
data/lib/storazzo/hashify.rb
CHANGED
@@ -5,29 +5,42 @@ module Storazzo
|
|
5
5
|
# instance variable from its hash representation by overriding
|
6
6
|
# this method
|
7
7
|
def ivars_excluded_from_hash
|
8
|
-
|
8
|
+
[ 'this_doesnt_exist' ]
|
9
9
|
end
|
10
10
|
|
11
11
|
def to_hash
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
12
|
+
hash = {}
|
13
|
+
excluded_ivars = ivars_excluded_from_hash
|
14
|
+
|
15
|
+
# Iterate over all the instance variables and store their
|
16
|
+
# names and values in a hash
|
17
|
+
instance_variables.each do |var|
|
18
|
+
next if excluded_ivars.include? var.to_s
|
19
|
+
|
20
|
+
value = instance_variable_get(var)
|
21
|
+
value = value.map(&:to_hash) if value.is_a? Array
|
22
|
+
|
23
|
+
hash[var.to_s.delete("@")] = value
|
24
|
+
end
|
25
|
+
|
26
|
+
return hash
|
24
27
|
end
|
25
|
-
|
26
|
-
|
28
|
+
|
29
|
+
def obj_to_hash
|
30
|
+
h = {}
|
31
|
+
puts self
|
32
|
+
self.instance_variables.each{|var|
|
33
|
+
#puts var
|
34
|
+
h[var.to_s.delete('@')] = self.instance_variable_get(var) # send(var.to_s.delete('@'))
|
35
|
+
}
|
36
|
+
h
|
27
37
|
end
|
28
38
|
|
29
39
|
def to_yaml
|
30
|
-
|
40
|
+
to_hash.to_yaml
|
41
|
+
end
|
42
|
+
def obj_to_yaml
|
43
|
+
obj_to_hash.to_yaml
|
31
44
|
end
|
32
45
|
end
|
33
46
|
end
|
data/lib/storazzo/main.rb
CHANGED
@@ -19,7 +19,7 @@ module Storazzo
|
|
19
19
|
extend Storazzo::Colors
|
20
20
|
|
21
21
|
# version 1.2
|
22
|
-
def self.
|
22
|
+
def self.say_hi(message=nil)
|
23
23
|
str = "Hello from Storazzo v#{white Storazzo::version rescue "Error: #{$!}"}!"
|
24
24
|
str += " Message: '#{yellow message.to_s}'" if message
|
25
25
|
puts str
|
@@ -29,7 +29,7 @@ module Storazzo
|
|
29
29
|
def self.all_mounts(opts={})
|
30
30
|
opts_verbose = opts.fetch :verbose, true
|
31
31
|
|
32
|
-
self.
|
32
|
+
self.say_hi "Storazzo::Main.all_mounts(): BEGIN - RicDiskVersion is: #{Storazzo::RicDiskUgly::RICDISK_VERSION}"
|
33
33
|
|
34
34
|
pwhite("1. First I load the config in verbose mode..")
|
35
35
|
config = Storazzo::RicDiskConfig.instance
|
@@ -55,7 +55,7 @@ module Storazzo
|
|
55
55
|
|
56
56
|
pwhite "All tests BEGIN - todo obsolete this now that I have proper Rake testing suite..."
|
57
57
|
deb "Maybe debug is enabled?"
|
58
|
-
|
58
|
+
say_hi
|
59
59
|
# This works with EXTEND..
|
60
60
|
puts(yellow "Just YELLOW 0")
|
61
61
|
# This reqwuires a INCLUDE.
|
@@ -0,0 +1,14 @@
|
|
1
|
+
|
2
|
+
Here I put all generic Media::Something classes. I can think of a few:
|
3
|
+
|
4
|
+
* `LocalFolder`: the simplest and uselesser thing ever. Done mostly for troubleshooting
|
5
|
+
* `MountFolder`: comes from mount, can get listed by mount, and usually has long latency
|
6
|
+
* `GcsBucket`. From Google Cloud Storage. Why? Spoiler alert: It's my employer :) But happy to support more in the unlikely event this gem goes viral like *Corsivoe*.
|
7
|
+
|
8
|
+
They all implement a few methods like:
|
9
|
+
|
10
|
+
* `list_all`: shows all available objects in local system, leveraging the storazzo config file.
|
11
|
+
* `parse`: parse the disk in initialized file. Then if system is writeable, writes in it the listing. If not, puts in a apposite folder defined by Storazzo.config.
|
12
|
+
* `writeable?`:
|
13
|
+
* `local_mountpoint`: local path or mountpoint. The local variable shjould be
|
14
|
+
@local_mountpoint explicitly. TODO check this in abtsract class.
|
@@ -0,0 +1,106 @@
|
|
1
|
+
module Storazzo::Media
|
2
|
+
class Storazzo::Media::AbstractRicDisk
|
3
|
+
|
4
|
+
#@@default_stats_filename = Storazzo::RicDiskStatsFile.default_name
|
5
|
+
|
6
|
+
# looks like there's not Abstract Class in Ruby, but also SO says he best
|
7
|
+
# way to do this is this:
|
8
|
+
|
9
|
+
# attr_accessor :name, :description, :ricdisk_file, :local_mountpoint, :wr, :path, :ricdisk_file_empty, :size, :active_dirs
|
10
|
+
|
11
|
+
########################
|
12
|
+
# Abstract methods START
|
13
|
+
########################
|
14
|
+
def initialize(local_mount)
|
15
|
+
puts "[DEB] [AbstractRicDisk.init()] Some child of AbstractRicDisk (#{self}) called me! Yummie." # disable when you dont need me anymore..
|
16
|
+
validate
|
17
|
+
end
|
18
|
+
def self.list_all
|
19
|
+
raise "[AbstractRicDiskc::self.list_all] You should override this, says StackOverflow and Riccardo"
|
20
|
+
end
|
21
|
+
def parse(opts={})
|
22
|
+
raise "[AbstractRicDiskc::parse] You should override this, says StackOverflow and Riccardo"
|
23
|
+
end
|
24
|
+
def writeable?
|
25
|
+
raise "[AbstractRicDiskc::writeable] You should override this in #{self.class}, says StackOverflow and Riccardo"
|
26
|
+
end
|
27
|
+
def get_local_mountpoint
|
28
|
+
#raise "[AbstractRicDiskc::get_local_mountpoint] You should override this, says StackOverflow and Riccardo"
|
29
|
+
raise "You forgot to set local_mountpoint in the constructor for your class, you cheeky little one!" if local_mountpoint.nil?
|
30
|
+
local_mountpoint
|
31
|
+
end
|
32
|
+
def check_implemented_correctly
|
33
|
+
# raise "[AbstractRicDiskc] You should override this, says StackOverflow and Riccardo"
|
34
|
+
raise "no @local_mountpoint" unless exists?(@local_mountpoint)
|
35
|
+
end
|
36
|
+
########################
|
37
|
+
# Abstract methods END
|
38
|
+
########################
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
########################
|
43
|
+
# Automated methods now...
|
44
|
+
########################
|
45
|
+
def stats_file_smart_fullpath # stats_file_default_location()
|
46
|
+
# if its writeable... if not we'll think about it later.
|
47
|
+
if writeable?
|
48
|
+
return "#{get_local_mountpoint}/#{self.default_stats_filename}"
|
49
|
+
else
|
50
|
+
# if not writeable, I will:
|
51
|
+
# 1. create a dir based on its unique format.
|
52
|
+
# 2. create a file of same look and feel (alternative - used a DASH)
|
53
|
+
return "{get_local_folder}/#{unique_id}::#{self.default_stats_filename}"
|
54
|
+
#"{get_local_folder}"/#{unique_id}/#{Storazzo::RicDiskStatsFile.default_name}"
|
55
|
+
end
|
56
|
+
end
|
57
|
+
# Needs to be some unique id based on its thingy, but might change in the future:
|
58
|
+
# Solutions:
|
59
|
+
# {PHILOSOPHY}::{ID}
|
60
|
+
def unique_id
|
61
|
+
# Expand path to make it as unique as possible...
|
62
|
+
hash = Digest::MD5.hexdigest(File.expand_path(get_local_mountpoint))
|
63
|
+
"MD5::v1::#{hash}"
|
64
|
+
end
|
65
|
+
|
66
|
+
# # Todo check on instances these 3 methods exist
|
67
|
+
def self.abstract_class_mandatory_methods
|
68
|
+
%W{
|
69
|
+
self.list_all
|
70
|
+
local_mountpoint
|
71
|
+
parse
|
72
|
+
writeable?
|
73
|
+
}
|
74
|
+
end
|
75
|
+
|
76
|
+
# Putting here since its same code for MountPoint or generic folder.
|
77
|
+
def parse_block_storage_folder(opts={})
|
78
|
+
#Storazzo::RicDiskUgly.calculate_stats_files(get_local_mountpoint)
|
79
|
+
Storazzo::RicDisk.calculate_stats_files(get_local_mountpoint, opts)
|
80
|
+
#return "42"
|
81
|
+
end
|
82
|
+
|
83
|
+
def self.default_stats_filename
|
84
|
+
raise "Unknown Storazzo::RicDiskStatsFile.default_name 1!!" if Storazzo::RicDiskStatsFile.default_name.nil?
|
85
|
+
Storazzo::RicDiskStatsFile.default_name
|
86
|
+
end
|
87
|
+
|
88
|
+
def stats_filename_default_fullpath # if not writeable we need to pick another from stats_file_smart_fullpath()
|
89
|
+
# REDUNDANT, should use stats_file_smart_fullpath instead except on the writeable? part since it would go recursive otherwise.
|
90
|
+
my_stats_filename = self.default_stats_filename
|
91
|
+
#raise "Unknown Storazzo::RicDiskStatsFile.default_name 2 !!" if Storazzo::RicDiskStatsFile.default_name.nil?
|
92
|
+
"#{local_mountpoint}/#{my_stats_filename}"
|
93
|
+
end
|
94
|
+
|
95
|
+
def validate
|
96
|
+
puts "DEB We're trying to see if your object is valid, across 3 possible sub-classes."
|
97
|
+
#1. check for
|
98
|
+
raise "Unknown local mount " unless local_mount.is_a?(String)
|
99
|
+
#2. check thaty writeable? is true or false
|
100
|
+
my_writeable = wr
|
101
|
+
raise "Writeable is not boolean" unless (my_writeable.is_a? TrueClass or my_writeable.is_a? FalseClass )
|
102
|
+
end
|
103
|
+
end
|
104
|
+
#puts "DEB lib/storazzo/media/abstract_ric_disk Media::ARD inside module"
|
105
|
+
end
|
106
|
+
#puts "DEB lib/storazzo/media/abstract_ric_disk Media::ARD outside module"
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Storazzo::Media
|
2
|
+
|
3
|
+
class Storazzo::RicDisk::GcsBucket
|
4
|
+
|
5
|
+
|
6
|
+
def self.list_all
|
7
|
+
# get lisrts from Config singletone
|
8
|
+
#puts " self.list_all: loading config "
|
9
|
+
config = Storazzo::RicDiskConfig.instance # # ).get_config
|
10
|
+
#puts config['Config']['AdditionalMountDirs']
|
11
|
+
#puts "TODO see config: #{config}"
|
12
|
+
#[42, 43]
|
13
|
+
#deb config.get_local_folders
|
14
|
+
config.get_bucket_paths
|
15
|
+
end
|
16
|
+
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
#require "storazzo/ric_disk/abstract_ric_disk"
|
2
|
+
#require "abstract_ric_disk"
|
3
|
+
|
4
|
+
module Storazzo::Media
|
5
|
+
class Storazzo::Media::LocalFolder < Storazzo::Media::AbstractRicDisk
|
6
|
+
|
7
|
+
attr_accessor :local_mountpoint, :wr
|
8
|
+
|
9
|
+
def initialize(local_mount)
|
10
|
+
puts "[Storazzo::Media::LocalFolder] initialize"
|
11
|
+
|
12
|
+
@local_mountpoint = File.expand_path(local_mount)
|
13
|
+
raise "Sorry local mount doesnt exist!" unless File.exist?(@local_mountpoint)
|
14
|
+
@wr = File.writable?(stats_filename_default_fullpath) # .writeable? stats_file_smart_fullpath
|
15
|
+
|
16
|
+
#super.initialize(local_mount) rescue "SUPER_ERROR: #{$!}"
|
17
|
+
super(local_mount) rescue "SUPER_ERROR: #{$!}"
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.list_all
|
21
|
+
# get lisrts from Config singletone
|
22
|
+
#puts " self.list_all: loading config "
|
23
|
+
config = Storazzo::RicDiskConfig.instance # # ).get_config
|
24
|
+
#puts config['Config']['AdditionalMountDirs']
|
25
|
+
#puts "TODO see config: #{config}"
|
26
|
+
#[42, 43]
|
27
|
+
#deb config.get_local_folders
|
28
|
+
config.get_local_folders
|
29
|
+
end
|
30
|
+
|
31
|
+
def parse(opts={})
|
32
|
+
puts "LF.parse(#{opts}): TODO Sbrodola inside the dir: #{local_mountpoint}"
|
33
|
+
parse_block_storage_folder()
|
34
|
+
end
|
35
|
+
|
36
|
+
def path
|
37
|
+
@local_mountpoint
|
38
|
+
end
|
39
|
+
|
40
|
+
def writeable?
|
41
|
+
File.writable?(@local_mountpoint)
|
42
|
+
end
|
43
|
+
|
44
|
+
def default_stats_filename
|
45
|
+
#'42'
|
46
|
+
Storazzo::RicDiskStatsFile.default_name
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|