Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1332)

Unified Diff: third_party/gsutil/20110627/boto/boto/route53/record.py

Issue 10199002: Upgrade gsutil to 3.4 (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Addressed comments Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/gsutil/20110627/boto/boto/route53/record.py
diff --git a/third_party/gsutil/20110627/boto/boto/route53/record.py b/third_party/gsutil/20110627/boto/boto/route53/record.py
deleted file mode 100644
index 6e91a83a1e8ae777559743b69b42fd18a49bb7f7..0000000000000000000000000000000000000000
--- a/third_party/gsutil/20110627/boto/boto/route53/record.py
+++ /dev/null
@@ -1,188 +0,0 @@
-# Copyright (c) 2010 Chris Moyer http://coredumped.org/
-# All rights reserved.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish, dis-
-# tribute, sublicense, and/or sell copies of the Software, and to permit
-# persons to whom the Software is furnished to do so, subject to the fol-
-# lowing conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
-# ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
-# SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-# IN THE SOFTWARE.
-
-RECORD_TYPES = ['A', 'AAAA', 'TXT', 'CNAME', 'MX', 'PTR', 'SRV', 'SPF']
-
-from boto.resultset import ResultSet
-class ResourceRecordSets(ResultSet):
-
- ChangeResourceRecordSetsBody = """<?xml version="1.0" encoding="UTF-8"?>
- <ChangeResourceRecordSetsRequest xmlns="https://route53.amazonaws.com/doc/2011-05-05/">
- <ChangeBatch>
- <Comment>%(comment)s</Comment>
- <Changes>%(changes)s</Changes>
- </ChangeBatch>
- </ChangeResourceRecordSetsRequest>"""
-
- ChangeXML = """<Change>
- <Action>%(action)s</Action>
- %(record)s
- </Change>"""
-
-
- def __init__(self, connection=None, hosted_zone_id=None, comment=None):
- self.connection = connection
- self.hosted_zone_id = hosted_zone_id
- self.comment = comment
- self.changes = []
- self.next_record_name = None
- self.next_record_type = None
- ResultSet.__init__(self, [('ResourceRecordSet', Record)])
-
- def __repr__(self):
- return '<ResourceRecordSets: %s>' % self.hosted_zone_id
-
- def add_change(self, action, name, type, ttl=600, alias_hosted_zone_id=None, alias_dns_name=None):
- """Add a change request"""
- change = Record(name, type, ttl, alias_hosted_zone_id=alias_hosted_zone_id, alias_dns_name=alias_dns_name)
- self.changes.append([action, change])
- return change
-
- def to_xml(self):
- """Convert this ResourceRecordSet into XML
- to be saved via the ChangeResourceRecordSetsRequest"""
- changesXML = ""
- for change in self.changes:
- changeParams = {"action": change[0], "record": change[1].to_xml()}
- changesXML += self.ChangeXML % changeParams
- params = {"comment": self.comment, "changes": changesXML}
- return self.ChangeResourceRecordSetsBody % params
-
- def commit(self):
- """Commit this change"""
- if not self.connection:
- import boto
- self.connection = boto.connect_route53()
- return self.connection.change_rrsets(self.hosted_zone_id, self.to_xml())
-
- def endElement(self, name, value, connection):
- """Overwritten to also add the NextRecordName and
- NextRecordType to the base object"""
- if name == 'NextRecordName':
- self.next_record_name = value
- elif name == 'NextRecordType':
- self.next_record_type = value
- else:
- return ResultSet.endElement(self, name, value, connection)
-
- def __iter__(self):
- """Override the next function to support paging"""
- results = ResultSet.__iter__(self)
- while results:
- for obj in results:
- yield obj
- if self.is_truncated:
- self.is_truncated = False
- results = self.connection.get_all_rrsets(self.hosted_zone_id, name=self.next_record_name, type=self.next_record_type)
- else:
- results = None
-
-
-
-class Record(object):
- """An individual ResourceRecordSet"""
-
- XMLBody = """<ResourceRecordSet>
- <Name>%(name)s</Name>
- <Type>%(type)s</Type>
- %(body)s
- </ResourceRecordSet>"""
-
- ResourceRecordsBody = """
- <TTL>%(ttl)s</TTL>
- <ResourceRecords>
- %(records)s
- </ResourceRecords>"""
-
- ResourceRecordBody = """<ResourceRecord>
- <Value>%s</Value>
- </ResourceRecord>"""
-
- AliasBody = """<AliasTarget>
- <HostedZoneId>%s</HostedZoneId>
- <DNSName>%s</DNSName>
- </AliasTarget>"""
-
- def __init__(self, name=None, type=None, ttl=600, resource_records=None, alias_hosted_zone_id=None, alias_dns_name=None):
- self.name = name
- self.type = type
- self.ttl = ttl
- if resource_records == None:
- resource_records = []
- self.resource_records = resource_records
- self.alias_hosted_zone_id = alias_hosted_zone_id
- self.alias_dns_name = alias_dns_name
-
- def add_value(self, value):
- """Add a resource record value"""
- self.resource_records.append(value)
-
- def set_alias(self, alias_hosted_zone_id, alias_dns_name):
- """Make this an alias resource record set"""
- self.alias_hosted_zone_id = alias_hosted_zone_id
- self.alias_dns_name = alias_dns_name
-
- def to_xml(self):
- """Spit this resource record set out as XML"""
- if self.alias_hosted_zone_id != None and self.alias_dns_name != None:
- # Use alias
- body = self.AliasBody % (self.alias_hosted_zone_id, self.alias_dns_name)
- else:
- # Use resource record(s)
- records = ""
- for r in self.resource_records:
- records += self.ResourceRecordBody % r
- body = self.ResourceRecordsBody % {
- "ttl": self.ttl,
- "records": records,
- }
- params = {
- "name": self.name,
- "type": self.type,
- "body": body,
- }
- return self.XMLBody % params
-
- def to_print(self):
- if self.alias_hosted_zone_id != None and self.alias_dns_name != None:
- # Show alias
- return 'ALIAS ' + self.alias_hosted_zone_id + ' ' + self.alias_dns_name
- else:
- # Show resource record(s)
- return ",".join(self.resource_records)
-
- def endElement(self, name, value, connection):
- if name == 'Name':
- self.name = value
- elif name == 'Type':
- self.type = value
- elif name == 'TTL':
- self.ttl = value
- elif name == 'Value':
- self.resource_records.append(value)
- elif name == 'HostedZoneId':
- self.alias_hosted_zone_id = value
- elif name == 'DNSName':
- self.alias_dns_name = value
-
- def startElement(self, name, attrs, connection):
- return None
« no previous file with comments | « third_party/gsutil/20110627/boto/boto/route53/hostedzone.py ('k') | third_party/gsutil/20110627/boto/boto/s3/__init__.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698