~ubuntu-branches/ubuntu/raring/hplip/raring

« back to all changes in this revision

Viewing changes to fax/ledmfax.py

  • Committer: Package Import Robot
  • Author(s): Mark Purcell
  • Date: 2012-10-06 15:03:44 UTC
  • mfrom: (1.6.1) (20.1.16 quantal)
  • Revision ID: package-import@ubuntu.com-20121006150344-2p3xz26br0t3hu2q
Tags: 3.12.10-1
* New upstream release
  - Fixes "Network scanning fails (Closes: #683033)
* quilt refresh hplip-syslog-fix-debug-messages-to-error.dpatch
* Fix "error in clean build env" updated debian/rules (Closes: #687129)

Show diffs side-by-side

added added

removed removed

Lines of Context:
31
31
import threading
32
32
import struct
33
33
import time
34
 
import xml.parsers.expat as expat
 
34
from base.g import *
 
35
try:
 
36
   import xml.parsers.expat as expat
 
37
except ImportError,e:
 
38
   log.info("\n")
 
39
   log.error("Failed to import xml.parsers.expat(%s).\nThis may be due to the incompatible version of python-xml package.\n"%(e))
 
40
   if "undefined symbol" in str(e):
 
41
       log.info(log.blue("Please re-install compatible version (other than 2.7.2-7.14.1) due to bug reported at 'https://bugzilla.novell.com/show_bug.cgi?id=766778'."))
 
42
       log.info(log.blue("\n        Run the following commands in root mode to change the python-xml package.(i.e Installing 2.7.2-7.1.2)"))
 
43
       log.info(log.blue("\n        Using zypper:\n        'zypper remove python-xml'\n        'zypper install python-xml-2.7.2-7.1.2'"))
 
44
       log.info(log.blue("\n        Using apt-get:\n        'apt-get remove python-xml'\n        'apt-get install python-xml-2.7.2-7.1.2'"))
 
45
       log.info(log.blue("\n        Using yum:\n        'yum remove python-xml'\n        'yum install python-xml-2.7.2-7.1.2'"))
 
46
 
 
47
   sys.exit(1)
 
48
 
35
49
from stat import *
36
50
# Local
37
51
from base.g import *
93
107
\r
94
108
%s""" % (url, self.http_host, len(post), post)
95
109
        log.log_data(data)
96
 
        self.writeEWS_LEDM(data)
 
110
        self.writeLEDM(data)
97
111
        response = cStringIO.StringIO()
98
112
 
99
 
        while self.readEWS_LEDM(4096, response, timeout=5):
 
113
        while self.readLEDM(512, response, timeout=5):
100
114
            pass
101
115
 
102
116
        response = response.getvalue()
103
117
        log.log_data(response)
104
 
        self.closeEWS_LEDM()        
 
118
        self.closeLEDM()        
105
119
        
106
120
        match = http_result_pat.match(response)
107
121
        if match is None: return HTTP_OK
385
399
                        data = self.format_http_post("/FaxPCSend/Job",len(createJob),createJob)
386
400
                        log.log_data(data)                        
387
401
 
388
 
                        self.dev.openEWS_LEDM()
389
 
                        self.dev.writeEWS_LEDM(data)
 
402
                        self.dev.openLEDM()
 
403
                        self.dev.writeLEDM(data)
390
404
                        response = cStringIO.StringIO()
391
405
                        try:
392
 
                            while self.dev.readEWS_LEDM(1000, response, timeout=5):
 
406
                            while self.dev.readLEDM(512, response, timeout=5):
393
407
                                pass
394
408
                        except Error:
395
409
                            fax_send_state = FAX_SEND_STATE_ERROR
396
 
                            self.dev.closeEWS_LEDM() 
 
410
                            self.dev.closeLEDM() 
397
411
                            break
398
 
                        self.dev.closeEWS_LEDM()
 
412
                        self.dev.closeLEDM()
399
413
 
400
414
                        response = response.getvalue()
401
415
                        log.log_data(response)                         
463
477
                            xmldata = self.format_http_post(pageConfigURI,len(pageConfig),pageConfig)
464
478
                            log.log_data(xmldata) 
465
479
                           
466
 
                            self.dev.openEWS_LEDM()
 
480
                            self.dev.openLEDM()
467
481
                            try:
468
 
                                self.dev.writeEWS_LEDM(xmldata)
 
482
                                self.dev.writeLEDM(xmldata)
469
483
                            except Error:
470
484
                                fax_send_state = FAX_SEND_STATE_ERROR
471
 
                                self.dev.closeEWS_LEDM() 
 
485
                                self.dev.closeLEDM() 
472
486
                                break
473
487
 
474
488
                            response = cStringIO.StringIO()
475
489
                            try:
476
 
                                while self.dev.readEWS_LEDM(1000, response, timeout=5):
 
490
                                while self.dev.readLEDM(512, response, timeout=5):
477
491
                                    pass
478
492
                            except Error:
479
493
                                fax_send_state = FAX_SEND_STATE_ERROR
480
 
                                self.dev.closeEWS_LEDM()
 
494
                                self.dev.closeLEDM()
481
495
                                break
482
496
 
483
 
                            self.dev.closeEWS_LEDM()
 
497
                            self.dev.closeLEDM()
484
498
                            response = (response.getvalue())
485
499
                            log.log_data(response)
486
500
                            if self.get_error_code(response) != HTTP_ACCEPTED:
511
525
                            
512
526
                            xmldata = self.format_http_post(pageImageURI,len(data),"","application/octet-stream")
513
527
                            log.debug("Sending Page Image XML Data [%s] to the device" %str(xmldata))                           
514
 
                            self.dev.openEWS_LEDM()
515
 
                            self.dev.writeEWS_LEDM(xmldata)
 
528
                            self.dev.openLEDM()
 
529
                            self.dev.writeLEDM(xmldata)
516
530
                            log.debug("Sending Raw Data to printer............")
517
531
                            try:
518
 
                                self.dev.writeEWS_LEDM(data)
 
532
                                self.dev.writeLEDM(data)
519
533
                            except Error:
520
534
                                fax_send_state = FAX_SEND_STATE_ERROR
521
 
                                self.dev.closeEWS_LEDM() 
 
535
                                self.dev.closeLEDM() 
522
536
                                break  
523
537
                              
524
538
                            response = cStringIO.StringIO()
525
539
                            try:
526
 
                                while self.dev.readEWS_LEDM(1000, response, timeout=10):
 
540
                                while self.dev.readLEDM(512, response, timeout=10):
527
541
                                    pass
528
542
                            except Error:
529
543
                                fax_send_state = FAX_SEND_STATE_ERROR
530
 
                                self.dev.closeEWS_LEDM()
 
544
                                self.dev.closeLEDM()
531
545
                                break
532
546
                            
533
 
                            self.dev.closeEWS_LEDM()
 
547
                            self.dev.closeLEDM()
534
548
                            response = response.getvalue()
535
549
                            log.log_data(response)
536
550
    
557
571
                        data = self.format_http_put(jobListURI,len(xmldata),xmldata)
558
572
                        log.log_data(data)
559
573
                        
560
 
                        self.dev.openEWS_LEDM()
561
 
                        self.dev.writeEWS_LEDM(data)
 
574
                        self.dev.openLEDM()
 
575
                        self.dev.writeLEDM(data)
562
576
                        
563
577
                        response = cStringIO.StringIO()
564
578
                        try:
565
 
                            while self.dev.readEWS_LEDM(1000, response, timeout=10):
 
579
                            while self.dev.readLEDM(512, response, timeout=10):
566
580
                                pass
567
581
                        except Error:
568
582
                            fax_send_state = FAX_SEND_STATE_ERROR
569
 
                            self.dev.closeEWS_LEDM()
 
583
                            self.dev.closeLEDM()
570
584
                            break
571
 
                        self.dev.closeEWS_LEDM()
 
585
                        self.dev.closeLEDM()
572
586
                        response = response.getvalue()
573
587
                        log.log_data(response)                  
574
588
 
590
604
 
591
605
                        #time.sleep(1)
592
606
 
593
 
                        self.dev.closeEWS_LEDM()
 
607
                        self.dev.closeLEDM()
594
608
                        self.dev.close()
595
609
 
596
610
                        fax_send_state = FAX_SEND_STATE_DONE # Exit inner state machine
623
637
        
624
638
    def checkForError(self,uri):
625
639
        stream = cStringIO.StringIO()
626
 
        data = status.StatusType10FetchUrl(self.dev,uri)        
 
640
        data = self.dev.FetchLEDMUrl(uri)
627
641
        if not data:
628
642
            log.error("Unable To read the XML data from device")
629
643
            return ""