Skip to content

Commit

Permalink
Allow for numpy int inputs
Browse files Browse the repository at this point in the history
Don't require that inputs be subtypes of `int`,
as Python 3 numpy integers (e.g. numpy.int64a) are
not. Use the numbers.Integral ABC instead.
benmwebb committed Dec 6, 2024
1 parent 7321764 commit 7e87f5d
Showing 2 changed files with 6 additions and 4 deletions.
5 changes: 3 additions & 2 deletions ihm/__init__.py
Original file line number Diff line number Diff line change
@@ -10,6 +10,7 @@
"""

import itertools
import numbers
import re
import sys
# Handle different naming of urllib in Python 2/3
@@ -1600,12 +1601,12 @@ def __init__(self, entity, details=None, auth_seq_id_map=0, id=None,
self.num_map = None

def _get_auth_seq_id_ins_code(self, seq_id):
if isinstance(self.auth_seq_id_map, int):
if isinstance(self.auth_seq_id_map, numbers.Integral):
return seq_id + self.auth_seq_id_map, None
else:
try:
ret = self.auth_seq_id_map[seq_id]
if isinstance(ret, (int, str)):
if isinstance(ret, (numbers.Integral, str)):
return ret, None
else:
return ret
5 changes: 3 additions & 2 deletions ihm/dumper.py
Original file line number Diff line number Diff line change
@@ -2,6 +2,7 @@

import re
import os
import numbers
import collections
import operator
import itertools
@@ -1465,10 +1466,10 @@ def _dump_template(self, template, sm, lp, ordinal):
denom = int(denom)
# Add offset only if seq_id_range isn't . or ?
seq_id_begin = template.seq_id_range[0]
if isinstance(template.seq_id_range[0], int):
if isinstance(template.seq_id_range[0], numbers.Integral):
seq_id_begin += off
seq_id_end = template.seq_id_range[1]
if isinstance(template.seq_id_range[1], int):
if isinstance(template.seq_id_range[1], numbers.Integral):
seq_id_end += off
lp.write(id=next(ordinal),
starting_model_id=sm._id,

0 comments on commit 7e87f5d

Please sign in to comment.