Changeset - c400f2fbf131
[Not reviewed]
beta
0 1 0
Marcin Kuzminski - 13 years ago 2012-10-26 00:25:21
marcin@python-works.com
cleanup script walks recursive on dirs to find repos to cleanup
1 file changed with 4 insertions and 3 deletions:
0 comments (0 inline, 0 general)
rhodecode/lib/cleanup.py
Show inline comments
 
@@ -79,27 +79,28 @@ class CleanupCommand(BasePasterCommand):
 

	
 
    def command(self):
 
        logging.config.fileConfig(self.path_to_ini_file)
 
        from pylons import config
 

	
 
        #get to remove repos !!
 
        add_cache(config)
 
        engine = engine_from_config(config, 'sqlalchemy.db1.')
 
        init_model(engine)
 

	
 
        repos_location = RhodeCodeUi.get_repos_location()
 
        to_remove = []
 
        for loc in os.listdir(repos_location):
 
            if REMOVED_REPO_PAT.match(loc):
 
                to_remove.append([loc, self._extract_date(loc)])
 
        for dn, dirs, f in os.walk(str(repos_location)):
 
            for loc in dirs:
 
                if REMOVED_REPO_PAT.match(loc):
 
                    to_remove.append([loc, self._extract_date(loc)])
 

	
 
        #filter older than (if present)!
 
        now = datetime.datetime.now()
 
        older_than = self.options.older_than
 
        if older_than:
 
            to_remove_filtered = []
 
            older_than_date = self._parse_older_than(older_than)
 
            for name, date_ in to_remove:
 
                repo_age = now - date_
 
                if repo_age > older_than_date:
 
                    to_remove_filtered.append([name, date_])
 

	
0 comments (0 inline, 0 general)