changeset 2966:2ddba486546a

various fixes
author Richard Jones <richard@users.sourceforge.net>
date Thu, 25 Nov 2004 23:53:31 +0000
parents b71f6d0a463d
children 0aaf356fd105
files roundup/backends/back_anydbm.py roundup/backends/blobfiles.py roundup/backends/rdbms_common.py
diffstat 3 files changed, 19 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/roundup/backends/back_anydbm.py	Thu Nov 25 22:59:17 2004 +0000
+++ b/roundup/backends/back_anydbm.py	Thu Nov 25 23:53:31 2004 +0000
@@ -15,7 +15,7 @@
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 #
-#$Id: back_anydbm.py,v 1.178 2004-11-25 22:59:17 richard Exp $
+#$Id: back_anydbm.py,v 1.179 2004-11-25 23:53:31 richard Exp $
 '''This module defines a backend that saves the hyperdatabase in a
 database chosen by anydbm. It is guaranteed to always be available in python
 versions >2.1.1 (the dumbdbm fallback in 2.1.1 and earlier has several
@@ -2147,10 +2147,10 @@
         if content:
             # store and index
             self.db.storefile(self.classname, itemid, None, content)
+            mime_type = None
             if self.getprops().has_key('type'):
-                mime_type = propvalues.get('type', self.get(itemid, 'type',
-                    self.default_mime_type))
-            else:
+                mime_type = propvalues.get('type', self.get(itemid, 'type'))
+            if not mime_type:
                 mime_type = self.default_mime_type
             self.db.indexer.add_text((self.classname, itemid, 'content'),
                 content, mime_type)
@@ -2179,9 +2179,10 @@
         Pass on the content-type property for the content property.
         '''
         Class.index(self, nodeid)
-        try:
+        mime_type = None
+        if self.getprops().has_key('type'):
             mime_type = self.get(nodeid, 'type', self.default_mime_type)
-        except KeyError:
+        if not mime_type:
             mime_type = self.default_mime_type
         self.db.indexer.add_text((self.classname, nodeid, 'content'),
             str(self.get(nodeid, 'content')), mime_type)
--- a/roundup/backends/blobfiles.py	Thu Nov 25 22:59:17 2004 +0000
+++ b/roundup/backends/blobfiles.py	Thu Nov 25 23:53:31 2004 +0000
@@ -15,7 +15,7 @@
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 # 
-#$Id: blobfiles.py,v 1.16 2004-11-25 22:51:06 richard Exp $
+#$Id: blobfiles.py,v 1.17 2004-11-25 23:53:31 richard Exp $
 '''This module exports file storage for roundup backends.
 Files are stored into a directory hierarchy.
 '''
@@ -146,7 +146,8 @@
         '''
         # determine the name of the file to delete
         name = self.filename(classname, nodeid, property)
-        if os.path.exists(name+".tmp"):
-            os.remove(name+".tmp")
+        if not name.endswith('.tmp'):
+            name += '.tmp'
+        os.remove(name)
 
 # vim: set filetype=python ts=4 sw=4 et si
--- a/roundup/backends/rdbms_common.py	Thu Nov 25 22:59:17 2004 +0000
+++ b/roundup/backends/rdbms_common.py	Thu Nov 25 23:53:31 2004 +0000
@@ -1,4 +1,4 @@
-# $Id: rdbms_common.py,v 1.140 2004-11-10 22:22:58 richard Exp $
+# $Id: rdbms_common.py,v 1.141 2004-11-25 23:53:31 richard Exp $
 ''' Relational database (SQL) backend common code.
 
 Basics:
@@ -2606,10 +2606,10 @@
         if content:
             # store and index
             self.db.storefile(self.classname, itemid, None, content)
+            mime_type = None
             if self.getprops().has_key('type'):
-                mime_type = propvalues.get('type', self.get(itemid, 'type',
-                    self.default_mime_type))
-            else:
+                mime_type = propvalues.get('type', self.get(itemid, 'type'))
+            if not mime_type:
                 mime_type = self.default_mime_type
             self.db.indexer.add_text((self.classname, itemid, 'content'),
                 content, mime_type)
@@ -2626,9 +2626,10 @@
         Pass on the content-type property for the content property.
         '''
         Class.index(self, nodeid)
-        try:
-            mime_type = self.get(nodeid, 'type', self.default_mime_type)
-        except KeyError:
+        mime_type = None
+        if self.getprops().has_key('type'):
+            mime_type = self.get(nodeid, 'type')
+        if not mime_type:
             mime_type = self.default_mime_type
         self.db.indexer.add_text((self.classname, nodeid, 'content'),
             str(self.get(nodeid, 'content')), mime_type)

Roundup Issue Tracker: http://roundup-tracker.org/