[geneagrapher] 162/226: Replaced __str__ in Node and Record with __unicode__.

Doug Torrance dtorrance-guest at moszumanska.debian.org
Sat Jul 11 17:11:00 UTC 2015


This is an automated email from the git hooks/post-receive script.

dtorrance-guest pushed a commit to branch master
in repository geneagrapher.

commit 82fd8cecafe4b1b096640d4ed67f51eeaa8a7570
Author: David Alber <alber.david at gmail.com>
Date:   Mon Oct 31 23:34:49 2011 -0700

    Replaced __str__ in Node and Record with __unicode__.
---
 geneagrapher/geneagrapher.py |  1 +
 geneagrapher/graph/graph.py  |  6 +++---
 geneagrapher/graph/node.py   |  4 ++--
 geneagrapher/graph/record.py | 10 +++++-----
 tests/test_graph_methods.py  | 32 ++++++++++++++++----------------
 tests/test_node_methods.py   | 40 ++++++++++++++++++++--------------------
 tests/test_record_methods.py | 31 +++++++++++++++++++++++++++++++
 7 files changed, 78 insertions(+), 46 deletions(-)

diff --git a/geneagrapher/geneagrapher.py b/geneagrapher/geneagrapher.py
index 940b482..9877964 100644
--- a/geneagrapher/geneagrapher.py
+++ b/geneagrapher/geneagrapher.py
@@ -114,6 +114,7 @@ class Geneagrapher:
                     
     def generate_dot_file(self):
         dotfile = self.graph.generate_dot_file(self.get_ancestors, self.get_descendants)
+        dotfile = dotfile.encode('utf-8', 'replace')
         if self.write_filename is not None:
             outfile = open(self.write_filename, "w")
             outfile.write(dotfile)
diff --git a/geneagrapher/graph/graph.py b/geneagrapher/graph/graph.py
index 34d4222..7c08a7b 100644
--- a/geneagrapher/graph/graph.py
+++ b/geneagrapher/graph/graph.py
@@ -98,7 +98,7 @@ class Graph:
         edges = ""
         dotfile = ""
         
