Rev 210: Modified Script to accept a file-like object rather than a filename. in http://bzr.daniel-watkins.co.uk/pqm/xmlrpc
Daniel Watkins
daniel at daniel-watkins.co.uk
Fri Aug 1 03:03:50 BST 2008
At http://bzr.daniel-watkins.co.uk/pqm/xmlrpc
------------------------------------------------------------
revno: 210
revision-id: daniel at daniel-watkins.co.uk-20080801020213-74tyyy2qns1bk1yn
parent: daniel at daniel-watkins.co.uk-20080801015327-rl0g2fp2asiomo3q
committer: Daniel Watkins <daniel at daniel-watkins.co.uk>
branch nick: xmlrpc-validation
timestamp: Fri 2008-08-01 03:02:13 +0100
message:
Modified Script to accept a file-like object rather than a filename.
-------------- next part --------------
=== modified file 'pqm/__init__.py'
--- a/pqm/__init__.py 2008-07-31 06:34:10 +0000
+++ b/pqm/__init__.py 2008-08-01 02:02:13 +0000
@@ -72,7 +72,7 @@
if patches_re.match(f):
fname=os.path.join(queuedir, f)
submission_time = os.stat(fname)[stat.ST_MTIME]
- patches.append((Script(fname, logger, options.verify_sigs,
+ patches.append((Script(open(fname), logger, options.verify_sigs,
submission_time, branch_spec_handler,
configp, options.keyring),
f))
=== modified file 'pqm/script.py'
--- a/pqm/script.py 2008-08-01 01:53:27 +0000
+++ b/pqm/script.py 2008-08-01 02:02:13 +0000
@@ -110,11 +110,11 @@
# parse matcher for the debug command
debug_re = re.compile('^debug')
- def __init__(self, filename, logger, verify_sigs, submission_time,
+ def __init__(self, file, logger, verify_sigs, submission_time,
branch_spec_handler, configp, keyring=None):
"""Create a script for a given file."""
self.debug = True
- self.filename = filename
+ self.file = file
self.logger = logger
self.verify_sigs = verify_sigs
self.readComplete = False
@@ -130,7 +130,8 @@
# something I plan on breaking in an ad hoc manner right now. The
# read_email and email.message_from_file and verify_sig functions
# need rearranging and consolidating to allow this.
- details = read_email_from_file(self.logger, open(self.filename))
+ email_string = self.file.read()
+ details = read_email_from_string(self.logger, email_string)
(self.sender, self.subject, self.msg, self.sig) = details
self.signing_email = None
if self.verify_sigs:
@@ -144,7 +145,7 @@
self.logger,
self._keyring)
self.signing_email = siguid
- self.msg = email.message_from_file(open(self.filename))
+ self.msg = email.message_from_string(email_string)
self.sender = self.msg['From']
self.logger.info ('sender: %s' , self.sender)
self.logger.info ('subject: %s' , self.subject)
=== modified file 'pqm/tests/test_pqm.py'
--- a/pqm/tests/test_pqm.py 2008-07-22 17:11:49 +0000
+++ b/pqm/tests/test_pqm.py 2008-08-01 02:02:13 +0000
@@ -108,10 +108,6 @@
class TestWithQueueDirectory(TestCaseWithQueue):
- def testName(self):
- patch = pqm.Script('foo.script', logging, False, 0, None, None)
- self.assertEqual(patch.filename, 'foo.script')
-
def getScript(self, queue, content):
"""Get a script for testing with."""
self.build_tree_contents([('foo.script', content)])
@@ -119,7 +115,8 @@
configp = ConfigParser()
configp.read([queue.configFileName])
handler = pqm.BranchSpecOptionHandler(configp)
- return pqm.Script('foo.script', logging, False, 54, handler, configp)
+ return pqm.Script(open('foo.script'), logging, False, 54, handler,
+ configp)
def testFields(self):
queue = self.getQueue()
More information about the bazaar-commits
mailing list