From efdd45a2db116c421b977a5cf5e29c272d7a5ed4 Mon Sep 17 00:00:00 2001
From: Inso <insomniak.fr@gmail.com>
Date: Sun, 31 Jan 2016 17:37:45 +0100
Subject: [PATCH] Use pkg_resources.parse_version instead of StrictVersion

---
 src/sakia/core/account.py                   | 6 +++---
 src/sakia/core/app.py                       | 4 ++--
 src/sakia/core/community.py                 | 2 +-
 src/sakia/core/net/network.py               | 4 ++--
 src/sakia/core/net/node.py                  | 6 +++---
 src/sakia/tests/unit/core/test_community.py | 4 ++--
 6 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/src/sakia/core/account.py b/src/sakia/core/account.py
index 4af3477d..1f5cd1c3 100644
--- a/src/sakia/core/account.py
+++ b/src/sakia/core/account.py
@@ -11,7 +11,7 @@ from ucoinpy.key import SigningKey
 import logging
 import time
 import asyncio
-from distutils.version import StrictVersion
+from pkg_resources import parse_version
 
 from PyQt5.QtCore import QObject, pyqtSignal
 
@@ -106,9 +106,9 @@ class Account(QObject):
         salt = json_data['salt']
         pubkey = json_data['pubkey']
         if 'file_version' in json_data:
-            file_version = StrictVersion(json_data['file_version'])
+            file_version = parse_version(json_data['file_version'])
         else:
-            file_version = StrictVersion('0.11.5')
+            file_version = parse_version('0.11.5')
 
         name = json_data['name']
         contacts = []
diff --git a/src/sakia/core/app.py b/src/sakia/core/app.py
index 860be495..5cf40334 100644
--- a/src/sakia/core/app.py
+++ b/src/sakia/core/app.py
@@ -11,7 +11,7 @@ import shutil
 import json
 import datetime
 import aiohttp
-from distutils.version import StrictVersion
+from pkg_resources import parse_version
 
 from PyQt5.QtCore import QObject, pyqtSignal, QTranslator, QCoreApplication, QLocale
 from ucoinpy.api.bma import API
@@ -279,7 +279,7 @@ class Application(QObject):
             if os.path.exists(network_path):
                 with open(network_path, 'r') as json_data:
                     data = json.load(json_data)
-                    community.network.merge_with_json(data['network'], StrictVersion(data['version']))
+                    community.network.merge_with_json(data['network'], parse_version(data['version']))
 
             if os.path.exists(bma_path):
                 with open(bma_path, 'r') as json_data:
diff --git a/src/sakia/core/community.py b/src/sakia/core/community.py
index cbc86b64..be3f0086 100644
--- a/src/sakia/core/community.py
+++ b/src/sakia/core/community.py
@@ -62,7 +62,7 @@ class Community(QObject):
         Load a community from json
 
         :param dict json_data: The community as a dict in json format
-        :param distutils.version.StrictVersion file_version: the file sakia version
+        :param NormalizedVersion file_version: the file sakia version
         """
         currency = json_data['currency']
         network = Network.from_json(currency, json_data['peers'], file_version)
diff --git a/src/sakia/core/net/network.py b/src/sakia/core/net/network.py
index 7cb64c1d..eb4e02ec 100644
--- a/src/sakia/core/net/network.py
+++ b/src/sakia/core/net/network.py
@@ -63,7 +63,7 @@ class Network(QObject):
         last stopped sakia
 
         :param dict json_data: Nodes in json format
-        :param distutils.version.StrictVersion file_version: The node version
+        :param NormalizedVersion file_version: The node version
         """
         for data in json_data:
             node = Node.from_json(self.currency, data, file_version)
@@ -94,7 +94,7 @@ class Network(QObject):
 
         :param str currency: The currency name of a community
         :param dict json_data: A json_data view of a network
-        :param distutils.version.StrictVersion file_version: the version of the json file
+        :param NormalizedVersion file_version: the version of the json file
         """
         nodes = []
         for data in json_data:
diff --git a/src/sakia/core/net/node.py b/src/sakia/core/net/node.py
index fe2d5c2a..6c407bab 100644
--- a/src/sakia/core/net/node.py
+++ b/src/sakia/core/net/node.py
@@ -19,7 +19,7 @@ import time
 import jsonschema
 import asyncio
 import aiohttp
-from distutils.version import StrictVersion
+from pkg_resources import parse_version
 from socket import gaierror
 
 from PyQt5.QtCore import QObject, pyqtSignal
@@ -123,7 +123,7 @@ class Node(QObject):
 
         :param str currency: the currency of the community
         :param dict data: the json data of the node
-        :param StrictVersion file_version: the version of the file
+        :param NormalizedVersion file_version: the version of the file
         :return: A new node
         :rtype: Node
         """
@@ -160,7 +160,7 @@ class Node(QObject):
         if 'fork_window' in data:
             fork_window = data['fork_window']
 
-        if file_version < StrictVersion("0.12"):
+        if file_version < parse_version("0.12"):
             for endpoint_data in data['endpoints']:
                 endpoints.append(Endpoint.from_inline(endpoint_data))
 
diff --git a/src/sakia/tests/unit/core/test_community.py b/src/sakia/tests/unit/core/test_community.py
index 80e0f2f3..760764e3 100644
--- a/src/sakia/tests/unit/core/test_community.py
+++ b/src/sakia/tests/unit/core/test_community.py
@@ -1,6 +1,6 @@
 import sys
 import unittest
-from distutils.version import StrictVersion
+from pkg_resources import parse_version
 from PyQt5.QtCore import QLocale
 from sakia.core.net.api.bma.access import BmaAccess
 from sakia.core.net.network import Network
@@ -22,6 +22,6 @@ class TestCommunity(unittest.TestCase, QuamashTest):
         community = Community("test_currency", network, bma_access)
 
         json_data = community.jsonify()
-        community_from_json = Community.load(json_data, StrictVersion('0.12.0'))
+        community_from_json = Community.load(json_data, parse_version('0.12.0'))
         self.assertEqual(community.name, community_from_json.name)
         self.assertEqual(len(community.network._nodes), len(community_from_json.network._nodes))
-- 
GitLab