Skip to content

Commit 85aea83

Browse files
committed
Removing _PropertyMixin.properties public property.
The blob/bucket metadata was never actually accessed via the public properties `properties`.
1 parent 5d86096 commit 85aea83

File tree

6 files changed

+32
-53
lines changed

6 files changed

+32
-53
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
@@ -250,7 +250,7 @@ def download_to_filename(self, filename):
250250

251251
mtime = time.mktime(
252252
datetime.datetime.strptime(
253-
self.properties['updated'],
253+
self._properties['updated'],
254254
'%Y-%m-%dT%H:%M:%S.%fz').timetuple()
255255
)
256256
os.utime(file_obj.name, (mtime, mtime))
@@ -489,7 +489,7 @@ def component_count(self):
489489
490490
:rtype: integer
491491
"""
492-
return self.properties['componentCount']
492+
return self._properties['componentCount']
493493

494494
@property
495495
def etag(self):
@@ -500,7 +500,7 @@ def etag(self):
500500
501501
:rtype: string
502502
"""
503-
return self.properties['etag']
503+
return self._properties['etag']
504504

505505
@property
506506
def generation(self):
@@ -510,7 +510,7 @@ def generation(self):
510510
511511
:rtype: integer
512512
"""
513-
return self.properties['generation']
513+
return self._properties['generation']
514514

515515
@property
516516
def id(self):
@@ -520,7 +520,7 @@ def id(self):
520520
521521
:rtype: string
522522
"""
523-
return self.properties['id']
523+
return self._properties['id']
524524

525525
md5_hash = _scalar_property('md5Hash')
526526
"""MD5 hash for this object.
@@ -539,7 +539,7 @@ def media_link(self):
539539
540540
:rtype: string
541541
"""
542-
return self.properties['mediaLink']
542+
return self._properties['mediaLink']
543543

544544
@property
545545
def metadata(self):
@@ -549,7 +549,7 @@ def metadata(self):
549549
550550
:rtype: dict
551551
"""
552-
return copy.deepcopy(self.properties['metadata'])
552+
return copy.deepcopy(self._properties['metadata'])
553553

554554
@metadata.setter
555555
def metadata(self, value):
@@ -569,7 +569,7 @@ def metageneration(self):
569569
570570
:rtype: integer
571571
"""
572-
return self.properties['metageneration']
572+
return self._properties['metageneration']
573573

574574
@property
575575
def owner(self):
@@ -580,7 +580,7 @@ def owner(self):
580580
:rtype: dict
581581
:returns: mapping of owner's role/ID.
582582
"""
583-
return self.properties['owner'].copy()
583+
return self._properties['owner'].copy()
584584

585585
@property
586586
def self_link(self):
@@ -590,7 +590,7 @@ def self_link(self):
590590
591591
:rtype: string
592592
"""
593-
return self.properties['selfLink']
593+
return self._properties['selfLink']
594594

595595
@property
596596
def size(self):
@@ -600,7 +600,7 @@ def size(self):
600600
601601
:rtype: integer
602602
"""
603-
return self.properties['size']
603+
return self._properties['size']
604604

605605
@property
606606
def storage_class(self):
@@ -612,7 +612,7 @@ def storage_class(self):
612612
:rtype: string
613613
:returns: Currently one of "STANDARD", "DURABLE_REDUCED_AVAILABILITY"
614614
"""
615-
return self.properties['storageClass']
615+
return self._properties['storageClass']
616616

617617
@property
618618
def time_deleted(self):
@@ -624,7 +624,7 @@ def time_deleted(self):
624624
:returns: timestamp in RFC 3339 format, or None if the object
625625
has a "live" version.
626626
"""
627-
return self.properties.get('timeDeleted')
627+
return self._properties.get('timeDeleted')
628628

629629
@property
630630
def updated(self):
@@ -635,7 +635,7 @@ def updated(self):
635635
:rtype: string
636636
:returns: timestamp in RFC 3339 format.
637637
"""
638-
return self.properties['updated']
638+
return self._properties['updated']
639639

640640

641641
class _UploadConfig(object):

gcloud/storage/bucket.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -463,7 +463,7 @@ def cors(self):
463463
:returns: A sequence of mappings describing each CORS policy.
464464
"""
465465
return [copy.deepcopy(policy)
466-
for policy in self.properties.get('cors', ())]
466+
for policy in self._properties.get('cors', ())]
467467

468468
@cors.setter
469469
def cors(self, entries):
@@ -499,7 +499,7 @@ def etag(self):
499499
500500
:rtype: string
501501
"""
502-
return self.properties['etag']
502+
return self._properties['etag']
503503

