From 256575688792df1f99873231f566b1a466e572bf Mon Sep 17 00:00:00 2001
From: Piotr Maslanka <piotr.maslanka@henrietta.com.pl>
Date: Sat, 9 Dec 2017 02:49:29 +0100
Subject: [PATCH] refactor

---
 README.md                              |  6 +++---
 firanka/__init__.py                    |  2 +-
 firanka/{series => }/exceptions.py     |  6 ++++--
 firanka/{series/range.py => ranges.py} | 20 +++++++++++---------
 firanka/series/__init__.py             |  9 ---------
 firanka/series/series.py               | 10 ++++++----
 requirements.txt                       |  1 -
 tests/test_series/test_range.py        |  5 +++--
 tests/test_series/test_series.py       |  4 +++-
 9 files changed, 31 insertions(+), 32 deletions(-)
 rename firanka/{series => }/exceptions.py (82%)
 rename firanka/{series/range.py => ranges.py} (95%)

diff --git a/README.md b/README.md
index e3a49d8..c71f28c 100644
--- a/README.md
+++ b/README.md
@@ -41,14 +41,14 @@ to know more about series operations.
 ### DiscreteSeries
 
 To use a _DiscreteSeries_ you must give it a set of data to work with. These
-will define intervals, left-closed, right-open. Ie. 
-
+will define intervals with given values, left-closed, right-open. as in: 
 
 ```python
 fs = DiscreteSeries([(0,1), (3, 4), (5, 6)])
 fs[0.5] == 1
 fs[3] == 4
 fs[5] == 6
+fs.domain == '<0;5>'
 # fs[6] - NotInDomainError's
 ```
 
@@ -100,7 +100,7 @@ _ValueError_ will be thrown.
 
 ## Ranges
 
-Can be imported from _sai.series_.
+Can be imported from _sai.ranges_.
 
 Range would have been better called an **interval**. It is a continuous subset
 of the real number line.
diff --git a/firanka/__init__.py b/firanka/__init__.py
index 11d27f8..66a87bb 100644
--- a/firanka/__init__.py
+++ b/firanka/__init__.py
@@ -1 +1 @@
-__version__ = '0.1'
+__version__ = '0.1.5'
diff --git a/firanka/series/exceptions.py b/firanka/exceptions.py
similarity index 82%
rename from firanka/series/exceptions.py
rename to firanka/exceptions.py
index f8d6a28..5a960de 100644
--- a/firanka/series/exceptions.py
+++ b/firanka/exceptions.py
@@ -1,8 +1,10 @@
 # coding=UTF-8
 from __future__ import print_function, absolute_import, division
-import six
-import logging
 
