PageRenderTime 70ms CodeModel.GetById 8ms RepoModel.GetById 1ms app.codeStats 0ms

/boto-2.5.2/boto/s3/user.py

#
Python | 49 lines | 28 code | 1 blank | 20 comment | 0 complexity | 6dda5903557933a011438c901103c97d MD5 | raw file
  1. # Copyright (c) 2006,2007 Mitch Garnaat http://garnaat.org/
  2. #
  3. # Permission is hereby granted, free of charge, to any person obtaining a
  4. # copy of this software and associated documentation files (the
  5. # "Software"), to deal in the Software without restriction, including
  6. # without limitation the rights to use, copy, modify, merge, publish, dis-
  7. # tribute, sublicense, and/or sell copies of the Software, and to permit
  8. # persons to whom the Software is furnished to do so, subject to the fol-
  9. # lowing conditions:
  10. #
  11. # The above copyright notice and this permission notice shall be included
  12. # in all copies or substantial portions of the Software.
  13. #
  14. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  15. # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
  16. # ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
  17. # SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  18. # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  19. # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
  20. # IN THE SOFTWARE.
  21. class User:
  22. def __init__(self, parent=None, id='', display_name=''):
  23. if parent:
  24. parent.owner = self
  25. self.type = None
  26. self.id = id
  27. self.display_name = display_name
  28. def startElement(self, name, attrs, connection):
  29. return None
  30. def endElement(self, name, value, connection):
  31. if name == 'DisplayName':
  32. self.display_name = value
  33. elif name == 'ID':
  34. self.id = value
  35. else:
  36. setattr(self, name, value)
  37. def to_xml(self, element_name='Owner'):
  38. if self.type:
  39. s = '<%s xsi:type="%s">' % (element_name, self.type)
  40. else:
  41. s = '<%s>' % element_name
  42. s += '<ID>%s</ID>' % self.id
  43. s += '<DisplayName>%s</DisplayName>' % self.display_name
  44. s += '</%s>' % element_name
  45. return s