mpw 2.0.3 → 3.0.0

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.
data/lib/mpw/sync/ftp.rb CHANGED
@@ -1,81 +1,68 @@
1
1
  #!/usr/bin/ruby
2
- # author: nishiki
3
- # mail: nishiki@yaegashi.fr
2
+ # MPW is a software to crypt and manage your passwords
3
+ # Copyright (C) 2016 Adrien Waksberg <mpw@yae.im>
4
+ #
5
+ # This program is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU General Public License
7
+ # as published by the Free Software Foundation; either version 2
8
+ # of the License, or (at your option) any later version.
9
+ #
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ # GNU General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU General Public License
16
+ # along with this program; if not, write to the Free Software
17
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
4
18
 
5
- require 'rubygems'
6
19
  require 'i18n'
7
20
  require 'net/ftp'
8
21
 
9
22
  module MPW
10
- class FTP
11
-
12
- attr_accessor :error_msg
13
- attr_accessor :enable
14
-
15
- # Constructor
16
- # @args: host -> the server host
17
- # port -> ther connection port
18
- # gpg_key -> the gpg key
19
- # password -> the remote password
20
- # suffix -> the suffix file
21
- def initialize(host, user, password, path, port=nil)
22
- @error_msg = nil
23
- @enable = false
23
+ class FTP
24
24
 
25
- @host = host
26
- @user = user
27
- @password = password
28
- @path = path
29
- @port = port.instance_of?(Integer) ? 21 : port
30
- end
31
-
32
- # Connect to server
33
- # @rtrn: false if the connection fail
34
- def connect
35
- Net::FTP.open(@host) do |ftp|
36
- ftp.login(@user, @password)
37
- @enable = true
38
- end
39
- rescue Exception => e
40
- @error_msg = "#{I18n.t('error.sync.connection')}\n#{e}"
41
- @enable = false
42
- else
43
- return @enable
44
- end
45
-
46
- # Get data on server
47
- # @args: gpg_password -> the gpg password
48
- # @rtrn: nil if nothing data or error
49
- def get(file_tmp)
50
- return false if not @enable
51
-
52
- Net::FTP.open(@host) do |ftp|
53
- ftp.login(@user, @password)
54
- ftp.gettextfile(@path, file_tmp)
55
- end
56
-
57
- return true
58
- rescue Exception => e
59
- @error_msg = "#{I18n.t('error.sync.download')}\n#{e}"
60
- return false
25
+ # Constructor
26
+ # @args: config -> the config
27
+ def initialize(config)
28
+ @host = config['host']
29
+ @user = config['user']
30
+ @password = config['password']
31
+ @path = config['path']
32
+ @port = config['port'].instance_of?(Integer) ? 22 : config['port']
33
+ end
34
+
35
+
36
+ # Connect to server
37
+ def connect
38
+ Net::FTP.open(@host) do |ftp|
39
+ ftp.login(@user, @password)
40
+ break
61
41
  end
62
-
63
- # Update the remote data
64
- # @args: data -> the data to send on server
65
- # @rtrn: false if there is a problem
66
- def update(file_gpg)
67
- return true if not @enable
68
-
69
- Net::FTP.open(@host) do |ftp|
70
- ftp.login(@user, @password)
71
- ftp.puttextfile(file_gpg, @path)
72
- end
42
+ rescue Exception => e
43
+ raise "#{I18n.t('error.sync.connection')}\n#{e}"
44
+ end
73
45
 
74
- return true
75
- rescue Exception => e
76
- @error_msg = "#{I18n.t('error.sync.upload')}\n#{e}"
77
- return false
46
+ # Get data on server
47
+ # @args: file_tmp -> the path where download the file
48
+ def get(file_tmp)
49
+ Net::FTP.open(@host) do |ftp|
50
+ ftp.login(@user, @password)
51
+ ftp.gettextfile(@path, file_tmp)
78
52
  end
53
+ rescue Exception => e
54
+ raise "#{I18n.t('error.sync.download')}\n#{e}"
55
+ end
79
56
 
57
+ # Update the remote data
58
+ # @args: file_gpg -> the data to send on server
59
+ def update(file_gpg)
60
+ Net::FTP.open(@host) do |ftp|
61
+ ftp.login(@user, @password)
62
+ ftp.puttextfile(file_gpg, @path)
63
+ end
64
+ rescue Exception => e
65
+ raise "#{I18n.t('error.sync.upload')}\n#{e}"
80
66
  end
81
67
  end
