You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bloodhound.apache.org by ju...@apache.org on 2012/12/12 09:37:23 UTC

svn commit: r1420572 - in /incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac: bloodhound.py bloodhound/ bloodhound/__init__.py bloodhound/db.py bloodhound/env.py bloodhoundsql.py web/standalone.py

Author: jure
Date: Wed Dec 12 08:37:22 2012
New Revision: 1420572

URL: http://svn.apache.org/viewvc?rev=1420572&view=rev
Log:
* reorganized code, moved bloodhound code to separate directory


Added:
    incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhound/
    incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhound/__init__.py
    incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhound/db.py
      - copied, changed from r1420086, incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhoundsql.py
    incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhound/env.py
      - copied, changed from r1420086, incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhound.py
Removed:
    incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhound.py
    incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhoundsql.py
Modified:
    incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/web/standalone.py

Added: incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhound/__init__.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhound/__init__.py?rev=1420572&view=auto
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhound/__init__.py (added)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhound/__init__.py Wed Dec 12 08:37:22 2012
@@ -0,0 +1,20 @@
+
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+
+from trac.bloodhound.env import *
+from trac.bloodhound.db import *

Copied: incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhound/db.py (from r1420086, incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhoundsql.py)
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhound/db.py?p2=incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhound/db.py&p1=incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhoundsql.py&r1=1420086&r2=1420572&rev=1420572&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhoundsql.py (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhound/db.py Wed Dec 12 08:37:22 2012
@@ -16,11 +16,52 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
+from trac.db.util import IterableCursor
+from trac.util import concurrency
+
 import sqlparse
 import sqlparse.tokens as Tokens
 import sqlparse.sql as Types
 
-__all__ = ['BloodhoundProductSQLTranslate']
+__all__ = ['BloodhoundIterableCursor']
+
+TRANSLATE_TABLES = ['ticket', 'enum', 'component', 'milestone', 'version', 'wiki']
+PRODUCT_COLUMN = 'product'
+
+class BloodhoundIterableCursor(IterableCursor):
+    __slots__ = IterableCursor.__slots__ + ['_translator']
+    _tls = concurrency.ThreadLocal(env=None)
+
+    def __init__(self, cursor, log=None):
+        super(BloodhoundIterableCursor, self).__init__(cursor, log=log)
+        self._translator = None
+
+    @property
+    def translator(self):
+        if not self._translator:
+            from env import DEFAULT_PRODUCT
+            product = self.env.product_scope if self.env else DEFAULT_PRODUCT
+            self._translator = BloodhoundProductSQLTranslate(TRANSLATE_TABLES,
+                                                             PRODUCT_COLUMN,
+                                                             product)
+        return self._translator
+
+    def _translate_sql(self, sql):
+        return self.translator.translate(sql) if (self.env and not self.env.product_aware) else sql
+
+    def execute(self, sql, args=None):
+        return super(BloodhoundIterableCursor, self).execute(self._translate_sql(sql), args=args)
+
+    def executemany(self, sql, args=None):
+        return super(BloodhoundIterableCursor, self).executemany(self._translate_sql(sql), args=args)
+
+    @property
+    def env(self):
+        return self._tls.env
+
+    @classmethod
+    def set_env(cls, env):
+        cls._tls.env = env
 
 class BloodhoundProductSQLTranslate(object):
     _join_statements = ['LEFT JOIN', 'LEFT OUTER JOIN',

Copied: incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhound/env.py (from r1420086, incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhound.py)
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhound/env.py?p2=incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhound/env.py&p1=incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhound.py&r1=1420086&r2=1420572&rev=1420572&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhound.py (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/bloodhound/env.py Wed Dec 12 08:37:22 2012
@@ -16,49 +16,14 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-import trac.env
-from trac.db.util import IterableCursor
-from trac.util import concurrency
 from trac.env import Environment
-from bloodhoundsql import BloodhoundProductSQLTranslate
+import trac.db.util
 
-DEFAULT_PRODUCT = 'default'
-TRANSLATE_TABLES = ['ticket', 'enum', 'component', 'milestone', 'version', 'wiki']
-PRODUCT_COLUMN = 'product'
-
-class BloodhoundIterableCursor(IterableCursor):
-    __slots__ = IterableCursor.__slots__ + ['_translator']
-    _tls = concurrency.ThreadLocal(env=None)
-
-    def __init__(self, cursor, log=None):
-        super(BloodhoundIterableCursor, self).__init__(cursor, log=log)
-        self._translator = None
-
-    @property
-    def translator(self):
-        if not self._translator:
-            product = self.env.product_scope if self.env else DEFAULT_PRODUCT
-            self._translator = BloodhoundProductSQLTranslate(TRANSLATE_TABLES,
-                                                             PRODUCT_COLUMN,
-                                                             product)
-        return self._translator
-
-    def _translate_sql(self, sql):
-        return self.translator.translate(sql) if (self.env and not self.env.product_aware) else sql
+from db import BloodhoundIterableCursor
 
-    def execute(self, sql, args=None):
-        return super(BloodhoundIterableCursor, self).execute(self._translate_sql(sql), args=args)
+__all__ = ["bloodhound_hooks", "BloodhoundEnvironment", "DEFAULT_PRODUCT"]
 
-    def executemany(self, sql, args=None):
-        return super(BloodhoundIterableCursor, self).executemany(self._translate_sql(sql), args=args)
-
-    @property
-    def env(self):
-        return self._tls.env
-
-    @classmethod
-    def set_env(cls, env):
-        cls._tls.env = env
+DEFAULT_PRODUCT = 'default'
 
 class BloodhoundEnvironment(Environment):
     def __init__(self, path, create=False, options=[]):

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/web/standalone.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/web/standalone.py?rev=1420572&r1=1420571&r2=1420572&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/web/standalone.py (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/trac/trac/web/standalone.py Wed Dec 12 08:37:22 2012
@@ -120,7 +120,7 @@ class TracHTTPRequestHandler(WSGIRequest
 class TracHTTP11RequestHandler(TracHTTPRequestHandler):
     protocol_version = 'HTTP/1.1'
 
-from trac.bloodhound import bloodhound_hooks
+from trac.bloodhound.env import bloodhound_hooks
 bloodhound_hooks()
 
 def main():