aboutsummaryrefslogtreecommitdiff
path: root/BluetoothPairedDevices.py
diff options
context:
space:
mode:
Diffstat (limited to 'BluetoothPairedDevices.py')
-rw-r--r--BluetoothPairedDevices.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/BluetoothPairedDevices.py b/BluetoothPairedDevices.py
new file mode 100644
index 0000000..d167068
--- /dev/null
+++ b/BluetoothPairedDevices.py
@@ -0,0 +1,40 @@
+#!/usr/bin/python
+
+import sys
+import re
+
+
+def ParrotZikMac():
+ p = re.compile('90:03:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}')
+ if sys.platform == "linux2":
+ out = os.popen("bluez-test-device list").read()
+ res = p.findall(out)
+ if len(res)>0:
+ return res[0]
+
+ elif sys.platform == "darwin":
+ fd = open("/Library/Preferences/com.apple.Bluetooth.plist", "rb")
+ plist = binplist.BinaryPlist(file_obj=fd)
+ parsed_plist = plist.Parse()
+ for mac in parsed_plist['PairedDevices']:
+ if p.match(mac.replace("-",":")):
+ return mac.replace("-",":")
+
+ elif sys.platform == "win32":
+ aReg = _winreg.ConnectRegistry(None,_winreg.HKEY_LOCAL_MACHINE)
+ aKey = _winreg.OpenKey(aReg, 'SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Devices')
+ for i in range(10):
+ try:
+ asubkey_name=_winreg.EnumKey(aKey,i)
+ mac =':'.join(asubkey_name[i:i+2] for i in range(0,12,2))
+ res = self.p.findall(mac)
+ if len(res)>0:
+ return res[0]
+
+ except EnvironmentError:
+ pass
+
+if sys.platform == "darwin":
+ from binplist import binplist
+elif sys.platform == "win32":
+ import _winreg \ No newline at end of file