-        dotfile += """digraph genealogy {
+        dotfile += u"""digraph genealogy {
     graph [charset="utf-8"];
     node [shape=plaintext];
     edge [style=bold];\n\n"""
@@ -113,7 +113,7 @@ class Graph:
                 # Skip this id because it is already printed.
                 continue
             node = self.get_node(node_id)
-            printed_nodes[id] = node
+            printed_nodes[node_id] = node
             
             if include_ancestors:
                 # Add this node's advisors to queue.
@@ -124,7 +124,7 @@ class Graph:
                 queue += node.descendants
         
             # Print this node's information.
-            nodestr = "    {} [label=\"{}\"];".format(node_id, node)
+            nodestr = u"    {} [label=\"{}\"];".format(node_id, node)
             dotfile += nodestr
 
             # Store the connection information for this node.
diff --git a/geneagrapher/graph/node.py b/geneagrapher/graph/node.py
index 922b5b4..b095c5d 100644
--- a/geneagrapher/graph/node.py
+++ b/geneagrapher/graph/node.py
@@ -28,8 +28,8 @@ class Node:
         if not isinstance(self.descendants, list):
             raise TypeError("Unexpected parameter type: expected list object for 'descendants'")
 
-    def __str__(self):
-        return str(self.record)
+    def __unicode__(self):
+        return self.record.__unicode__()
 
     def __cmp__(self, n2):
         return self.record.__cmp__(n2.record)
diff --git a/geneagrapher/graph/record.py b/geneagrapher/graph/record.py
index 59d242c..929ea5b 100644
--- a/geneagrapher/graph/record.py
+++ b/geneagrapher/graph/record.py
@@ -34,17 +34,17 @@ class Record:
         """
         return self.id.__cmp__(r2.id)
 
-    def __str__(self):
+    def __unicode__(self):
         if self.has_institution():
             if self.has_year():
-                return self.name.encode('utf-8', 'replace') + ' \\n' + self.institution.encode('utf-8', 'replace') + ' (' + str(self.year) + ')'
+                return u'{} \\n{} ({})'.format(self.name, self.institution, self.year)
             else:
-                return self.name.encode('utf-8', 'replace') + ' \\n' + self.institution.encode('utf-8', 'replace')
+                return u'{} \\n{}'.format(self.name, self.institution)
         else:
             if self.has_year():
-                return self.name.encode('utf-8', 'replace') + ' \\n(' + str(self.year) + ')'
+                return u'{} \\n({})'.format(self.name, self.year)
             else:
-                return self.name.encode('utf-8', 'replace')
+                return self.name
     
     def has_institution(self):
         """
diff --git a/tests/test_graph_methods.py b/tests/test_graph_methods.py
index f5b2230..f137881 100644
--- a/tests/test_graph_methods.py
+++ b/tests/test_graph_methods.py
@@ -6,7 +6,7 @@ class TestGraphMethods(unittest.TestCase):
     Unit tests for the Graph class.
     """
     def setUp(self):
-        self.record1 = Record("Carl Friedrich Gauss", "Universitaet Helmstedt", 1799, 18231)
+        self.record1 = Record(u"Carl Friedrich Gau\xdf", u"Universit\xe4t Helmstedt", 1799, 18231)
         self.node1 = Node(self.record1, [], [])
         self.graph1 = Graph([self.node1])
     
@@ -87,12 +87,12 @@ class TestGraphMethods(unittest.TestCase):
 
     def test014_generate_dot_file(self):
         # Test the generate_dot_file() method.
-        dotfileexpt = """digraph genealogy {
+        dotfileexpt = u"""digraph genealogy {
     graph [charset="utf-8"];
     node [shape=plaintext];
     edge [style=bold];
 
-    18231 [label="Carl Friedrich Gauss \\nUniversitaet Helmstedt (1799)"];
+    18231 [label="Carl Friedrich Gau\xdf \\nUniversit\xe4t Helmstedt (1799)"];
 
 }
 """    
@@ -102,24 +102,24 @@ class TestGraphMethods(unittest.TestCase):
     def test015_generate_dot_file(self):
         # Test the generate_dot_file() method.
         graph = Graph()
-        graph.add_node("Carl Friedrich Gauss", "Universitaet Helmstedt", 1799, 18231, [18230], [])
-        graph.add_node("Johann Friedrich Pfaff", "Georg-August-Universitaet Goettingen", 1786, 18230, [66476], [])
-        graph.add_node("Abraham Gotthelf Kaestner", "Universitaet Leipzig", 1739, 66476, [57670], [])
-        graph.add_node("Christian August Hausen", "Martin-Luther-Universitaet Halle-Wittenberg", 1713, 57670, [72669], [])
-        graph.add_node("Johann Christoph Wichmannshausen", "Universitaet Leipzig", 1685, 72669, [21235], [])
-        graph.add_node("Otto Mencke", "Universitaet Leipzig", 1665, 21235, [], [])
+        graph.add_node(u"Carl Friedrich Gau\xdf", u"Universit\xe4t Helmstedt", 1799, 18231, [18230], [])
+        graph.add_node(u"Johann Friedrich Pfaff", u"Georg-August-Universit\xe4t Goettingen", 1786, 18230, [66476], [])
+        graph.add_node(u"Abraham Gotthelf Kaestner", u"Universit\xe4t Leipzig", 1739, 66476, [57670], [])
+        graph.add_node(u"Christian August Hausen", u"Martin-Luther-Universit\xe4t Halle-Wittenberg", 1713, 57670, [72669], [])
+        graph.add_node(u"Johann Christoph Wichmannshausen", u"Universit\xe4t Leipzig", 1685, 72669, [21235], [])
+        graph.add_node(u"Otto Mencke", u"Universit\xe4t Leipzig", 1665, 21235, [], [])
         
-        dotfileexpt = """digraph genealogy {
+        dotfileexpt = u"""digraph genealogy {
     graph [charset="utf-8"];
     node [shape=plaintext];
     edge [style=bold];
 
-    18231 [label="Carl Friedrich Gauss \\nUniversitaet Helmstedt (1799)"];
-    18230 [label="Johann Friedrich Pfaff \\nGeorg-August-Universitaet Goettingen (1786)"];
-    66476 [label="Abraham Gotthelf Kaestner \\nUniversitaet Leipzig (1739)"];
-    57670 [label="Christian August Hausen \\nMartin-Luther-Universitaet Halle-Wittenberg (1713)"];
-    72669 [label="Johann Christoph Wichmannshausen \\nUniversitaet Leipzig (1685)"];
-    21235 [label="Otto Mencke \\nUniversitaet Leipzig (1665)"];
+    18231 [label="Carl Friedrich Gau\xdf \\nUniversit\xe4t Helmstedt (1799)"];
+    18230 [label="Johann Friedrich Pfaff \\nGeorg-August-Universit\xe4t Goettingen (1786)"];
+    66476 [label="Abraham Gotthelf Kaestner \\nUniversit\xe4t Leipzig (1739)"];
+    57670 [label="Christian August Hausen \\nMartin-Luther-Universit\xe4t Halle-Wittenberg (1713)"];
+    72669 [label="Johann Christoph Wichmannshausen \\nUniversit\xe4t Leipzig (1685)"];
+    21235 [label="Otto Mencke \\nUniversit\xe4t Leipzig (1665)"];
 
     18230 -> 18231;
     66476 -> 18230;
diff --git a/tests/test_node_methods.py b/tests/test_node_methods.py
index e2e0ab2..103596e 100644
--- a/tests/test_node_methods.py
+++ b/tests/test_node_methods.py
@@ -6,7 +6,7 @@ class TestNodeMethods(unittest.TestCase):
     Unit tests for the Node class.
     """
     def setUp(self):
-        self.record = Record("Carl Friedrich Gauss", "Universitaet Helmstedt", 1799, 18231)
+        self.record = Record(u"Carl Friedrich Gau\xdf", u"Universit\xe4t Helmstedt", 1799, 18231)
     
     def test001_init(self):
         # Test the constructor.
@@ -28,36 +28,36 @@ class TestNodeMethods(unittest.TestCase):
         # Test the constructor for a case where the descendent list is not a list.
         self.assertRaises(TypeError, Node, self.record, [], 1)
         
-    def test004_str_full(self):
-        # Test __str__() method for Node with complete record.
+    def test004_unicode_full(self):
+        # Test __unicode__() method for Node with complete record.
         node = Node(self.record, [], [])
-        nodestr = node.__str__()
-        nodestrexpt = "Carl Friedrich Gauss \\nUniversitaet Helmstedt (1799)"
+        nodestr = node.__unicode__()
+        nodestrexpt = u"Carl Friedrich Gau\xdf \\nUniversit\xe4t Helmstedt (1799)"
         self.assertEquals(nodestr, nodestrexpt)
 
-    def test005_str_no_year(self):
-        # Test __str__() method for Node containing record without year.
-        record = Record("Carl Friedrich Gauss", "Universitaet Helmstedt", None, 18231)
+    def test005_unicode_no_year(self):
+        # Test __unicode__() method for Node containing record without year.
+        record = Record(self.record.name, self.record.institution, None, 18231)
         node = Node(record, [], [])
-        nodestr = node.__str__()
-        nodestrexpt = "Carl Friedrich Gauss \\nUniversitaet Helmstedt"
+        nodestr = node.__unicode__()
+        nodestrexpt = u"Carl Friedrich Gau\xdf \\nUniversit\xe4t Helmstedt"
         self.assertEquals(nodestr, nodestrexpt)
 
-    def test006_str_no_inst(self):
-        # Test __str__() method for Node containing record without institution.
-        record = Record("Carl Friedrich Gauss", None, 1799, 18231)
+    def test006_unicode_no_inst(self):
+        # Test __unicode__() method for Node containing record without institution.
+        record = Record(self.record.name, None, 1799, 18231)
         node = Node(record, [], [])
-        nodestr = node.__str__()
-        nodestrexpt = "Carl Friedrich Gauss \\n(1799)"
+        nodestr = node.__unicode__()
+        nodestrexpt = u"Carl Friedrich Gau\xdf \\n(1799)"
         self.assertEquals(nodestr, nodestrexpt)
 
-    def test007_str_no_inst_no_id(self):
-        # Test __str__() method for Node containing record without institution
+    def test007_unicode_no_inst_no_id(self):
+        # Test __unicode__() method for Node containing record without institution
         # or year.
-        record = Record("Carl Friedrich Gauss", None, None, 18231)
+        record = Record(self.record.name, None, None, 18231)
         node = Node(record, [], [])
-        nodestr = node.__str__()
-        nodestrexpt = "Carl Friedrich Gauss"
+        nodestr = node.__unicode__()
+        nodestrexpt = u"Carl Friedrich Gau\xdf"
         self.assertEquals(nodestr, nodestrexpt)
 
     def test008_cmp_equal(self):
diff --git a/tests/test_record_methods.py b/tests/test_record_methods.py
index 81a0d4d..42ed696 100644
--- a/tests/test_record_methods.py
+++ b/tests/test_record_methods.py
@@ -6,6 +6,9 @@ class TestRecordMethods(unittest.TestCase):
     """
     Unit tests for the Record class.
     """
+    def setUp(self):
+        self.record = Record(u"Carl Friedrich Gau\xdf", u"Universit\xe4t Helmstedt", 1799, 18231)
+
     def test001_init(self):
         # Test the constructor.
         record = Record("Carl Friedrich Gauss", "Universitaet Helmstedt", 1799, 18231)
@@ -64,5 +67,33 @@ class TestRecordMethods(unittest.TestCase):
         record = Record("Carl Friedrich Gauss", "Universitaet Helmstedt", None, 18231)
         self.assert_(not record.has_year())
 
+    def test012_unicode_full(self):
+        # Test __unicode__() method for complete record.
+        recstr = self.record.__unicode__()
+        recstrexpt = u"Carl Friedrich Gau\xdf \\nUniversit\xe4t Helmstedt (1799)"
+        self.assertEquals(recstr, recstrexpt)
+
+    def test013_unicode_no_year(self):
+        # Test __unicode__() method for record without year.
+        record = Record(self.record.name, self.record.institution, None, 18231)
+        recstr = record.__unicode__()
+        recstrexpt = u"Carl Friedrich Gau\xdf \\nUniversit\xe4t Helmstedt"
+        self.assertEquals(recstr, recstrexpt)
+
+    def test014_unicode_no_inst(self):
+        # Test __unicode__() method for record without institution.
+        record = Record(self.record.name, None, 1799, 18231)
+        recstr = record.__unicode__()
+        recstrexpt = u"Carl Friedrich Gau\xdf \\n(1799)"
+        self.assertEquals(recstr, recstrexpt)
+
+    def test015_unicode_no_inst_no_id(self):
+        # Test __unicode__() method for record without institution
+        # or year.
+        record = Record(self.record.name, None, None, 18231)
+        recstr = record.__unicode__()
+        recstrexpt = u"Carl Friedrich Gau\xdf"
+        self.assertEquals(recstr, recstrexpt)
+
 if __name__ == '__main__':
     unittest.main()

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/geneagrapher.git



More information about the debian-science-commits mailing list