tcpfiletransfer 0.0.2 → 0.0.3

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
  SHA256:
3
- metadata.gz: e005ed341e7ad32bd25da861e12016086718770546fb67b2dc67d5f35482ba47
4
- data.tar.gz: 6b5cf39b2487f212e312f7d08e50a694b55c19da06a616e05258d62730c613c8
3
+ metadata.gz: 100f377c1c4e71b9b9fcd6ca3f236077c78e036770f99c003f6d8d35e220b84b
4
+ data.tar.gz: c8ce3c868a83dec7c853579cda99c1733f43f5c33ab1d80c25a23b50e15aabcd
5
5
  SHA512:
6
- metadata.gz: cece0bfbbb48a0f5822bd5ae2f40ff1cd3e380b7f9246da76c5397b338e6aa8bbda0c9ed24661ca2595265a53aecdc3767c1be262f7cb50d89360999c81e2293
7
- data.tar.gz: 2c575003511c688ae6bc5d16c661feec4b9bc17b63a5b7c66a9dd205bb065bccb8686df523811ba1bff836396a981b5db845e769afb56239dd3c38602b8cc718
6
+ metadata.gz: bdeaca3253f4325db1140e6602ff295690b7d87bd1373c4c013376748f190cb63ac5e01d26b023dbb8550dae120e243ee92bb1c363592facb094fd6f6d62cd74
7
+ data.tar.gz: c0f28980e0bdb5596db428462cf3da10306c9473f990f4d0dd5eae87d3d8272b9f94a8b60475c2716d1d519c74a40b67751235de9619c4791a82bc1793929870
@@ -1,7 +1,15 @@
1
1
  module FileTransfer
2
2
  module HTTPserver
3
3
  def self.handle_client(initdata, client)
4
- path = initdata[1]
4
+ path = initdata[1].split("/")
5
+ decline = (path[2] == "decline")
6
+ path = ?/ + path[1]
7
+ if decline
8
+ $active_transfers.delete(path)
9
+ client.puts "HTTP/1.0 200\r\nContent-Type: text/plain\r\n\r\nTransfer declined"
10
+ client.close
11
+ return
12
+ end
5
13
  file = $active_transfers[path]
6
14
 
7
15
  read = true
@@ -3,10 +3,27 @@ module FileTransfer
3
3
  def self.file_transfer_notification(filename:, source:, filesize:, accept_link:)
4
4
  notification_title = "Incoming file transfer from #{source}"
5
5
  fileinfo = "Name: #{filename}\nSize: #{filesize}"
6
- links = "Click to accept: #{accept_link}"
7
- notification_body = "#{fileinfo}\n#{links}"
6
+ notification_body = "#{fileinfo}\nWould you like to accept?"
8
7
  notification_command = "notify-send '#{notification_title}' \"#{notification_body}\""
9
- system(notification_command)
8
+ #system(notification_command)
9
+
10
+ x=system("zenity --question --no-wrap --text=\"#{notification_body}\" --title='#{notification_title}'")
11
+ if x
12
+ file_location = `zenity --file-selection --save --filename=#{filename}`
13
+ if file_location == ""
14
+ f=open(accept_link + "/decline")
15
+ f.read
16
+ return
17
+ end
18
+ open(accept_link) do |f|
19
+ File.open(file_location, "wb") do |file|
20
+ file.write(f.read)
21
+ end
22
+ end
23
+ else
24
+ f=open(accept_link + "/decline")
25
+ f.read
26
+ end
10
27
  end
11
28
  end
12
29
  end
data/lib/filetransfer.rb CHANGED
@@ -5,7 +5,7 @@ module FileTransfer
5
5
  @@files = ['server.rb', 'notifier.rb', 'httpserver.rb', 'ftserver.rb']
6
6
 
7
7
  def self.version
8
- "0.0.2"
8
+ "0.0.3"
9
9
  end
10
10
 
11
11
  def self.file_paths(relative:false)
@@ -22,6 +22,7 @@ module FileTransfer
22
22
  end
23
23
 
24
24
  require "socket"
25
+ require "open-uri"
25
26
  FileTransfer.file_paths(relative:true).each do |f|
26
27
  require_relative f
27
28
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tcpfiletransfer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthias Lee