Class: Sapos::Print::CLI
- Inherits:
-
Thor
- Object
- Thor
- Sapos::Print::CLI
- Defined in:
- lib/sapos/print/cli.rb
Instance Method Summary collapse
Instance Method Details
#print ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/sapos/print/cli.rb', line 76 def print info config = Sapos::Print.config printer_name = [:printer_name] if printer_name.present? if config.printers.any? && config.printers.include?(printer_name) config.printer = printer_name end end puts "Printing to: #{config.printer}" printer = Printer.new(config) printer.print(document: "This is a test\nprint page\nwithno special commands", document_number: "test", print_control: true) end |
#setup ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/sapos/print/cli.rb', line 8 def setup info config = {} url = ask("URL de Configuración: ") if url.eql?('manual') data = {} data["channel"] = ask("Canal:") data["key"] = ask("Llave de la Cola:") else response = RestClient.get(url) data = JSON.parse(response) end config_file = "#{Sapos::Print.app_directory}/config.yml" user_id = nil if File.exist?(config_file) template = ERB.new(File.read(config_file)) result = YAML.load(template.result(binding)) user_id = result[:user_id] end user_id = SecureRandom.uuid if user_id.nil? config[:q] = data["channel"] config[:key] = data["key"] config[:printer] = ask("Nombre de la impresora default: ") config[:adapter] = ask("Adaptador: ", limited_to: ["console", "cups", "windows"]) config[:interface] = ask("Interface", limited_to: ["text", "escp"]) config[:user_id] = user_id config[:duplicate_control] = ask("¿Control Duplicados por MSGID?", limited_to: ["si", "no"]) config[:printers] = [config[:printer]] config[:interfaces] = [config[:interface]] while yes?("¿Tiene impresoras adicionales?") name = ask("Nombre de la impresora adicional: ") interface = ask("Interfaz de la impresora adicional: ", limited_to: ["text", "escp"]) config[:printers] << name config[:interfaces] << interface end if yes?("¿Esta seguro que desea guardar la configuración?") Sapos::Print::Configuration.write(config) ap config say "La configuración ha sido guardada!" end end |
#start ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/sapos/print/cli.rb', line 57 def start info config = Sapos::Print.config puts ["Q=#{config.q.to_s}", "Printer=#{config.printer.to_s}", "Adapter=#{config.adapter.to_s}", "Interface=#{config.interface}", "DC=#{config.duplicate_control?}"].join(";") print_dir = File.join(Sapos::Print.app_directory, 'print') if File.exists?(print_dir) Dir.glob("#{print_dir}/*.print").each do |x| FileUtils.rm_rf(x) if File.ctime(x) < Time.now - 3600 end end config.verbose = [:verbose] Sapos::Print::QReader.printer_config = config Sapos::Print::QReader.verbose = [:verbose] Sapos::Print::QReader.run! end |
#test_q ⇒ Object
118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
# File 'lib/sapos/print/cli.rb', line 118 def test_q config = Sapos::Print.config puts ["Q=#{config.q.to_s}", "Printer=#{config.printer.to_s}", "Adapter=#{config.adapter.to_s}", "Interface=#{config.interface}", "DC=#{config.duplicate_control?}"].join(";") Sapos::Print::QReader.printer_config = config reader = QReader.new puts reader.printer = {:document => "doc", :printer => "Daniel"} ap reader.printers Sapos::Print.config.printers.each do |p| printer = reader.printers[p] puts "Printing to: #{printer.config.printer}" [:document] = "Docu. #{p}" printer.print() end end |
#windows_test_print ⇒ Object
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
# File 'lib/sapos/print/cli.rb', line 91 def windows_test_print info filename = "test.print" dir = File.join(Dir.home,".sapos-print") FileUtils.mkdir_p dir unless File.exists?(dir) dir print_dir = File.join(dir, 'print') FileUtils.mkdir_p print_dir unless File.exists?(print_dir) filename = File.join(print_dir, filename) puts "Test file Path: #{filename}" File.open(filename, 'w'){|f| f.write("Test\nTest\nTest")} puts "Execute COPY Command" command = "COPY "+"'"+filename.gsub("/","\\")+"'"+'"\\\\%COMPUTERNAME%\\'+"TM" if !system(command) puts "ERROR" else puts "OK" end end |