Skip to content

Commit 87b9bf3

Browse files
committed
Removing _PropertyMixin.properties public property.
The blob/bucket metadata was never actually accessed via the public properties `properties`.
1 parent 027bfdf commit 87b9bf3

File tree

6 files changed

+33
-54
lines changed

6 files changed

+33
-54
lines changed

gcloud/storage/_helpers.py

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,6 @@ def __init__(self, name=None):
4949
self._properties = {}
5050
self._changes = set()
5151

52-
@property
53-
def properties(self):
54-
"""Return a copy of properties.
55-
56-
:rtype: dict
57-
:returns: Copy of properties.
58-
"""
59-
return self._properties.copy()
60-
6152
@property
6253
def batch(self):
6354
"""Return a context manager which defers/batches updates.
@@ -155,7 +146,7 @@ def _scalar_property(fieldname):
155146
"""
156147
def _getter(self):
157148
"""Scalar property getter."""
158-
return self.properties[fieldname]
149+
return self._properties[fieldname]
159150

160151
def _setter(self, value):
161152
"""Scalar property setter."""

gcloud/storage/blob.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ def download_to_filename(self, filename):
253253

254254
mtime = time.mktime(
255255
datetime.datetime.strptime(
256-
self.properties['updated'],
256+
self._properties['updated'],
257257
'%Y-%m-%dT%H:%M:%S.%fz').timetuple()
258258
)
259259
os.utime(file_obj.name, (mtime, mtime))
@@ -492,7 +492,7 @@ def component_count(self):
492492
493493
:rtype: integer
494494
"""
495-
return self.properties['componentCount']
495+
return self._properties['componentCount']
496496

497497
@property
498498
def etag(self):
@@ -503,7 +503,7 @@ def etag(self):
503503
504504
:rtype: string
505505
"""
506-
return self.properties['etag']
506+
return self._properties['etag']
507507

508508
@property
509509
def generation(self):
@@ -513,7 +513,7 @@ def generation(self):
513513
514514
:rtype: integer
515515
"""
516-
return self.properties['generation']
516+
return self._properties['generation']
517517

518518
@property
519519
def id(self):
@@ -523,7 +523,7 @@ def id(self):
523523
524524
:rtype: string
525525
"""
526-
return self.properties['id']
526+
return self._properties['id']
527527

528528
md5_hash = _scalar_property('md5Hash')
529529
"""MD5 hash for this object.
@@ -542,7 +542,7 @@ def media_link(self):
542542
543543
:rtype: string
544544
"""
545-
return self.properties['mediaLink']
545+
return self._properties['mediaLink']
546546

547547
@property
548548
def metadata(self):
@@ -552,7 +552,7 @@ def metadata(self):
552552
553553
:rtype: dict
554554
"""
555-
return copy.deepcopy(self.properties['metadata'])
555+
return copy.deepcopy(self._properties['metadata'])
556556

557557
@metadata.setter
558558
def metadata(self, value):
@@ -572,7 +572,7 @@ def metageneration(self):
572572
573573
:rtype: integer
574574
"""
575-
return self.properties['metageneration']
575+
return self._properties['metageneration']
576576

577577
@property
578578
def owner(self):
@@ -583,7 +583,7 @@ def owner(self):
583583
:rtype: dict
584584
:returns: mapping of owner's role/ID.
585585
"""
586-
return self.properties['owner'].copy()
586+
return self._properties['owner'].copy()
587587

588588
@property
589589
def self_link(self):
@@ -593,7 +593,7 @@ def self_link(self):
593593
594594
:rtype: string
595595
"""
596-
return self.properties['selfLink']
596+
return self._properties['selfLink']
597597

598598
@property
599599
def size(self):
@@ -603,7 +603,7 @@ def size(self):
603603
604604
:rtype: integer
605605
"""
606-
return self.properties['size']
606+
return self._properties['size']
607607

608608
@property
609609
def storage_class(self):
@@ -615,7 +615,7 @@ def storage_class(self):
615615
:rtype: string
616616
:returns: Currently one of "STANDARD", "DURABLE_REDUCED_AVAILABILITY"
617617
"""
618-
return self.properties['storageClass']
618+
return self._properties['storageClass']
619619

