diff options
author | Лена <lena@Lena-macbook.local> | 2013-12-13 02:46:17 +0600 |
---|---|---|
committer | Лена <lena@Lena-macbook.local> | 2013-12-13 02:46:17 +0600 |
commit | 44dcd4e9a5b717d1791e3ba989f180c67b914aef (patch) | |
tree | e80da0987949194bbd2f8b3df71cd3989b0d397f /BluetoothPairedDevices.py | |
parent | 4325ee398097af85cd5660e2150472acc26c6ef0 (diff) | |
download | pyParrotZikTCP-44dcd4e9a5b717d1791e3ba989f180c67b914aef.tar.xz pyParrotZikTCP-44dcd4e9a5b717d1791e3ba989f180c67b914aef.zip |
Parrot Zik mac address search moved to separate file; Initial mac os x support
Diffstat (limited to '')
-rw-r--r-- | BluetoothPairedDevices.py | 40 |
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 |