aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--becommands/init.py2
-rw-r--r--libbe/arch.py4
-rw-r--r--libbe/bugdir.py8
-rw-r--r--libbe/utility.py5
-rw-r--r--libbe/vcs.py6
5 files changed, 10 insertions, 15 deletions
diff --git a/becommands/init.py b/becommands/init.py
index 1125d93..a6098ba 100644
--- a/becommands/init.py
+++ b/becommands/init.py
@@ -32,7 +32,7 @@ def execute(args, manipulate_encodings=True):
>>> execute(['--root', dir.path], manipulate_encodings=False)
No revision control detected.
Directory initialized.
- >>> del(dir)
+ >>> dir.cleanup()
>>> dir = utility.Dir()
>>> os.chdir(dir.path)
diff --git a/libbe/arch.py b/libbe/arch.py
index ab55172..c2d7cde 100644
--- a/libbe/arch.py
+++ b/libbe/arch.py
@@ -70,7 +70,7 @@ class Arch(vcs.VCS):
"""
Create a temporary Arch archive in the directory PATH. This
archive will be removed by
- __del__->cleanup->_vcs_cleanup->_remove_archive
+ cleanup->_vcs_cleanup->_remove_archive
"""
# http://regexps.srparish.net/tutorial-tla/new-archive.html#Creating_a_New_Archive
assert self._archive_name == None
@@ -112,7 +112,7 @@ class Arch(vcs.VCS):
"""
Create a temporary Arch project in the directory PATH. This
project will be removed by
- __del__->cleanup->_vcs_cleanup->_remove_project
+ cleanup->_vcs_cleanup->_remove_project
"""
# http://mwolson.org/projects/GettingStartedWithArch.html
# http://regexps.srparish.net/tutorial-tla/new-project.html#Starting_a_New_Project
diff --git a/libbe/bugdir.py b/libbe/bugdir.py
index c4f0f91..5324163 100644
--- a/libbe/bugdir.py
+++ b/libbe/bugdir.py
@@ -305,6 +305,7 @@ settings easy. Don't set this attribute. Set .vcs instead, and
self.root = self._find_root(root)
else:
if not os.path.exists(root):
+ self.root = None
raise NoRootEntry(root)
self.root = root
# get a temporary vcs until we've loaded settings
@@ -324,9 +325,6 @@ settings easy. Don't set this attribute. Set .vcs instead, and
self.vcs = vcs
self._setup_user_id(self.user_id)
- def __del__(self):
- self.cleanup()
-
def cleanup(self):
self.vcs.cleanup()
@@ -339,6 +337,7 @@ settings easy. Don't set this attribute. Set .vcs instead, and
then only if sink_to_existing_root == True.
"""
if not os.path.exists(path):
+ self.root = None
raise NoRootEntry(path)
versionfile=utility.search_parent_directories(path,
os.path.join(".be", "version"))
@@ -349,6 +348,7 @@ settings easy. Don't set this attribute. Set .vcs instead, and
else:
beroot = utility.search_parent_directories(path, ".be")
if beroot == None:
+ self.root = None
raise NoBugDir(path)
return beroot
@@ -671,7 +671,7 @@ class SimpleBugDir (BugDir):
assert_new_BugDir=assert_new_BugDir,
allow_vcs_init=vcs_init,
manipulate_encodings=False)
- if sync_with_disk == True: # postpone cleanup since dir.__del__() removes dir.
+ if sync_with_disk == True: # postpone cleanup since dir.cleanup() removes dir.
self._dir_ref = dir
bug_a = self.new_bug("a", summary="Bug A")
bug_a.creator = "John Doe <jdoe@example.com>"
diff --git a/libbe/utility.py b/libbe/utility.py
index aafbf8d..1e43516 100644
--- a/libbe/utility.py
+++ b/libbe/utility.py
@@ -58,13 +58,10 @@ class Dir (object):
"A temporary directory for testing use"
def __init__(self):
self.path = tempfile.mkdtemp(prefix="BEtest")
- self.rmtree = shutil.rmtree # save local reference for __del__
self.removed = False
- def __del__(self):
- self.cleanup()
def cleanup(self):
if self.removed == False:
- self.rmtree(self.path)
+ shutil.rmtree(self.path)
self.removed = True
def __call__(self):
return self.path
diff --git a/libbe/vcs.py b/libbe/vcs.py
index a1d3022..6975a83 100644
--- a/libbe/vcs.py
+++ b/libbe/vcs.py
@@ -50,7 +50,7 @@ def _get_matching_vcs(matchfn):
vcs = module.new()
if matchfn(vcs) == True:
return vcs
- del(vcs)
+ vcs.cleanup()
return VCS()
def vcs_by_name(vcs_name):
@@ -124,8 +124,6 @@ class VCS(object):
self._duplicateBasedir = None
self._duplicateDirname = None
self.encoding = encoding
- def __del__(self):
- self.cleanup()
def _vcs_help(self):
"""
@@ -674,7 +672,7 @@ class VCSTestCase(unittest.TestCase):
setup_vcs_test_fixtures(self)
def tearDown(self):
- del(self.vcs)
+ self.vcs.cleanup()
super(VCSTestCase, self).tearDown()
def full_path(self, rel_path):