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. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4.  
  5. import dbus, sys
  6. from dbus.mainloop.glib import DBusGMainLoop
  7.  
  8. DBusGMainLoop(set_as_default=True)
  9.  
  10. def init():
  11. """
  12. Preconnection instructions
  13. """
  14. global bus
  15. bus = dbus.SystemBus()
  16.  
  17. def get_poisson_vpn():
  18. """
  19. Obtain DBus object for the poisson vpn connection
  20. """
  21. proxy = bus.get_object("org.freedesktop.NetworkManagerUserSettings",
  22. "/org/freedesktop/NetworkManagerSettings")
  23. interface = dbus.Interface(proxy, "org.freedesktop.NetworkManagerSettings")
  24.  
  25. c = None
  26. for connection in interface.ListConnections():
  27. proxy = bus.get_object("org.freedesktop.NetworkManagerUserSettings",
  28. connection)
  29. settings = proxy.GetSettings(dbus_interface="org.freedesktop.NetworkManagerSettings.Connection")
  30. if (settings['connection']['type'] == "vpn" and settings['connection']['id'] == "Poisson"):
  31. c = connection
  32.  
  33. # Check if VPN is already active
  34. proxy = bus.get_object("org.freedesktop.NetworkManager", "/org/freedesktop/NetworkManager")
  35. interface = dbus.Interface(proxy, "org.freedesktop.DBus.Properties")
  36. for connection in interface.Get("org.freedesktop.NetworkManager", "ActiveConnections"):
  37. proxy = bus.get_object("org.freedesktop.NetworkManager", connection)
  38. interface = dbus.Interface(proxy, "org.freedesktop.DBus.Properties")
  39. connection = interface.Get("org.freedesktop.NetworkManager.Connection.Active", "Connection")
  40. if connection == c:
  41. return None
  42. return c
  43.  
  44. def get_base_connection():
  45. """
  46. Obtain active connection
  47. """
  48. proxy = bus.get_object("org.freedesktop.NetworkManager",
  49. "/org/freedesktop/NetworkManager")
  50. interface = dbus.Interface(proxy, "org.freedesktop.DBus.Properties")
  51. active_connections = interface.Get('org.freedesktop.NetworkManager', 'ActiveConnections')
  52.  
  53. for connection in active_connections:
  54. proxy = bus.get_object("org.freedesktop.NetworkManager",
  55. connection)
  56. interface = dbus.Interface(proxy, "org.freedesktop.DBus.Properties")
  57. path = interface.Get('org.freedesktop.NetworkManager.Connection.Active', 'Connection')
  58.  
  59. proxy = bus.get_object('org.freedesktop.NetworkManagerUserSettings',
  60. path)
  61. interface = dbus.Interface(proxy, 'org.freedesktop.NetworkManagerSettings.Connection')
  62. settings = interface.GetSettings()
  63. if settings.has_key("802-11-wireless"):
  64. # PHC-wifi
  65. if settings['802-11-wireless']['seen-bssids'][0] == u'00:0f:cb:aa:16:52':
  66. return connection
  67.  
  68. return None
  69.  
  70.  
  71. def activate_connection(connection):
  72. """
  73. Activate connection
  74. """
  75. proxy = bus.get_object("org.freedesktop.NetworkManager",
  76. "/org/freedesktop/NetworkManager")
  77. interface = dbus.Interface (proxy, "org.freedesktop.NetworkManager")
  78. base_connection = get_base_connection ()
  79. if base_connection is not None:
  80. interface.ActivateConnection('org.freedesktop.NetworkManagerUserSettings',
  81. connection,
  82. dbus.ObjectPath("/"),
  83. base_connection)
  84.  
  85. if __name__ == "__main__":
  86.  
  87. # If you turn vpn donw you probably don't
  88. # want me to fire it up again
  89. if sys.argv[2] == "vpn-down":
  90. sys.exit (0)
  91.  
  92. # If you just tried to attach a VPN, you probably
  93. # don't want another one
  94. if sys.argv[2] == "vpn-up":
  95. sys.exit (0)
  96.  
  97.  
  98. # Preconnection scripts
  99. init ()
  100.  
  101. # Obtain poisson vpn
  102. poisson_vpn = get_poisson_vpn ()
  103.  
  104. # If poisson_vpn is None it means that it
  105. # is already active, so exit now
  106. if (poisson_vpn is None):
  107. sys.exit (0)
  108.  
  109. # Activate connection
  110. activate_connection (poisson_vpn)