620620
@property
621621
def time_deleted(self):
@@ -627,7 +627,7 @@ def time_deleted(self):
627627
:returns: timestamp in RFC 3339 format, or None if the object
628628
has a "live" version.
629629
"""
630-
return self.properties.get('timeDeleted')
630+
return self._properties.get('timeDeleted')
631631

632632
@property
633633
def updated(self):
@@ -638,7 +638,7 @@ def updated(self):
638638
:rtype: string
639639
:returns: timestamp in RFC 3339 format.
640640
"""
641-
return self.properties['updated']
641+
return self._properties['updated']
642642

643643

644644
class _UploadConfig(object):

gcloud/storage/bucket.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -465,7 +465,7 @@ def get_cors(self):
465465
:rtype: list(dict)
466466
:returns: A sequence of mappings describing each CORS policy.
467467
"""
468-
return [policy.copy() for policy in self.properties.get('cors', ())]
468+
return [policy.copy() for policy in self._properties.get('cors', ())]
469469

470470
def update_cors(self, entries):
471471
"""Update CORS policies configured for this bucket.
@@ -501,7 +501,7 @@ def etag(self):
501501
502502
:rtype: string
503503
"""
504-
return self.properties['etag']
504+
return self._properties['etag']
505505

506506
@property
507507
def id(self):
@@ -511,7 +511,7 @@ def id(self):
511511
512512
:rtype: string
513513
"""
514-
return self.properties['id']
514+
return self._properties['id']
515515

516516
def get_lifecycle(self):
517517
"""Retrieve lifecycle rules configured for this bucket.
@@ -522,7 +522,7 @@ def get_lifecycle(self):
522522
:rtype: list(dict)
523523
:returns: A sequence of mappings describing each lifecycle rule.
524524
"""
525-
info = self.properties.get('lifecycle', {})
525+
info = self._properties.get('lifecycle', {})
526526
return [rule.copy() for rule in info.get('rule', ())]
527527

528528
def update_lifecycle(self, rules):
@@ -556,7 +556,7 @@ def get_logging(self):
556556
(if logging is enabled), or None (if not).
557557
"""
558558
self.reload()
559-
info = self.properties.get('logging')
559+
info = self._properties.get('logging')
560560
if info is not None:
561561
return info.copy()
562562

@@ -591,7 +591,7 @@ def metageneration(self):
591591
592592
:rtype: integer
593593
"""
594-
return self.properties['metageneration']
594+
return self._properties['metageneration']
595595

596596
@property
597597
def owner(self):
@@ -602,7 +602,7 @@ def owner(self):
602602
:rtype: dict
603603
:returns: mapping of owner's role/ID.
604604
"""
605-
return self.properties['owner'].copy()
605+
return self._properties['owner'].copy()
606606

607607
@property
608608
def project_number(self):
@@ -612,7 +612,7 @@ def project_number(self):
612612
613613
:rtype: integer
614614
"""
615-
return self.properties['projectNumber']
615+
return self._properties['projectNumber']
616616

617617
@property
618618
def self_link(self):
@@ -622,7 +622,7 @@ def self_link(self):
622622
623623
:rtype: string
624624
"""
625-
return self.properties['selfLink']
625+
return self._properties['selfLink']
626626

627627
@property
628628
def storage_class(self):
@@ -634,7 +634,7 @@ def storage_class(self):
634634
:rtype: string
635635
:returns: Currently one of "STANDARD", "DURABLE_REDUCED_AVAILABILITY"
636636
"""
637-
return self.properties['storageClass']
637+
return self._properties['storageClass']
638638

639639
@property
640640
def time_created(self):
@@ -645,7 +645,7 @@ def time_created(self):
645645
:rtype: string
646646
:returns: timestamp in RFC 3339 format.
647647
"""
648-
return self.properties['timeCreated']
648+
return self._properties['timeCreated']
649649

650650
@property
651651
def versioning_enabled(self):
@@ -657,7 +657,7 @@ def versioning_enabled(self):
657657
:rtype: boolean
658658
:returns: True if enabled, else False.
659659
"""
660-
versioning = self.properties.get('versioning', {})
660+
versioning = self._properties.get('versioning', {})
661661
return versioning.get('enabled', False)
662662

