sapos-print 1.0.0 → 1.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 384234557dbd5bbb4d34a176bff5b7380aa504fdfc386bb85152a707877ed9e2
4
- data.tar.gz: 3032008fbab84616cc3cab20e99020f5fafdbadfec367903147fbb56067c042c
3
+ metadata.gz: d6635ef6ea96bf6f72ecf099879f34c8191c0e06e6429d1ea4dcb1e490a60c2b
4
+ data.tar.gz: '0909b924874d5b092083739f5fc336f6040673c4d17718505b183718aa701a1b'
5
5
  SHA512:
6
- metadata.gz: 24faed91618fc8dbeea8e2cb72397ef811e6edf43553e2670da63ec822df6e97c99ddda2c038fede60cbb1a849a2ad11494a49771c5b674bd90cd2c238cfce60
7
- data.tar.gz: 4bd1addf3406a81a578548ee0ac4f3c4a10be72a3235ce17bdb203829aa6e06f4b74dfa1e9afb22e90c86a8892fff1b5e6ce8b168c657f0341c67f38cd642cc8
6
+ metadata.gz: 5ad0112d75de5b767527fb5f688caca88d01f13c39711973ee7457c9617d1f2bff4f8183e8a5ba56d1314108300537db4b430065525305fc7bdec5f6ac3f57aa
7
+ data.tar.gz: eef7bfe1a87fbe3bbe4bd74470f03bea5c94570f0df58cb1177269801b1d79f2f7f9c1b2ef9abf5b0b88d1ad0471c1327b12e292d978fa002f0374bcd06ffcad
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sapos-print (1.0.0)
4
+ sapos-print (1.0.1)
5
5
  activesupport
6
6
  awesome_print
7
7
  json
@@ -32,6 +32,11 @@ module Sapos
32
32
  config = Sapos::Print.config
33
33
  puts ["Q=#{config.q.to_s}", "Printer=#{config.printer.to_s}", "Adapter=#{config.adapter.to_s}", "Interface=#{config.interface}"].join("\n")
34
34
 
35
+ print_dir = File.join(Sapos::Print.app_directory, 'print')
36
+ if File.exists?(print_dir)
37
+ FileUtils.rm_rf Dir.glob("#{print_dir}/*")
38
+ end
39
+
35
40
  Sapos::Print::QReader.printer_config = config
36
41
  Sapos::Print::QReader.verbose = options[:verbose]
37
42
  Sapos::Print::QReader.run!
@@ -2,26 +2,47 @@ module Sapos
2
2
  module Print
3
3
  class Printer
4
4
 
5
+
5
6
  def initialize(config)
6
7
  @config = config
7
8
  end
8
9
 
9
- def print(raw_message)
10
- puts "Print =>"
11
- filename = SecureRandom.hex
10
+ def print(args = {})
11
+ raw_message = args[:document]
12
+
13
+ log_text = "Print #{args[:document_number]},#{args[:print_control]}"
14
+ filename = "#{args[:document_number]}.print" if args[:document_number]
15
+ filename = SecureRandom.hex if filename.nil?
12
16
  result = false
13
17
  raw = raw_message.force_encoding("UTF-8")
14
18
  begin
15
- printable = data(raw_message)
16
- File.open(filename, 'w'){|f| f.write(printable)}
17
- result = send_to_printer({file: filename})
18
- puts "Result: #{result}"
19
+ if args[:print_control] && args[:document_number]
20
+ print_dir = File.join(Sapos::Print.app_directory, 'print')
21
+ FileUtils.mkdir_p print_dir unless File.exists?(print_dir)
22
+
23
+ filename = File.join(print_dir, filename)
24
+ if !File.exists?(filename)
25
+ printable = data(raw_message)
26
+ File.open(filename, 'w'){|f| f.write(printable)}
27
+ result = send_to_printer({file: filename})
28
+ #puts "Result: #{result}"
29
+ log_text += " => OK"
30
+ end
31
+ else
32
+ printable = data(raw_message)
33
+ File.open(filename, 'w'){|f| f.write(printable)}
34
+ result = send_to_printer({file: filename})
35
+ File.delete(filename) if File.exists?(filename)
36
+ #puts "Result: #{result}"
37
+ log_text += " => OK"
38
+ end
39
+ puts log_text
19
40
  rescue => e
20
41
  puts "#{e.message}"
21
42
  self.errors = e.message
22
43
  result = false
23
44
  ensure
24
- File.delete(filename) if File.exists?(filename)
45
+ #File.delete(filename) if File.exists?(filename)
25
46
  return result
26
47
  end
27
48
 
@@ -14,7 +14,10 @@ module Sapos
14
14
  callback = Pubnub::SubscribeCallback.new(
15
15
  message: -> (envelope){
16
16
  document = Base64.decode64(envelope.result[:data][:message]['document'])
17
- if reader.printer.print(document)
17
+ print_control = envelope.result[:data][:message]['print_control']
18
+ document_number = envelope.result[:data][:message]['document_number']
19
+
20
+ if reader.printer.print(document: document, print_control: print_control, document_number: document_number)
18
21
  puts "OK"
19
22
  else
20
23
  puts "Printer Error".red
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Sapos
4
4
  module Print
5
- VERSION = "1.0.0"
5
+ VERSION = "1.0.1"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sapos-print
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josef Sauter
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-12-08 00:00:00.000000000 Z
11
+ date: 2021-12-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -138,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
138
138
  - !ruby/object:Gem::Version
139
139
  version: '0'
140
140
  requirements: []
141
- rubygems_version: 3.1.4
141
+ rubygems_version: 3.2.3
142
142
  signing_key:
143
143
  specification_version: 4
144
144
  summary: SAPOSCLOUD PRINT