Handling __str__ and __unicode__ in a Python2/3-agnostic manner.
This commit is contained in:
parent
b3cc67c01f
commit
af9f53eca6
4 changed files with 32 additions and 10 deletions
|
@ -3,6 +3,7 @@ import uuid
|
||||||
import hashlib
|
import hashlib
|
||||||
import json
|
import json
|
||||||
import requests
|
import requests
|
||||||
|
import sys
|
||||||
|
|
||||||
from pyicloud.exceptions import PyiCloudFailedLoginException
|
from pyicloud.exceptions import PyiCloudFailedLoginException
|
||||||
from pyicloud.services import (
|
from pyicloud.services import (
|
||||||
|
@ -118,10 +119,14 @@ class PyiCloudService(object):
|
||||||
return CalendarService(service_root, self.session, self.params)
|
return CalendarService(service_root, self.session, self.params)
|
||||||
|
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return u'iCloud API: %s' % self.user.get('apple_id')
|
return 'iCloud API: %s' % self.user.get('apple_id')
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return unicode(self).encode('ascii', 'ignore')
|
as_unicode = self.__unicode__()
|
||||||
|
if sys.version_info[0] >= 3:
|
||||||
|
return as_unicode
|
||||||
|
else:
|
||||||
|
return as_unicode.encode('ascii', 'ignore')
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return '<%s>' % str(self)
|
return '<%s>' % str(self)
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
import json
|
import json
|
||||||
|
import sys
|
||||||
|
|
||||||
|
import six
|
||||||
|
|
||||||
from pyicloud.exceptions import PyiCloudNoDevicesException
|
from pyicloud.exceptions import PyiCloudNoDevicesException
|
||||||
|
|
||||||
|
@ -62,13 +65,17 @@ class FindMyiPhoneServiceManager(object):
|
||||||
return getattr(self._devices, attr)
|
return getattr(self._devices, attr)
|
||||||
|
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return unicode(self._devices)
|
return six.text_type(self._devices)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return unicode(self).encode('ascii', 'ignore')
|
as_unicode = self.__unicode__()
|
||||||
|
if sys.version_info[0] >= 3:
|
||||||
|
return as_unicode
|
||||||
|
else:
|
||||||
|
return as_unicode.encode('ascii', 'ignore')
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return str(self)
|
return six.text_type(self)
|
||||||
|
|
||||||
|
|
||||||
class AppleDevice(object):
|
class AppleDevice(object):
|
||||||
|
@ -169,13 +176,17 @@ class AppleDevice(object):
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
display_name = self['deviceDisplayName']
|
display_name = self['deviceDisplayName']
|
||||||
name = self['name']
|
name = self['name']
|
||||||
return u'%s: %s' % (
|
return '%s: %s' % (
|
||||||
display_name,
|
display_name,
|
||||||
name,
|
name,
|
||||||
)
|
)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return unicode(self).encode('ascii', 'ignore')
|
as_unicode = self.__unicode__()
|
||||||
|
if sys.version_info[0] >= 3:
|
||||||
|
return as_unicode
|
||||||
|
else:
|
||||||
|
return as_unicode.encode('ascii', 'ignore')
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return '<AppleDevice(%s)>' % str(self)
|
return '<AppleDevice(%s)>' % str(self)
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
class UbiquityService(object):
|
class UbiquityService(object):
|
||||||
|
@ -108,10 +109,14 @@ class UbiquityNode(object):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name.encode('unicode-escape')
|
as_unicode = self.__unicode__()
|
||||||
|
if sys.version_info[0] >= 3:
|
||||||
|
return as_unicode
|
||||||
|
else:
|
||||||
|
return as_unicode.encode('ascii', 'ignore')
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "<%s: u'%s'>" % (
|
return "<%s: '%s'>" % (
|
||||||
self.type.capitalize(),
|
self.type.capitalize(),
|
||||||
str(self)
|
self
|
||||||
)
|
)
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
requests>=1.2
|
requests>=1.2
|
||||||
|
six
|
||||||
|
|
Loading…
Reference in a new issue