663663
@versioning_enabled.setter

gcloud/storage/test__helpers.py

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -60,18 +60,6 @@ def test_batch(self):
6060
self.assertEqual(kw[0]['data'], {'foo': 'Qux', 'bar': 'Baz'})
6161
self.assertEqual(kw[0]['query_params'], {'projection': 'full'})
6262

63-
def test_properties_no_fetch(self):
64-
connection = _Connection({'foo': 'Foo'})
65-
derived = self._derivedClass(connection, '/path')()
66-
self.assertEqual(derived.properties, {})
67-
derived.reload()
68-
self.assertEqual(derived.properties, {'foo': 'Foo'})
69-
kw = connection._requested
70-
self.assertEqual(len(kw), 1)
71-
self.assertEqual(kw[0]['method'], 'GET')
72-
self.assertEqual(kw[0]['path'], '/path')
73-
self.assertEqual(kw[0]['query_params'], {'projection': 'noAcl'})
74-
7563
def test_reload(self):
7664
connection = _Connection({'foo': 'Foo'})
7765
derived = self._derivedClass(connection, '/path')()
@@ -175,7 +163,7 @@ def test_getter(self):
175163

176164
class Test(object):
177165
def __init__(self, **kw):
178-
self.properties = kw.copy()
166+
self._properties = kw.copy()
179167
do_re_mi = self._callFUT('solfege')
180168

181169
test = Test(solfege='Latido')

gcloud/storage/test_blob.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ def test_ctor_explicit(self):
6363
self.assertTrue(blob.bucket is bucket)
6464
self.assertTrue(blob.connection is connection)
6565
self.assertEqual(blob.name, BLOB_NAME)
66-
self.assertEqual(blob.properties, properties)
66+
self.assertEqual(blob._properties, properties)
6767
self.assertTrue(blob._acl is None)
6868

6969
def test_acl_property(self):
@@ -291,7 +291,7 @@ def test_download_to_filename(self):
291291
mtime = os.path.getmtime(f.name)
292292
updatedTime = time.mktime(
293293
datetime.datetime.strptime(
294-
blob.properties['updated'],
294+
blob._properties['updated'],
295295
'%Y-%m-%dT%H:%M:%S.%fz').timetuple()
296296
)
297297
self.assertEqual(wrote, b'abcdef')

gcloud/storage/test_bucket.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -933,7 +933,7 @@ def test_configure_website_defaults(self):
933933
connection = _Connection(patched)
934934
bucket = self._makeOne(NAME, connection)
935935
self.assertTrue(bucket.configure_website() is bucket)
936-
self.assertEqual(bucket.properties, patched)
936+
self.assertEqual(bucket._properties, patched)
937937
kw = connection._requested
938938
self.assertEqual(len(kw), 1)
939939
self.assertEqual(kw[0]['method'], 'PATCH')
@@ -948,7 +948,7 @@ def test_configure_website_explicit(self):
948948
connection = _Connection(patched)
949949
bucket = self._makeOne(NAME, connection)
950950
self.assertTrue(bucket.configure_website('html', '404.html') is bucket)
951-
self.assertEqual(bucket.properties, patched)
951+
self.assertEqual(bucket._properties, patched)
952952
kw = connection._requested
953953
self.assertEqual(len(kw), 1)
954954
self.assertEqual(kw[0]['method'], 'PATCH')
@@ -963,7 +963,7 @@ def test_disable_website(self):
963963
connection = _Connection(patched)
964964
bucket = self._makeOne(NAME, connection)
965965
self.assertTrue(bucket.disable_website() is bucket)
966-
self.assertEqual(bucket.properties, patched)
966+
self.assertEqual(bucket._properties, patched)
967967
kw = connection._requested
968968
self.assertEqual(len(kw), 1)
969969
self.assertEqual(kw[0]['method'], 'PATCH')

0 commit comments

Comments
 (0)