diff --git a/beets/library.py b/beets/library.py index bb6873d2d..ed1938671 100644 --- a/beets/library.py +++ b/beets/library.py @@ -559,7 +559,7 @@ class Item(LibModel): for key in self._media_fields: value = getattr(mediafile, key) - if isinstance(value, (int, int)): + if isinstance(value, (int, long)): if value.bit_length() > 63: value = 0 self[key] = value diff --git a/beets/util/confit.py b/beets/util/confit.py index 6d35667bc..ac1cb7023 100644 --- a/beets/util/confit.py +++ b/beets/util/confit.py @@ -49,7 +49,7 @@ REDACTED_TOMBSTONE = 'REDACTED' PY3 = sys.version_info[0] == 3 STRING = str if PY3 else unicode BASESTRING = str if PY3 else basestring -NUMERIC_TYPES = (int, float) if PY3 else (int, float, int) +NUMERIC_TYPES = (int, float) if PY3 else (int, float, long) def iter_first(sequence): diff --git a/beets/util/functemplate.py b/beets/util/functemplate.py index 16d21cd58..6c8e3e73b 100644 --- a/beets/util/functemplate.py +++ b/beets/util/functemplate.py @@ -34,6 +34,8 @@ import ast import dis import types +from .confit import NUMERIC_TYPES + SYMBOL_DELIM = u'$' FUNC_DELIM = u'%' GROUP_OPEN = u'{' @@ -72,7 +74,7 @@ def ex_literal(val): """ if val is None: return ast.Name(b'None', ast.Load()) - elif isinstance(val, (int, float, int)): + elif isinstance(val, NUMERIC_TYPES): return ast.Num(val) elif isinstance(val, bool): return ast.Name(bytes(val), ast.Load())