viewgit/index.php:465 Only variables should be passed by reference [2048]

viewgit/index.php:466 Non-static method GeSHi::get_language_name_from_extension() should not be called statically [2048]

  1. ## Some useful function to help DrPrint to
  2. # -*- coding: utf-8 -*-
  3.  
  4. import paramiko, gobject
  5.  
  6. class Backend(gobject.GObject):
  7.  
  8. def __init__(self):
  9. super(Backend, self).__init__()
  10.  
  11. gobject.signal_new("auth_failed", Backend, gobject.SIGNAL_RUN_FIRST, None, ())
  12. gobject.signal_new('io_error', Backend, gobject.SIGNAL_RUN_FIRST, None, ())
  13.  
  14. def send_print(self, printer, username, password, page_per_page, filename, page_range, copies, orientation, sides):
  15. # Get printer name
  16. print "Selected printer: %s" % printer
  17.  
  18. # Get connection
  19. client = paramiko.SSHClient()
  20. client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  21.  
  22. try:
  23. client.connect('ssh.dm.unipi.it',
  24. port=22,
  25. username=username,
  26. password=password)
  27. except paramiko.AuthenticationException, e:
  28. self.emit('auth_failed')
  29. return
  30.  
  31. channel = client.get_transport().open_session()
  32.  
  33. print "Printing %s" % filename
  34.  
  35. try:
  36. f = open(filename, 'r')
  37. except IOError:
  38. self.emit('io_error')
  39. return
  40.  
  41. # Questo è inevitabile.. :)
  42. cmd = "lpr -P%s " % printer
  43.  
  44. # Nunmero di pagine
  45. if copies.isdigit():
  46. cmd = cmd + "-# %s " % copies
  47.  
  48.  
  49. cmd_opts = ""
  50.  
  51. ## Pagine logiche per pagine
  52. if not page_per_page == 1:
  53. cmd_opts += "-o number-up=%s " % str(page_per_page)
  54.  
  55. ## Da a
  56. if not page_range == None:
  57. cmd_opts += "-o page-ranges=%s " % page_range
  58.  
  59. ## Orientazione (se è vuoto è verticale)
  60. if not orientation == "":
  61. cmd_opts += "-o %s " % orientation
  62.  
  63. ## Long edge, short edge ed amici vari
  64. cmd_opts += "-o sides=%s " % sides
  65.  
  66. ## Se ci sono opzioni dai il -o e specificale
  67. if not cmd_opts == "":
  68. cmd = cmd + "%s" % cmd_opts
  69.  
  70.  
  71. ## Diamo il comando sul canale e infiliamo il file
  72. ## dentro lo stdin :)
  73. print "Eseguo %s" % cmd
  74.  
  75. channel.exec_command(cmd)
  76. try:
  77. content = f.read()
  78. except IOError:
  79. self.emit('io_error')
  80. return
  81.  
  82. try:
  83. channel.sendall( content )
  84. except socket.timeout, socket.error:
  85. self.emit('io_error')
  86. return
  87. f.close()
  88. channel.close()
  89.  
  90. print "Printed %s on %s" % (filename, printer)