Changeset 454991


Ignore:
Timestamp:
Sep 6, 2008, 7:07:51 PM (11 years ago)
Author:
rene <rene@…>
Branches:
master
Children:
c8c2a1
Parents:
f54a1c
Message:

remove virtualIdentity account directories if they are containing empty files, subfolders and *msf-files

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chrome/content/v_identity/vI_account.js

    rf54a1c r454991  
    8484    },
    8585   
     86    // checks if directory is empty, not really used
     87    // ignores files ending with *.msf, else reports if a non-zero file is found.
     88    __dirEmpty : function(directory) {
     89        var dirEnumerator = directory.directoryEntries;
     90        while (dirEnumerator.hasMoreElements()) {
     91            var maildir = dirEnumerator.getNext();
     92            maildir.QueryInterface(Components.interfaces.nsIFile);
     93            // recurse into all subdirectories
     94            if (maildir.isDirectory() &&
     95                !vI_account.__dirEmpty(maildir)) return false;
     96            // ignore files with ending "*.msf"
     97            if (!maildir.path.match(new RegExp(".*\.msf$","i")) &&
     98                maildir.fileSize != 0) return false;
     99        }
     100        return true;
     101    },
     102
    86103    __cleanupDirectories : function() {
    87104        var file = Components.classes["@mozilla.org/file/directory_service;1"]
     
    98115                    var maildir = dirEnumerator.getNext()
    99116                    maildir.QueryInterface(Components.interfaces.nsIFile);
    100                     if (maildir.path.match(new RegExp("[/\\\\]virtualIdentity.*$","i"))) {// match Windows and Linux/Mac separators
     117                    // match Windows and Linux/Mac separators
     118                    if (maildir.path.match(new RegExp("[/\\\\]virtualIdentity.*$","i"))) {
    101119                        // should be empty, VirtualIdentity never uses those directories
    102                         try {maildir.remove(false)} catch(e) { };
    103                         vI_notificationBar.dump(".")
     120                        if (vI_account.__dirEmpty(maildir)) {
     121                            try {maildir.remove(true)} catch(e) { }
     122                            vI_notificationBar.dump("x");
     123                        }
     124                        else vI_notificationBar.dump(".");
     125                       
    104126                    }
    105127                }
Note: See TracChangeset for help on using the changeset viewer.