From a950378ce7376688abaea22734a5df849eb102d7 Mon Sep 17 00:00:00 2001
From: Epithumia <endless@airelle.info>
Date: Sat, 21 Dec 2013 00:06:27 +0100
Subject: [PATCH] Actually commit oracle.py.

---
 pokedex/db/oracle.py | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 pokedex/db/oracle.py

diff --git a/pokedex/db/oracle.py b/pokedex/db/oracle.py
new file mode 100644
index 0000000..67d445b
--- /dev/null
+++ b/pokedex/db/oracle.py
@@ -0,0 +1,30 @@
+from pokedex.db import metadata
+
+### Helper functions for oracle
+def rewrite_long_table_names():
+    """Modifies the table names to disenvowel long table names.
+    """
+    t_names = metadata.tables.keys()
+
+    table_names = list(t_names)
+    table_objs = [metadata.tables[name] for name in table_names]
+
+    # Prepare a dictionary to match old<->new names
+    oradict = {}
+
+    # Shorten table names, Oracle limits table and column names to 30 chars
+    for table in table_objs:
+        table._orginal_name = table.name[:]
+        oradict[table.name]=table._orginal_name
+        if len(table._orginal_name) > 30:
+            for letter in ['a', 'e', 'i', 'o', 'u', 'y']:
+                table.name=table.name.replace(letter,'')
+            oradict[table.name]=table._orginal_name
+    return oradict
+
+
+def restore_long_table_names(metadata,oradict):
+    """Modifies the table names to restore the long-naming.
+    """
+    for table in metadata.tables.values():
+        table.name = oradict[table.name]