blob: e7b1e49178f30f846b610eb85839e0f9b015acdd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
#!/usr/bin/python
import sys
import re
import os
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()
try :
for mac in parsed_plist['PairedDevices']:
if p.match(mac.replace("-",":")):
return mac.replace("-",":")
except:
pass
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 = 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
|