+__all__ = [
+    'FirankaError',
+    'NotInDomainError',
+]
 
 class FirankaError(Exception):
     """
diff --git a/firanka/series/range.py b/firanka/ranges.py
similarity index 95%
rename from firanka/series/range.py
rename to firanka/ranges.py
index a5e4569..9e5c64e 100644
--- a/firanka/series/range.py
+++ b/firanka/ranges.py
@@ -1,15 +1,17 @@
 # coding=UTF-8
 from __future__ import print_function, absolute_import, division
 import six
-import logging
-import re
 import functools
 import math
 
-logger = logging.getLogger(__name__)
+__all__ = [
+    'Range',
+    'REAL_SET',
+    'EMPTY_SET'
+]
 
 
-def pre_range(fun):
+def _pre_range(fun):
     @functools.wraps(fun)
     def inner(self, arg, *args, **kwargs):
         if not isinstance(arg, Range):
@@ -100,7 +102,7 @@ class Range(object):
             '>' if self.right_inc else ')',
         )
 
-    @pre_range
+    @_pre_range
     def intersection(self, y):
         if self.start > y.start:
             return y.intersection(self)
@@ -108,10 +110,10 @@ class Range(object):
         assert self.start <= y.start
 
         if (self.stop < y.start) or (y.stop < y.start):
-            return EMPTY_RANGE
+            return EMPTY_SET
 
         if self.stop == y.start and not (self.right_inc and y.left_inc):
-            return EMPTY_RANGE
+            return EMPTY_SET
 
         if self.start == y.start:
             start = self.start
@@ -130,7 +132,7 @@ class Range(object):
 
         return Range(start, stop, left_inc, right_inc)
 
-    @pre_range
+    @_pre_range
     def __eq__(self, other):
         if self.is_empty() and other.is_empty():
             return True
@@ -140,5 +142,5 @@ class Range(object):
         return hash(self.start) ^ hash(self.stop)
 
 
-EMPTY_RANGE = Range(0, 0, False, False)
+EMPTY_SET = Range(0, 0, False, False)
 REAL_SET = Range(float('-inf'), float('+inf'), False, False)
diff --git a/firanka/series/__init__.py b/firanka/series/__init__.py
index fb30d50..3407ef6 100644
--- a/firanka/series/__init__.py
+++ b/firanka/series/__init__.py
@@ -1,18 +1,9 @@
 # coding=UTF-8
 from __future__ import print_function, absolute_import, division
-import six
-import logging
 
-from .exceptions import NotInDomainError, FirankaError
-from .range import Range, REAL_SET
 from .series import DiscreteSeries, FunctionSeries, ModuloSeries, Series
 
-
 __all__ = [
-    'REAL_SET',
-    'FirankaError',
-    'NotInDomainError',
-    'Range',
     'FunctionSeries',
     'DiscreteSeries',
     'ModuloSeries',
diff --git a/firanka/series/series.py b/firanka/series/series.py
index d5847d2..dcc777a 100644
--- a/firanka/series/series.py
+++ b/firanka/series/series.py
@@ -1,11 +1,13 @@
 
 # coding=UTF-8
 from __future__ import print_function, absolute_import, division
-import six
+
 import math
 
-from .range import Range, REAL_SET, EMPTY_RANGE
-from .exceptions import NotInDomainError
+import six
+
+from firanka.exceptions import NotInDomainError
+from firanka.ranges import Range, REAL_SET, EMPTY_SET
 
 
 class Series(object):
@@ -141,7 +143,7 @@ class DiscreteSeries(Series):
 
     def __init__(self, data, domain=None):
         if len(data) == 0:
-            domain = EMPTY_RANGE
+            domain = EMPTY_SET
         elif domain is None:
             domain = Range(data[0][0], data[-1][0], True, True)
 
diff --git a/requirements.txt b/requirements.txt
index 51695ee..ffe2fce 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,2 +1 @@
 six
-satella
diff --git a/tests/test_series/test_range.py b/tests/test_series/test_range.py
index 4476b08..f116128 100644
--- a/tests/test_series/test_range.py
+++ b/tests/test_series/test_range.py
@@ -1,7 +1,7 @@
 # coding=UTF-8
 from __future__ import print_function, absolute_import, division
 import unittest
-from firanka.series import Range
+from firanka.ranges import Range
 
 
 class TestRange(unittest.TestCase):
@@ -42,7 +42,8 @@ class TestRange(unittest.TestCase):
         self.assertRaises(ValueError, lambda: Range('#2;3>'))
         self.assertRaises(ValueError, lambda: Range('(2;3!'))
         self.assertRaises(ValueError, lambda: Range('<-inf;3)'))
-        self.assertEqual(Range(1,2,True,False), Range('<1;2)'))
+        self.assertEqual(Range(1, 2, True, False), Range('<1;2)'))
+        self.assertEqual(Range(1, 2, True, False), '<1;2)')
 
     def test_contains(self):
         self.assertFalse(-1 in Range('<-10;-1)'))
diff --git a/tests/test_series/test_series.py b/tests/test_series/test_series.py
index 219a56c..f83a952 100644
--- a/tests/test_series/test_series.py
+++ b/tests/test_series/test_series.py
@@ -3,7 +3,9 @@ from __future__ import print_function, absolute_import, division
 import six
 import math
 import unittest
-from firanka.series import DiscreteSeries, FunctionSeries, Range, ModuloSeries, NotInDomainError
+from firanka.series import DiscreteSeries, FunctionSeries, ModuloSeries
+from firanka.ranges import Range
+from firanka.exceptions import NotInDomainError
 
 NOOP = lambda x: x
 
-- 
GitLab