Skip to content

Commit 04f2c36

Browse files
committed
Simplify code, making things more explicit
1 parent 8982e7d commit 04f2c36

1 file changed

Lines changed: 10 additions & 7 deletions

File tree

‎astropy/io/fits/header.py‎

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,9 @@ def __init__(self, cards=[], copy=False):
9393
9494
.. versionadded:: 1.3
9595
"""
96-
self.clear()
96+
self._cards = []
97+
self._keyword_indices = collections.defaultdict(list)
98+
self._rvkc_indices = collections.defaultdict(list)
9799

98100
if isinstance(cards, Header):
99101
if copy:
@@ -951,13 +953,14 @@ def keys(self):
951953
instance has the same behavior.
952954
"""
953955

954-
return self.__iter__()
956+
for card in self._cards:
957+
yield card.keyword
955958

956959
def values(self):
957960
"""Like :meth:`dict.values`."""
958961

959-
for _, v in self.items():
960-
yield v
962+
for card in self._cards:
963+
yield card.value
961964

962965
def pop(self, *args):
963966
"""
@@ -1254,7 +1257,7 @@ def extend(self, cards, strip=True, unique=False, update=False,
12541257
temp._strip()
12551258

12561259
if len(self):
1257-
first = self.cards[0].keyword
1260+
first = self._cards[0].keyword
12581261
else:
12591262
first = None
12601263

@@ -1517,10 +1520,10 @@ def rename_keyword(self, oldkeyword, newkeyword, force=False):
15171520
'renamed to each other.')
15181521
elif not force and newkeyword in self:
15191522
raise ValueError('Intended keyword {} already exists in header.'
1520-
.format(newkeyword))
1523+
.format(newkeyword))
15211524

15221525
idx = self.index(oldkeyword)
1523-
card = self.cards[idx]
1526+
card = self._cards[idx]
15241527
del self[idx]
15251528
self.insert(idx, (newkeyword, card.value, card.comment))
15261529

0 commit comments

Comments
 (0)