From 8ee9c10b8c010384918146ad3570a32fbe7eedd0 Mon Sep 17 00:00:00 2001 From: Louis Sautier Date: Wed, 20 Jul 2016 10:43:00 +0200 Subject: [PATCH] Support Python 2.6, fixes #27 --- .travis.yml | 1 + pymediainfo/__init__.py | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6355d68..e8d4595 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,6 @@ language: python python: + - 2.6 - 2.7 - 3.4 - 3.5 diff --git a/pymediainfo/__init__.py b/pymediainfo/__init__.py index 0ad0856..434e7a1 100644 --- a/pymediainfo/__init__.py +++ b/pymediainfo/__init__.py @@ -68,7 +68,7 @@ def parse_xml_data_into_dom(xml_data): @staticmethod def parse(filename): if os.name in ("nt", "dos", "os2", "ce"): - lib = windll.MediaInfo + lib = windll.MediaInfo elif sys.platform == "darwin": try: lib = CDLL("libmediainfo.0.dylib") @@ -96,7 +96,7 @@ def parse(filename): # Fix for https://github.com/sbraz/pymediainfo/issues/22 # Python 2 does not change LC_CTYPE # at startup: https://bugs.python.org/issue6203 - if (sys.version_info.major < 3 and os.name == "posix" + if (sys.version_info < (3,) and os.name == "posix" and locale.getlocale() == (None, None)): locale.setlocale(locale.LC_CTYPE, locale.getdefaultlocale()) lib.MediaInfo_Option(None, "Inform", "XML") @@ -110,7 +110,8 @@ def parse(filename): def _populate_tracks(self): if self.xml_dom is None: return - for xml_track in self.xml_dom.iter("track"): + iterator = "getiterator" if sys.version_info < (2, 7) else "iter" + for xml_track in getattr(self.xml_dom, iterator)("track"): self._tracks.append(Track(xml_track)) @property def tracks(self):