Author: cito
Date: Sat Apr 16 03:05:28 2016
New Revision: 874

Log:
Let setup understand Postgres beta versions

Postgres versions such as "PostgreSQL 9.5beta1" were not handled properly,
because the "5beta1" part of the version was not converted to an int.

Modified:
   branches/4.x/setup.py
   trunk/setup.py

Modified: branches/4.x/setup.py
==============================================================================
--- branches/4.x/setup.py       Sat Apr  9 08:16:04 2016        (r873)
+++ branches/4.x/setup.py       Sat Apr 16 03:05:28 2016        (r874)
@@ -44,6 +44,7 @@
 
 import os
 import platform
+import re
 import warnings
 try:
     from setuptools import setup
@@ -77,12 +78,10 @@
 
 def pg_version():
     """Return the PostgreSQL version as a tuple of integers."""
-    parts = []
-    for part in pg_config('version').split()[-1].split('.'):
-        if part.isdigit():
-            part = int(part)
-        parts.append(part)
-    return tuple(parts or [8, 3])
+    match = re.search(r'(\d+)\.(\d+)', pg_config('version'))
+    if match:
+        return tuple(map(int, match.groups()))
+    return (8, 3)
 
 
 pg_version = pg_version()

Modified: trunk/setup.py
==============================================================================
--- trunk/setup.py      Sat Apr  9 08:16:04 2016        (r873)
+++ trunk/setup.py      Sat Apr 16 03:05:28 2016        (r874)
@@ -45,6 +45,7 @@
 
 import os
 import platform
+import re
 import warnings
 try:
     from setuptools import setup
@@ -78,12 +79,10 @@
 
 def pg_version():
     """Return the PostgreSQL version as a tuple of integers."""
-    parts = []
-    for part in pg_config('version').split()[-1].split('.'):
-        if part.isdigit():
-            part = int(part)
-        parts.append(part)
-    return tuple(parts or [9, 0])
+    match = re.search(r'(\d+)\.(\d+)', pg_config('version'))
+    if match:
+        return tuple(map(int, match.groups()))
+    return (9, 0)
 
 
 pg_version = pg_version()
_______________________________________________
PyGreSQL mailing list
[email protected]
https://mail.vex.net/mailman/listinfo.cgi/pygresql

Reply via email to