Admin compatibility for changes in Django >= 1.1.
[htsworkflow.git] / htsworkflow / frontend / bcmagic / utils.py
index 5ee81a95401c485ebe815af2127ea651bf0378f7..ee35268dbc85d4156c19f6903130a3427d761aa6 100644 (file)
@@ -1,4 +1,30 @@
+from htsworkflow.frontend import settings
 
+import ftplib
+import socket
+import StringIO
+
+
+def print_zpl(zpl_text, host=settings.BCPRINTER_PRINTER1_HOST):
+    """
+    Sends zpl_text to printer
+    """
+    ftp = ftplib.FTP(host=host, user='blank', passwd='')
+    ftp.login()
+    ftp.storlines("STOR printme.txt", StringIO.StringIO(zpl_text))
+    ftp.quit()
+    
+
+def print_zpl_socket(zpl_text, host=settings.BCPRINTER_PRINTER1_HOST, port=settings.BCPRINTER_PRINTER1_PORT):
+    """
+    Sends zpl_text to printer via a socket
+    """
+    s = socket.socket()
+    # PORT 9100 is default for Zebra tabletop/desktop printers
+    # PORT 6101 is default for Zebra mobile printers
+    s.connect((host, port))
+    s.sendall(zpl_text)
+    s.close()
 
 def report_error(message):
     """