src/strip.vala
[app.mailtrimmer] / src / strip.vala
index c8ebbd6..c3fd8fc 100644 (file)
@@ -370,8 +370,13 @@ public class Strip : GLib.Object {
        
        // initialize it with known data..
        // that should wipe out dupes.
-       var filesize = this.query("SELECT filesize FROM Attachment WHERE id = %d".printf(
-                       int.parse(sid)));       
+       var filesize = this.execute("SELECT filesize FROM Attachment WHERE id = %d".printf(
+                       int.parse(sid)));  
+
+               if (filesize=="") {      
+                  GLib.debug("Ignoring record id (missing in database) :%s", sid);
+                  return;
+               }
                if (int.parse(filesize) < 1) {
                GLib.debug("Could not get filesize from id :%s = %s", sid,filesize);
                Posix.exit(0);
@@ -608,7 +613,7 @@ public class Strip : GLib.Object {
                
                }
                if (!need_return) {
-                       return "";
+                       return got_row ? "" : ret;
                }
                if (!got_row) {
                         GLib.debug("ERROR : no rows returned");
@@ -964,17 +969,21 @@ public class Strip : GLib.Object {
                 continue;
             }
             
-
+            var ds = next_file.get_display_name();
             if (next_file.get_file_type() != FileType.DIRECTORY) {
                 
-                if (next_file.get_display_name()[0] == ',') {
+                
+                
+                if (ds[0] == ',') {
                        continue;
                }
                // other files to ignore?
-                
-                this.scan_file(basepath + subpath , next_file.get_display_name());
+                if (Regex.match_simple (".tgz$", ds)) {
+                       continue;
+               }
+                this.scan_file(basepath + subpath , ds);
                                if(this.has_replaced) {
-                                this.report_state("After scanning %s/%s".printf(basepath + subpath , next_file.get_display_name()));
+                                this.report_state("After scanning %s/%s".printf(basepath + subpath , ds));
                        }
                 continue;
             }
@@ -985,7 +994,7 @@ public class Strip : GLib.Object {
 
 
         
-            var ds = next_file.get_display_name();
+
             // not really needed?? - we are storing attachments in a seperate location now...
             if (ds[0] == '.') {
                 next_file = null;