68
+ end
data/lib/mpw/sync/ssh.rb CHANGED
@@ -1,80 +1,67 @@
1
1
  #!/usr/bin/ruby
2
- # author: nishiki
3
- # mail: nishiki@yaegashi.fr
2
+ # MPW is a software to crypt and manage your passwords
3
+ # Copyright (C) 2016 Adrien Waksberg <mpw@yae.im>
4
+ #
5
+ # This program is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU General Public License
7
+ # as published by the Free Software Foundation; either version 2
8
+ # of the License, or (at your option) any later version.
9
+ #
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ # GNU General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU General Public License
16
+ # along with this program; if not, write to the Free Software
17
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
4
18
 
5
- require 'rubygems'
6
19
  require 'i18n'
7
20
  require 'net/ssh'
8
21
  require 'net/sftp'
9
22
 
10
23
  module MPW
11
- class SyncSSH
12
-
13
- attr_accessor :error_msg
14
- attr_accessor :enable
15
-
16
- # Constructor
17
- # @args: host -> the server host
18
- # port -> ther connection port
19
- # gpg_key -> the gpg key
20
- # password -> the remote password
21
- def initialize(host, user, password, path, port=nil)
22
- @error_msg = nil
23
- @enable = false
24
+ class SyncSSH
24
25
 
25
- @host = host
26
- @user = user
27
- @password = password
28
- @path = path
29
- @port = port.instance_of?(Integer) ? 22 : port
30
- end
31
-
32
- # Connect to server
33
- # @rtrn: false if the connection fail
34
- def connect
35
- Net::SSH.start(@host, @user, password: @password, port: @port) do |ssh|
36
- @enable = true
37
- end
38
- rescue Exception => e
39
- @error_msg = "#{I18n.t('error.sync.connection')}\n#{e}"
40
- @enable = false
41
- else
42
- return @enable
43
- end
44
-
45
- # Get data on server
46
- # @args: gpg_password -> the gpg password
47
- # @rtrn: nil if nothing data or error
48
- def get(file_tmp)
49
- return false if not @enable
50
-
51
- Net::SFTP.start(@host, @user, password: @password, port: @port) do |sftp|
52
- sftp.lstat(@path) do |response|
53
- sftp.download!(@path, file_tmp) if response.ok?
54
- end
55
- end
26
+ # Constructor
27
+ # @args: config -> the config
28
+ def initialize(config)
29
+ @host = config['host']
30
+ @user = config['user']
31
+ @password = config['password']
32
+ @path = config['path']
33
+ @port = config['port'].instance_of?(Integer) ? 22 : config['port']
34
+ end
56
35
 
57
- return true
58
- rescue Exception => e
59
- @error_msg = "#{I18n.t('error.sync.download')}\n#{e}"
60
- return false
36
+ # Connect to server
37
+ def connect
38
+ Net::SSH.start(@host, @user, password: @password, port: @port) do
39
+ break
61
40
  end
62
-
63
- # Update the remote data
64
- # @args: file_gpg -> the data to send on server
65
- # @rtrn: false if there is a problem
66
- def update(file_gpg)
67
- return true if not @enable
68
-
69
- Net::SFTP.start(@host, @user, password: @password, port: @port) do |sftp|
70
- sftp.upload!(file_gpg, @path)
71
- end
41
+ rescue Exception => e
42
+ raise "#{I18n.t('error.sync.connection')}\n#{e}"
43
+ end
72
44
 
73
- return true
74
- rescue Exception => e
75
- @error_msg = "#{I18n.t('error.sync.upload')}\n#{e}"
76
- return false
45
+ # Get data on server
46
+ # @args: file_tmp -> the path where download the file
47
+ def get(file_tmp)
48
+ Net::SFTP.start(@host, @user, password: @password, port: @port) do |sftp|
49
+ sftp.lstat(@path) do |response|
50
+ sftp.download!(@path, file_tmp) if response.ok?
51
+ end
77
52
  end
53
+ rescue Exception => e
54
+ raise "#{I18n.t('error.sync.download')}\n#{e}"
55
+ end
78
56
 
57
+ # Update the remote data
58
+ # @args: file_gpg -> the data to send on server
59
+ def update(file_gpg)
60
+ Net::SFTP.start(@host, @user, password: @password, port: @port) do |sftp|
61
+ sftp.upload!(file_gpg, @path)
62
+ end
63
+ rescue Exception => e
64
+ raise "#{I18n.t('error.sync.upload')}\n#{e}"
79
65
  end
80
66
  end
67
+ end