Skip to content

Commit 003c1d9

Browse files
author
Release Manager
committed
gh-36811: fixed warning while calling OEISSequence.is_dead() function Fixes #36795 fixed warning in OEISSequence.is_dead() function in OEISSequence added a parameter warn=True in _field function and changed self.is_dead(warn_only=True) to self.is_dead(warn_only=warn) inside the _field function, changed the self._field('K') to self._field('K', warn=False) so the warning is not triggered URL: #36811 Reported by: Aman Moon Reviewer(s): Martin Rubey
2 parents 8c8b16a + 8f9af0b commit 003c1d9

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

src/sage/databases/oeis.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -722,7 +722,7 @@ def online_update(self):
722722
except AttributeError:
723723
pass
724724

725-
def _field(self, key):
725+
def _field(self, key, warn=True):
726726
r"""
727727
Return the ``key`` field of the entry of ``self``.
728728
@@ -741,7 +741,7 @@ def _field(self, key):
741741
for line in self.raw_entry().splitlines():
742742
fields[line[1]].append(line[11:])
743743
self._fields = fields
744-
self.is_dead(warn_only=True)
744+
self.is_dead(warn_only=warn)
745745
return self._fields[key]
746746

747747
def id(self, format='A'):
@@ -959,7 +959,7 @@ def author(self):
959959
"""
960960
return self._field('A')[0]
961961

962-
def keywords(self):
962+
def keywords(self, warn=True):
963963
r"""
964964
Return the keywords associated to the sequence ``self``.
965965
@@ -985,7 +985,7 @@ def keywords(self):
985985
sage: s.keywords()
986986
('nonn', 'hard')
987987
"""
988-
return tuple(self._field('K')[0].split(','))
988+
return tuple(self._field('K', warn=warn)[0].split(','))
989989

990990
def natural_object(self):
991991
r"""
@@ -1108,8 +1108,8 @@ def is_dead(self, warn_only=False):
11081108
11091109
EXAMPLES:
11101110
1111-
A warn_only test is triggered as soon as some information on the
1112-
sequence is queried::
1111+
A warning is triggered if any field of a dead sequence is accessed,
1112+
unless :meth:`is_dead` is called before::
11131113
11141114
sage: s = oeis(17)
11151115
sage: s # optional -- internet
@@ -1138,11 +1138,11 @@ def is_dead(self, warn_only=False):
11381138
True
11391139
"""
11401140
if warn_only:
1141-
if 'dead' in self.keywords():
1141+
if 'dead' in self.keywords(warn_only):
11421142
from warnings import warn
11431143
warn('This sequence is dead: "{}: {}"'.format(self.id(), self.name()), RuntimeWarning)
11441144
else:
1145-
return 'dead' in self.keywords()
1145+
return 'dead' in self.keywords(warn_only)
11461146

11471147
def is_finite(self):
11481148
r"""
@@ -2010,6 +2010,7 @@ def test_compile_sage_code(self):
20102010
True
20112011
"""
20122012
if self.is_dead():
2013+
self.is_dead(warn_only=True)
20132014
return True
20142015
filt = self.programs(language='sage')
20152016
if filt:

0 commit comments

Comments
 (0)