Sideband/sbapp/plyer/facades/uniqueid.py

55 lines
1006 B
Python

'''UniqueID facade.
Returns the following depending on the platform:
* **Android**: Android ID
* **OS X**: Serial number of the device
* **Linux**: Serial number using lshw
* **Windows**: MachineGUID from regkey
* **iOS**: UUID
Simple Example
--------------
To get the unique ID::
>>> from plyer import uniqueid
>>> uniqueid.id
'1b1a7a4958e2a845'
.. versionadded:: 1.2.0
.. versionchanged:: 1.2.4
On Android returns Android ID instead of IMEI.
Supported Platforms
-------------------
Android, iOS, Windows, OS X, Linux
'''
class UniqueID:
'''
UniqueID facade.
'''
@property
def id(self):
'''
Property that returns the unique id of the platform.
'''
return self.get_uid()
def get_uid(self):
'''
Public method for receiving unique ID via platform-specific
API in plyer.platforms.
'''
return self._get_uid()
# private
def _get_uid(self):
raise NotImplementedError()