From 966a6cbfe1a3b0883f0fc355360c22b4c0f9c50a Mon Sep 17 00:00:00 2001 From: Aman Date: Mon, 4 Dec 2023 05:36:50 +0530 Subject: [PATCH 1/4] fixed warning while calling OEISSequence.is_dead() function --- src/sage/databases/oeis.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/sage/databases/oeis.py b/src/sage/databases/oeis.py index b6eeac3499c..342b88c5959 100644 --- a/src/sage/databases/oeis.py +++ b/src/sage/databases/oeis.py @@ -732,7 +732,7 @@ def online_update(self): except AttributeError: pass - def _field(self, key): + def _field(self, key, warn=True): r""" Return the ``key`` field of the entry of ``self``. @@ -751,7 +751,7 @@ def _field(self, key): for line in self.raw_entry().splitlines(): fields[line[1]].append(line[11:]) self._fields = fields - self.is_dead(warn_only=True) + self.is_dead(warn_only=warn) return self._fields[key] def id(self, format='A'): @@ -995,7 +995,7 @@ def keywords(self): sage: s.keywords() ('nonn', 'hard') """ - return tuple(self._field('K')[0].split(',')) + return tuple(self._field('K', warn=False)[0].split(',')) def natural_object(self): r""" From 9215e8de13f1d77669bff9e8228a32465e585c99 Mon Sep 17 00:00:00 2001 From: Aman Date: Tue, 12 Dec 2023 06:42:18 +0530 Subject: [PATCH 2/4] changed the documentation of function is_dead --- src/sage/databases/oeis.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sage/databases/oeis.py b/src/sage/databases/oeis.py index 342b88c5959..867c66a7575 100644 --- a/src/sage/databases/oeis.py +++ b/src/sage/databases/oeis.py @@ -1118,8 +1118,8 @@ def is_dead(self, warn_only=False): EXAMPLES: - A warn_only test is triggered as soon as some information on the - sequence is queried:: + A warning is triggered if any field of a dead sequence is accessed, + unless :meth:`is_dead` is called before:: sage: s = oeis(17) sage: s # optional -- internet From 21a2f38c56e8c389cce521481bee0ba809d8a240 Mon Sep 17 00:00:00 2001 From: adrinospy Date: Thu, 14 Dec 2023 03:14:50 +0530 Subject: [PATCH 3/4] added a warn=True argument in keywords method --- src/sage/databases/oeis.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/sage/databases/oeis.py b/src/sage/databases/oeis.py index 867c66a7575..04cf118806a 100644 --- a/src/sage/databases/oeis.py +++ b/src/sage/databases/oeis.py @@ -969,7 +969,7 @@ def author(self): """ return self._field('A')[0] - def keywords(self): + def keywords(self, warn=True): r""" Return the keywords associated to the sequence ``self``. @@ -995,7 +995,7 @@ def keywords(self): sage: s.keywords() ('nonn', 'hard') """ - return tuple(self._field('K', warn=False)[0].split(',')) + return tuple(self._field('K', warn=warn)[0].split(',')) def natural_object(self): r""" @@ -1148,7 +1148,7 @@ def is_dead(self, warn_only=False): True """ if warn_only: - if 'dead' in self.keywords(): + if 'dead' in self.keywords(warn=False): from warnings import warn warn('This sequence is dead: "{}: {}"'.format(self.id(), self.name()), RuntimeWarning) else: @@ -2019,7 +2019,7 @@ def test_compile_sage_code(self): RuntimeWarning: This sequence is dead: ... True """ - if self.is_dead(): + if self.is_dead(warn_only=True): return True filt = self.programs(language='sage') if filt: From 2b8b0f32a85257566660d4a9b14e11478591f941 Mon Sep 17 00:00:00 2001 From: adrinospy Date: Tue, 19 Dec 2023 20:50:43 +0530 Subject: [PATCH 4/4] reverted changes and added self.is_dead(warn_only=True) --- src/sage/databases/oeis.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/sage/databases/oeis.py b/src/sage/databases/oeis.py index 04cf118806a..b9e6ccd97f6 100644 --- a/src/sage/databases/oeis.py +++ b/src/sage/databases/oeis.py @@ -1148,11 +1148,11 @@ def is_dead(self, warn_only=False): True """ if warn_only: - if 'dead' in self.keywords(warn=False): + if 'dead' in self.keywords(warn_only): from warnings import warn warn('This sequence is dead: "{}: {}"'.format(self.id(), self.name()), RuntimeWarning) else: - return 'dead' in self.keywords() + return 'dead' in self.keywords(warn_only) def is_finite(self): r""" @@ -2019,7 +2019,8 @@ def test_compile_sage_code(self): RuntimeWarning: This sequence is dead: ... True """ - if self.is_dead(warn_only=True): + if self.is_dead(): + self.is_dead(warn_only=True) return True filt = self.programs(language='sage') if filt: