Merge pull request #440 from r0fls/isinstance

isinstance -> try/except
This commit is contained in:
Eli Uriegas 2017-02-16 17:19:04 -06:00 committed by GitHub
commit 865506546f

View File

@ -1,4 +1,3 @@
from datetime import datetime
import re import re
import string import string
@ -104,13 +103,19 @@ class Cookie(dict):
def encode(self, encoding): def encode(self, encoding):
output = ['%s=%s' % (self.key, _quote(self.value))] output = ['%s=%s' % (self.key, _quote(self.value))]
for key, value in self.items(): for key, value in self.items():
if key == 'max-age' and isinstance(value, int): if key == 'max-age':
try:
output.append('%s=%d' % (self._keys[key], value)) output.append('%s=%d' % (self._keys[key], value))
elif key == 'expires' and isinstance(value, datetime): except TypeError:
output.append('%s=%s' % (self._keys[key], value))
elif key == 'expires':
try:
output.append('%s=%s' % ( output.append('%s=%s' % (
self._keys[key], self._keys[key],
value.strftime("%a, %d-%b-%Y %T GMT") value.strftime("%a, %d-%b-%Y %T GMT")
)) ))
except AttributeError:
output.append('%s=%s' % (self._keys[key], value))
elif key in self._flags: elif key in self._flags:
if self[key]: if self[key]:
output.append(self._keys[key]) output.append(self._keys[key])