504504
@property
505505
def id(self):
@@ -509,7 +509,7 @@ def id(self):
509509
510510
:rtype: string
511511
"""
512-
return self.properties['id']
512+
return self._properties['id']
513513

514514
@property
515515
def lifecycle_rules(self):
@@ -555,7 +555,7 @@ def get_logging(self):
555555
(if logging is enabled), or None (if not).
556556
"""
557557
self.reload()
558-
info = self.properties.get('logging')
558+
info = self._properties.get('logging')
559559
if info is not None:
560560
return info.copy()
561561

@@ -590,7 +590,7 @@ def metageneration(self):
590590
591591
:rtype: integer
592592
"""
593-
return self.properties['metageneration']
593+
return self._properties['metageneration']
594594

595595
@property
596596
def owner(self):
@@ -601,7 +601,7 @@ def owner(self):
601601
:rtype: dict
602602
:returns: mapping of owner's role/ID.
603603
"""
604-
return self.properties['owner'].copy()
604+
return self._properties['owner'].copy()
605605

606606
@property
607607
def project_number(self):
@@ -611,7 +611,7 @@ def project_number(self):
611611
612612
:rtype: integer
613613
"""
614-
return self.properties['projectNumber']
614+
return self._properties['projectNumber']
615615

616616
@property
617617
def self_link(self):
@@ -621,7 +621,7 @@ def self_link(self):
621621
622622
:rtype: string
623623
"""
624-
return self.properties['selfLink']
624+
return self._properties['selfLink']
625625

626626
@property
627627
def storage_class(self):
@@ -633,7 +633,7 @@ def storage_class(self):
633633
:rtype: string
634634
:returns: Currently one of "STANDARD", "DURABLE_REDUCED_AVAILABILITY"
635635
"""
636-
return self.properties['storageClass']
636+
return self._properties['storageClass']
637637

638638
@property
639639
def time_created(self):
@@ -644,7 +644,7 @@ def time_created(self):
644644
:rtype: string
645645
:returns: timestamp in RFC 3339 format.
646646
"""
647-
return self.properties['timeCreated']
647+
return self._properties['timeCreated']
648648

649649
@property
650650
def versioning_enabled(self):
@@ -656,7 +656,7 @@ def versioning_enabled(self):
656656
:rtype: boolean
657657
:returns: True if enabled, else False.
658658
"""
659-
versioning = self.properties.get('versioning', {})
659+
versioning = self._properties.get('versioning', {})
660660
return versioning.get('enabled', False)
661661

662662
@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
@@ -65,7 +65,7 @@ def test_ctor_explicit(self):
6565
self.assertTrue(blob.bucket is bucket)
6666
self.assertTrue(blob.connection is connection)
6767
self.assertEqual(blob.name, BLOB_NAME)
68-
self.assertEqual(blob.properties, properties)
68+
self.assertEqual(blob._properties, properties)
6969
self.assertFalse(blob._acl.loaded)
7070
self.assertTrue(blob._acl.blob is blob)
7171

@@ -294,7 +294,7 @@ def test_download_to_filename(self):
294294
mtime = os.path.getmtime(f.name)
295295
updatedTime = time.mktime(
296296
datetime.datetime.strptime(
297-
blob.properties['updated'],
297+
blob._properties['updated'],
298298
'%Y-%m-%dT%H:%M:%S.%fz').timetuple()
299299
)
300300
self.assertEqual(wrote, b'abcdef')

gcloud/storage/test_bucket.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -887,7 +887,7 @@ def test_configure_website_defaults(self):
887887
bucket = self._makeOne(NAME, connection)
888888
bucket.configure_website()
889889
bucket.patch()
890-
self.assertEqual(bucket.properties, patched)
890+
self.assertEqual(bucket._properties, patched)
891891
kw = connection._requested
892892
self.assertEqual(len(kw), 1)
893893
self.assertEqual(kw[0]['method'], 'PATCH')
@@ -903,7 +903,7 @@ def test_configure_website_explicit(self):
903903
bucket = self._makeOne(NAME, connection)
904904
bucket.configure_website('html', '404.html')
905905
bucket.patch()
906-
self.assertEqual(bucket.properties, patched)
906+
self.assertEqual(bucket._properties, patched)
907907
kw = connection._requested
908908
self.assertEqual(len(kw), 1)
909909
self.assertEqual(kw[0]['method'], 'PATCH')
@@ -919,7 +919,7 @@ def test_disable_website(self):
919919
bucket = self._makeOne(NAME, connection)
920920
bucket.disable_website()
921921
bucket.patch()
922-
self.assertEqual(bucket.properties, patched)
922+
self.assertEqual(bucket._properties, patched)
923923
kw = connection._requested
924924
self.assertEqual(len(kw), 1)
925925
self.assertEqual(kw[0]['method'], 'PATCH')

0 commit comments

Comments
 (0)