|
detail.makeLabel(parcel, _(u'link'), borderTop=2),
+ detail.makeSpacer(parcel, width=8),
+ detail.makeEditor(parcel, 'link',
+ viewAttribute=u'link',
+ border=RectType(0,2,2,2),
+ readOnly=True),
+ ],
+ ).install(parcel),
</span><span class="cx">
</span><span class="rem">- # Author area
- pair(&quot;AuthorArea&quot;, viewAttribute=u&quot;author&quot;, position=0.19,
- childrenBlocks = [
- label(&quot;AuthorLabel&quot;, title=u&quot;author&quot;),
- field(&quot;AuthorAttribute&quot;, title=u&quot;author&quot;),
- ]
- ),
</span><span class="add">+ # Date area
+ detail.makeArea(parcel, &quot;DateArea&quot;,
+ position=0.4,
+ childrenBlocks = [
+ detail.makeLabel(parcel, _(u&quot;date&quot;), borderTop=2),
+ detail.makeSpacer(parcel, width=8),
+ detail.makeEditor(parcel, 'date',
+ viewAttribute=u'date',
+ border=RectType(0,2,2,2),
+ readOnly=True,
+ stretchFactor=0.0,
+ size=SizeType(90, -1)),
+ ],
+ ).install(parcel),
</span><span class="cx">
</span><span class="rem">- # Date area
- pair(&quot;DateArea&quot;, viewAttribute=u&quot;date&quot;, position=0.4,
- childrenBlocks = [
- label(&quot;DateLabel&quot;, title=u&quot;date&quot;),
- DateDetail.update(parcel, &quot;DateAttribute&quot;,
- title=u&quot;date&quot;,
- characterStyle=blocks.LabelStyle,
- stretchFactor=0.0,
- textAlignmentEnum=&quot;Left&quot;,
- ),
- ],
- ),
</span><span class="add">+ detail.makeSpacer(parcel, height=7, position=0.8999).install(parcel),
+
+ FeedItemDetail.update(parcel, &quot;ItemBodyArea&quot;,
+ position=0.9,
+ blockName=&quot;articletext&quot;,
+ size=SizeType(100,50),
+ minimumSize=SizeType(100,50),
+ ),
+ ]
</span><span class="cx">
</span><span class="rem">- # Category
- pair(&quot;CategoryArea&quot;, viewAttribute=u&quot;category&quot;,
- position=0.2,
- childrenBlocks = [
- label(&quot;CategoryLabel&quot;, title=u&quot;category&quot;),
- field(&quot;CategoryAttribute&quot;,
- title=u&quot;category&quot;, stretchFactor=1.0
- ),
- ]
- ),
- ],
</span><span class="add">+
+ # The DetailTrunkSubtree ties the blocks to our FeedItem's Kind.
+ detail.DetailTrunkSubtree.update(parcel, &quot;ChannelSubtree&quot;,
+
+ # This ensures that this detail view gets attached to feed items
+ key = feeds.FeedItem.getKind(parcel.itsView),
+ rootBlocks = feedItemRootBlocks,
</span><span class="cx"> )
&lt;/pre&gt;
&lt;p /&gt;
</span><span class="rem">-Each &lt;code&gt;rootBlocks&lt;/code&gt; attribute refers to a widget or fragment of user interface which will be displayed in the Detail View. Chandler will ensure that these user interface fragments will display and edit the correct data in a consistent way.
</span><span class="add">+The &lt;code&gt;rootBlocks&lt;/code&gt; attribute of the &lt;code&gt;DetailTrunkSubtree&lt;/code&gt; refers to a widget or fragment of user interface which will be displayed in the Detail View. Chandler will ensure that these user interface fragments will display and edit the correct data in a consistent way. For the details on the feedItemRootBLocks, you'll need to look at the &lt;a href=&quot;http://chandler.osafoundation.org/docs/0.6/feeds-tutorial.html&quot;&gt;feeds tutorial&lt;/a&gt;. You cand find a list of all the available blocks &lt;a href=&quot;cpia-blocks.html&quot;&gt;here&lt;/a&gt;.
</span><span class="cx"> &lt;p /&gt;
&lt;h2&gt;&lt;a name=&quot;Loading_the_Items_into_Chandler&quot;&gt; &lt;/a&gt;&lt;a name=&quot;Loading_the_Items_into_Chandler_&quot;&gt; &lt;/a&gt; Loading the Items into Chandler: Parcels &lt;/h2&gt;
&lt;p /&gt;
</span><span class="lines">@@ -484,20 +369,20 @@
</span><span class="cx"> &lt;p /&gt;
&lt;strong&gt;Behind the scenes:&lt;/strong&gt; The Python code for Kinds and Items is merely a bootstrapping mechanism to get data loaded into the Repository. The Repository is the primary data store that Chandler uses to keep all user data, schemas, and more. If data that is declared in your Parcel is changed within the Repository, those changes will &lt;em&gt;not&lt;/em&gt; be serialized back the Python code in your Parcel..
&lt;p /&gt;
</span><span class="rem">-&lt;h2&gt;&lt;a name=&quot;Where_Chandler_is_today&quot;&gt; &lt;/a&gt; Where Chandler is today &lt;/h2&gt;
</span><span class="add">+&lt;h2&gt;&lt;a name=&quot;Where_Chandler_is_today&quot;&gt; &lt;/a&gt; Where we've been&lt;/h2&gt;
</span><span class="cx"> &lt;p /&gt;
In this paper, you have seen how to:
&lt;p /&gt;
&lt;ul&gt;
</span><span class="rem">-&lt;li&gt; Define new data types
</span><span class="add">+&lt;li&gt; Define new data types by declaring kinds
</span><span class="cx"> &lt;/li&gt;
</span><span class="rem">-&lt;li&gt; Populate the repository with new data
</span><span class="add">+&lt;li&gt; Populate the repository with new data using the &lt;code&gt;update&lt;/code&gt; method
</span><span class="cx"> &lt;/li&gt;
&lt;li&gt; Display that data in the Sidebar, Summary View, and Detail View
&lt;/li&gt;
&lt;/ul&gt;
&lt;p /&gt;
</span><span class="rem">-The next step is to spend some time developing your own data types and application behavior. The steps described here will get you some basic functionality out of your data but Chandler's true potential comes to light when you begin to explore some of its more advanced capabilities. When Items have been properly defined, many of these capabilities &quot;just work&quot; for your new Kind.
</span><span class="add">+The next step is to spend some time developing your own data types and application behavior. The steps described here will get you some basic functionality out of your data but Chandler's true potential comes to light when you begin to explore some of its more advanced capabilities. When Items have been properly defined, many of these capabilities &quot;just work&quot; for your new Kind. Two examples of these capabilities are Sharing and Stamping.
</span><span class="cx"> &lt;p /&gt;
&lt;h3&gt;&lt;a name=&quot;Sharing&quot;&gt; &lt;/a&gt; Sharing &lt;/h3&gt;
&lt;p /&gt;
</span><span class="lines">@@ -513,7 +398,7 @@
</span><span class="cx"> &lt;img src=&quot;http://wiki.osafoundation.org/pub/Documentation/BuildingChandlerParcels/mac_calendar_vertical.png&quot; alt=&quot;mac_calendar_vertical.png&quot; width=&quot;1024&quot; height=&quot retry = lambda: True
+
+ d = ssl.askIgnoreSSLError(
</span><span class="cx"> err.pem,
messages.SSL_HOST_MISMATCH % {'expectedHost': err.expectedHost, 'actualHost':
err.actualHost},
retry)
</span><span class="rem">- self._handleSSLError(handler, err, callable,
*args, **keywds)
-
</span><span class="add">+
+ if not waitForDeferred(d):
+ raise ActivityAborted(_(u&quot;Cancelled by user&quot;))
+
</span><span class="cx"> except M2Crypto.BIO.BIOError, err:
# Translate the mysterious M2Crypto.BIO.BIOError
raise error.SSLError(err)
</span><span class="rem">-
- def _handleSSLError(self, handler, err, callable, *args, **keywds):
- self._reconnect = False
-
- if Globals.wxApplication is not None: # test framework has no wxApplication
- handler()
-
- if hasattr(self, '_retry'):
- del self._retry
- else:
- raise err
</span><span class="cx">
</span><span class="rem">-
</span><span class="cx"> class ChandlerHTTPClientFactory(zanshin.http.HTTPClientFactory):
logLevel = logging.WARNING
# Set to logging.INFO (on this class, or specific instances)
</span><span class="lines">@@ -312,11 +303,13 @@
</span><span class="cx"> # Weird, huh? Welcome to the world of
wx...
callMethodInUIThread(self.callback, result)
if err.args[0] in ssl.unknown_issuer:
</span><span class="rem">- displaySSLCertDialog(err.untrustedCertificates[0],
self.reconnect)
</span><span class="add">+ d = ssl.askTrustServerCertificate(err.untrustedCertificates[0],
self.reconnect)
</span><span class="cx"> else:
</span><span class="rem">- displayIgnoreSSLErrorDialog(err.untrustedCertificates[0],
- err.args[0], self.reconnect)
</span><span class="add">+ d = ssl.askIgnoreSSLError(err.untrustedCertificates[0],
+ err.args[0], self.reconnect)
</span><span class="cx">
</span><span class="add">+ waitForDeferred(d)
+
</span><span class="cx"> return result
except Exception, e:
# There is a bug in the M2Crypto code which needs
</span><span class="lines">@@ -331,11 +324,12 @@
</span><span class="cx"> # the progress dialog will also kill the
SSL error dialog.
# Weird, huh? Welcome to the world of wx...
callMethodInUIThread(self.callback, result)
</span><span class="rem">- ssl.askIgnoreSSLError( err.pem,
- messages.SSL_HOST_MISMATCH % \
- {'expectedHost': err.expectedHost,
- 'actualHost': err.actualHost}, |
Sun, 26 Jan, 03:19 |
|
ssword=None,
useSSL=False, repositoryView=None):
</span><span class="lines">@@ -83,52 +80,46 @@
</span><span class="cx"> try:
return zanshin.util.blockUntil(callable, *args, **keywds)
except Utility.CertificateVerificationError, err:
</span><span class="add">+ self._reconnect = False
+
</span><span class="cx"> assert err.args[1] == 'certificate verify
failed'
# Reason why verification failed is stored in err.args[0], see
# codes at http://www.openssl.org/docs/apps/verify.html#DIAGNOSTICS
</span><span class="rem">- retry = (lambda: setattr(self, '_retry',
True))
</span><span class="add">+ retry = lambda: True
</span><span class="cx">
if err.args[0] in ssl.unknown_issuer:
</span><span class="rem">- handler = lambda: ssl.askTrustServerCertificate(
- wx.GetApp().UIRepositoryView,
</span><span class="add">+ d = ssl.askTrustServerCertificate(
</span><span class="cx"> err.untrustedCertificates[0],
retry)
else:
</span><span class="rem">- handler = lambda: ssl.askIgnoreSSLError(
</span><span class="add">+ d = ssl.askIgnoreSSLError(
</span><span class="cx"> err.untrustedCertificates[0],
err.args[0],
retry)
</span><span class="rem">-
- self._handleSSLError(handler, err, callable, *args, **keywds)
-
</span><span class="add">+
+ if not waitForDeferred(d):
+ raise ActivityAborted(_(u&quot;Cancelled by user&quot;))
+
</span><span class="cx"> except M2Crypto.SSL.Checker.WrongHost, err:
</span><span class="rem">- retry = (lambda: setattr(self, '_retry',
True))
-
- handler = lambda: ssl.askIgnoreSSLError(
</span><span class="add">+ self._reconnect = False
+
+ retry = lambda: True
+
+ d = ssl.askIgnoreSSLError(
</span><span class="cx"> err.pem,
messages.SSL_HOST_MISMATCH % {'expectedHost': err.expectedHost, 'actualHost':
err.actualHost},
retry)
</span><span class="rem">- self._handleSSLError(handler, err, callable,
*args, **keywds)
-
</span><span class="add">+
+ if not waitForDeferred(d):
+ raise ActivityAborted(_(u&quot;Cancelled by user&quot;))
+
</span><span class="cx"> except M2Crypto.BIO.BIOError, err:
# Translate the mysterious M2Crypto.BIO.BIOError
raise error.SSLError(err)
</span><span class="rem">-
- def _handleSSLError(self, handler, err, callable, *args, **keywds):
- self._reconnect = False
-
- if Globals.wxApplication is not None: # test framework has no wxApplication
- handler()
-
- if hasattr(self, '_retry'):
- del self._retry
- else:
- raise err
</span><span class="cx">
</span><span class="rem">-
</span><span class="cx"> class ChandlerHTTPClientFactory(zanshin.http.HTTPClientFactory):
logLevel = logging.WARNING
# Set to logging.INFO (on this class, or specific instances)
</span><span class="lines">@@ -312,11 +303,13 @@
</span><span class="cx"> # Weird, huh? Welcome to the world of
wx...
callMethodInUIThread(self.callback, result)
if err.args[0] in ssl.unknown_issuer:
</span><span class="rem">- displaySSLCertDialog(err.untrustedCertificates[0],
self.reconnect)
</span><span class="add">+ d = ssl.askTrustServerCertificate(err.untrustedCertificates[0],
self.reconnect)
</span><span class="cx"> else:
</span><span class="rem">- displayIgnoreSSLErrorDialog(err.untrustedCertificates[0],
- err.args[0], self.reconnect)
</span><span class="add">+ d = ssl.askIgnoreSSLError(err.untrustedCertificates[0],
+ err.args[0], self.reconnect)
</span><span class="cx">
</span><span class="add">+ waitForDeferred(d)
+
</span><span class="cx"> return result
except Exception, e:
# There is a bug in the M2Crypto code which needs
</span><span class="lines">@@ -331,11 +324,12 @@
</span><span class="cx"> # the progress dialog will also kill the
SSL error dialog.
# Weird, huh? Welcome to the world of wx...
callMethodInUIThread(self.callback, result)
</span><span class="rem">- ssl.askIgnoreSSLError( err.pem,
- messages.SSL_HOST_MISMATCH % \
- {'expectedHost': err.expectedHost,
- 'actualHost': err.actualHost}, |
Sun, 01 Sep, 04:58 |
|
ssword=None,
useSSL=False, repositoryView=None):
</span><span class="lines">@@ -83,52 +80,46 @@
</span><span class="cx"> try:
return zanshin.util.blockUntil(callable, *args, **keywds)
except Utility.CertificateVerificationError, err:
</span><span class="add">+ self._reconnect = False
+
</span><span class="cx"> assert err.args[1] == 'certificate verify
failed'
# Reason why verification failed is stored in err.args[0], see
# codes at http://www.openssl.org/docs/apps/verify.html#DIAGNOSTICS
</span><span class="rem">- retry = (lambda: setattr(self, '_retry',
True))
</span><span class="add">+ retry = lambda: True
</span><span class="cx">
if err.args[0] in ssl.unknown_issuer:
</span><span class="rem">- handler = lambda: ssl.askTrustServerCertificate(
- wx.GetApp().UIRepositoryView,
</span><span class="add">+ d = ssl.askTrustServerCertificate(
</span><span class="cx"> err.untrustedCertificates[0],
retry)
else:
</span><span class="rem">- handler = lambda: ssl.askIgnoreSSLError(
</span><span class="add">+ d = ssl.askIgnoreSSLError(
</span><span class="cx"> err.untrustedCertificates[0],
err.args[0],
retry)
</span><span class="rem">-
- self._handleSSLError(handler, err, callable, *args, **keywds)
-
</span><span class="add">+
+ if not waitForDeferred(d):
+ raise ActivityAborted(_(u&quot;Cancelled by user&quot;))
+
</span><span class="cx"> except M2Crypto.SSL.Checker.WrongHost, err:
</span><span class="rem">- retry = (lambda: setattr(self, '_retry',
True))
-
- handler = lambda: ssl.askIgnoreSSLError(
</span><span class="add">+ self._reconnect = False
+
+ retry = lambda: True
+
+ d = ssl.askIgnoreSSLError(
</span><span class="cx"> err.pem,
messages.SSL_HOST_MISMATCH % {'expectedHost': err.expectedHost, 'actualHost':
err.actualHost},
retry)
</span><span class="rem">- self._handleSSLError(handler, err, callable,
*args, **keywds)
-
</span><span class="add">+
+ if not waitForDeferred(d):
+ raise ActivityAborted(_(u&quot;Cancelled by user&quot;))
+
</span><span class="cx"> except M2Crypto.BIO.BIOError, err:
# Translate the mysterious M2Crypto.BIO.BIOError
raise error.SSLError(err)
</span><span class="rem">-
- def _handleSSLError(self, handler, err, callable, *args, **keywds):
- self._reconnect = False
-
- if Globals.wxApplication is not None: # test framework has no wxApplication
- handler()
-
- if hasattr(self, '_retry'):
- del self._retry
- else:
- raise err
</span><span class="cx">
</span><span class="rem">-
</span><span class="cx"> class ChandlerHTTPClientFactory(zanshin.http.HTTPClientFactory):
logLevel = logging.WARNING
# Set to logging.INFO (on this class, or specific instances)
</span><span class="lines">@@ -312,11 +303,13 @@
</span><span class="cx"> # Weird, huh? Welcome to the world of
wx...
callMethodInUIThread(self.callback, result)
if err.args[0] in ssl.unknown_issuer:
</span><span class="rem">- displaySSLCertDialog(err.untrustedCertificates[0],
self.reconnect)
</span><span class="add">+ d = ssl.askTrustServerCertificate(err.untrustedCertificates[0],
self.reconnect)
</span><span class="cx"> else:
</span><span class="rem">- displayIgnoreSSLErrorDialog(err.untrustedCertificates[0],
- err.args[0], self.reconnect)
</span><span class="add">+ d = ssl.askIgnoreSSLError(err.untrustedCertificates[0],
+ err.args[0], self.reconnect)
</span><span class="cx">
</span><span class="add">+ waitForDeferred(d)
+
</span><span class="cx"> return result
except Exception, e:
# There is a bug in the M2Crypto code which needs
</span><span class="lines">@@ -331,11 +324,12 @@
</span><span class="cx"> # the progress dialog will also kill the
SSL error dialog.
# Weird, huh? Welcome to the world of wx...
callMethodInUIThread(self.callback, result)
</span><span class="rem">- ssl.askIgnoreSSLError( err.pem,
- messages.SSL_HOST_MISMATCH % \
- {'expectedHost': err.expectedHost,
- 'actualHost': err.actualHost}, |
Sun, 01 Sep, 04:58 |
| m.@osafoundation.org> |
cert, reconnectMethod)
-
-def displayIgnoreSSLErrorDialog(cert, err, reconnectMethod):
- &quot;&quot;&quot;
- Displays the invalid cert dialog.
- &quot;&quot;&quot;
- from osaf.framework.certstore import ssl
- wxApplication = Globals.wxApplication
- if wxApplication is not None: # test framework has no wxApplication
- wxApplication.CallItemMethodAsync(&quot;MainView&quot;, 'callAnyCallable',
- ssl.askIgnoreSSLError, False, cert,
- err, reconnectMethod)
-
</span><span class="cx"> def NotifyUIAsync(message, logger=None, cl='setStatusMessage',
*args, **keys):
if logger is not None:
logger(message)
</span></pre></div>
<a id="trunkchandlerparcelsosafsharingWebDAVpy"></a>
<div class="modfile"><h4>Modified: trunk/chandler/parcels/osaf/sharing/WebDAV.py
(15401 => 15402)</h4>
<pre class="diff">
<span class="info">--- trunk/chandler/parcels/osaf/sharing/WebDAV.py 2007-10-05 21:38:04
UTC (rev 15401)
+++ trunk/chandler/parcels/osaf/sharing/WebDAV.py 2007-10-05 21:49:08 UTC (rev 15402)
</span><span class="lines">@@ -29,25 +29,22 @@
</span><span class="cx"> import zanshin.util
import zanshin.http
</span><span class="rem">-import wx
</span><span class="cx"> import M2Crypto
import chandlerdb
import twisted.internet.error as error
from twisted.internet import reactor
</span><span class="rem">-import application.Globals as Globals
</span><span class="cx"> import application.Utility as Utility
from osaf.framework.certstore import ssl
</span><span class="add">+from osaf.activity import ActivityAborted
</span><span class="cx"> from osaf import messages
import threading
import logging
import urllib
from i18n import ChandlerMessageFactory as _
</span><span class="rem">-from osaf.mail.utils import displayIgnoreSSLErrorDialog,
\
- displaySSLCertDialog, \
- callMethodInUIThread
</span><span class="add">+from osaf.mail.utils import callMethodInUIThread
+from osaf.framework.twisted import waitForDeferred
</span><span class="cx">
</span><span class="rem">-
</span><span class="cx"> class ChandlerServerHandle(zanshin.webdav.ServerHandle):
def __init__(self, host=None, port=None, username=None, password=None,
useSSL=False, repositoryView=None):
</span><span class="lines">@@ -83,52 +80,46 @@
</span><span class="cx"> try:
return zanshin.util.blockUntil(callable, *args, **keywds)
except Utility.CertificateVerificationError, err:
</span><span class="add">+ self._reconnect = False
+
</span><span class="cx"> assert err.args[1] == 'certificate verify
failed'
# Reason why verification failed is stored in err.args[0], see
# codes at http://www.openssl.org/docs/apps/verify.html#DIAGNOSTICS
</span><span class="rem">- retry = (lambda: setattr(self, '_retry',
True))
</span><span class="add">+ retry = lambda: True
</span><span class="cx">
if err.args[0] in ssl.unknown_issuer:
</span><span class="rem">- handler = lambda: ssl.askTrustServerCertificate(
- wx.GetApp().UIRepositoryView,
</span><span class="add">+ d = ssl.askTrustServerCertificate(
</span><span class="cx"> err.untrustedCertificates[0],
retry)
else:
</span><span class="rem">- handler = lambda: ssl.askIgnoreSSLError(
</span><span class="add">+ d = ssl.askIgnoreSSLError(
</span><span class="cx"> err.untrustedCertificates[0],
err.args[0],
retry)
</span><span class="rem">-
- self._handleSSLError(handler, err, callable, *args, **keywds)
-
</span><span class="add">+
+ if not waitForDeferred(d):
+ raise ActivityAborted(_(u&quot;Cancelled by user&quot;))
+
</span><span class="cx"> except M2Crypto.SSL.Checker.WrongHost, err:
</span><span class="rem">- retry = (lambda: setattr(self, '_retry',
True))
-
- handler = lambda: ssl.askIgnoreSSLError(
</span><span class="add">+ self._reconnect = False
+
+ retry = lambda: True
+
+ d = ssl.askIgnoreSSLError(
</span><span class="cx"> err.pem,
messages.SSL_HOST_MISMATCH % {'expectedHost': err.expectedHost, 'actualHost':
err.actualHost},
retry)
</span><span class="rem">- self._handleSSLError(handler, err, callable,
*args, **keywds)
-
</span><span class="add">+
+ if not waitForDeferred(d):
+ raise ActivityAborted(_(u&quot;Cancelled by user&quot;))
+
</span><span class="cx"> except M2Crypto.BIO.BIOError, err:
# Translate the mysterious M2Crypto.BIO.BIOError
raise error.SSLError(err)
</span><span class="rem">-
- def _handleSSLError(self, handler, err, callable, *args, **keywds):
- self._reconnect = False
-
- if Globals.wxApplication is not None: # test framework has no wxApplication
- handler()
-
- if hasattr(self, '_retry'):
- del self._retry
- else:
- raise err
</span><span class="cx">
</span><span class="rem">-
</span><span class="cx"> class ChandlerHTTPClientFactory(zanshin.http.HTTPClientFactory):
logLevel = logging.WARNING
# Set to logging.INFO (on this class, or specific instances)
</span><span class="lines">@@ -312,11 +303,13 @@
</span><span class="cx"> # Weird, huh? Welcome to the world of
wx...
callMethodInUIThread(self.callback, result)
if err.args[0] in ssl.unknown_issuer:
</span><span class="rem">- displaySSLCertDialog(err.untrustedCertificates[0],
self.reconnect)
</span><span class="add">+ d = ssl.askTrustServerCertificate(err.untrustedCertificates[0],
self.reconnect)
</span><span class="cx"> else:
</span><span class="rem">- displayIgnoreSSLErrorDialog(err.untrustedCertificates[0],
- err.args[0], self.reconnect)
</span><span class="add">+ d = ssl.askIgnoreSSLError(err.untrustedCertificates[0],
+ err.args[0], self.reconnect)
</span><span class="cx">
</span><span class="add">+ waitForDeferred(d)
+
</span><span class="cx"> return result
except Exception, e:
# There is a bug in the M2Crypto code which needs
</span><span class="lines">@@ -331,11 +324,12 @@
</span><span class="cx"> # the progress dialog will also kill the
SSL error dialog.
# Weird, huh? Welcome to the world of wx...
callMethodInUIThread(self.callback, result)
</span><span class="rem">- ssl.askIgnoreSSLError( err.pem,
- messages.SSL_HOST_MISMATCH % \
- {'expectedHost': err.expectedHost,
- 'actualHost': err.actualHost}, |
Mon, 03 May, 09:42 |
| m.@osafoundation.org> |
cert, reconnectMethod)
-
-def displayIgnoreSSLErrorDialog(cert, err, reconnectMethod):
- &quot;&quot;&quot;
- Displays the invalid cert dialog.
- &quot;&quot;&quot;
- from osaf.framework.certstore import ssl
- wxApplication = Globals.wxApplication
- if wxApplication is not None: # test framework has no wxApplication
- wxApplication.CallItemMethodAsync(&quot;MainView&quot;, 'callAnyCallable',
- ssl.askIgnoreSSLError, False, cert,
- err, reconnectMethod)
-
</span><span class="cx"> def NotifyUIAsync(message, logger=None, cl='setStatusMessage',
*args, **keys):
if logger is not None:
logger(message)
</span></pre></div>
<a id="trunkchandlerparcelsosafsharingWebDAVpy"></a>
<div class="modfile"><h4>Modified: trunk/chandler/parcels/osaf/sharing/WebDAV.py
(15401 => 15402)</h4>
<pre class="diff">
<span class="info">--- trunk/chandler/parcels/osaf/sharing/WebDAV.py 2007-10-05 21:38:04
UTC (rev 15401)
+++ trunk/chandler/parcels/osaf/sharing/WebDAV.py 2007-10-05 21:49:08 UTC (rev 15402)
</span><span class="lines">@@ -29,25 +29,22 @@
</span><span class="cx"> import zanshin.util
import zanshin.http
</span><span class="rem">-import wx
</span><span class="cx"> import M2Crypto
import chandlerdb
import twisted.internet.error as error
from twisted.internet import reactor
</span><span class="rem">-import application.Globals as Globals
</span><span class="cx"> import application.Utility as Utility
from osaf.framework.certstore import ssl
</span><span class="add">+from osaf.activity import ActivityAborted
</span><span class="cx"> from osaf import messages
import threading
import logging
import urllib
from i18n import ChandlerMessageFactory as _
</span><span class="rem">-from osaf.mail.utils import displayIgnoreSSLErrorDialog,
\
- displaySSLCertDialog, \
- callMethodInUIThread
</span><span class="add">+from osaf.mail.utils import callMethodInUIThread
+from osaf.framework.twisted import waitForDeferred
</span><span class="cx">
</span><span class="rem">-
</span><span class="cx"> class ChandlerServerHandle(zanshin.webdav.ServerHandle):
def __init__(self, host=None, port=None, username=None, password=None,
useSSL=False, repositoryView=None):
</span><span class="lines">@@ -83,52 +80,46 @@
</span><span class="cx"> try:
return zanshin.util.blockUntil(callable, *args, **keywds)
except Utility.CertificateVerificationError, err:
</span><span class="add">+ self._reconnect = False
+
</span><span class="cx"> assert err.args[1] == 'certificate verify
failed'
# Reason why verification failed is stored in err.args[0], see
# codes at http://www.openssl.org/docs/apps/verify.html#DIAGNOSTICS
</span><span class="rem">- retry = (lambda: setattr(self, '_retry',
True))
</span><span class="add">+ retry = lambda: True
</span><span class="cx">
if err.args[0] in ssl.unknown_issuer:
</span><span class="rem">- handler = lambda: ssl.askTrustServerCertificate(
- wx.GetApp().UIRepositoryView,
</span><span class="add">+ d = ssl.askTrustServerCertificate(
</span><span class="cx"> err.untrustedCertificates[0],
retry)
else:
</span><span class="rem">- handler = lambda: ssl.askIgnoreSSLError(
</span><span class="add">+ d = ssl.askIgnoreSSLError(
</span><span class="cx"> err.untrustedCertificates[0],
err.args[0],
retry)
</span><span class="rem">-
- self._handleSSLError(handler, err, callable, *args, **keywds)
-
</span><span class="add">+
+ if not waitForDeferred(d):
+ raise ActivityAborted(_(u&quot;Cancelled by user&quot;))
+
</span><span class="cx"> except M2Crypto.SSL.Checker.WrongHost, err:
</span><span class="rem">- retry = (lambda: setattr(self, '_retry',
True))
-
- handler = lambda: ssl.askIgnoreSSLError(
</span><span class="add">+ self._reconnect = False
+
+ retry = lambda: True
+
+ d = ssl.askIgnoreSSLError(
</span><span class="cx"> err.pem,
messages.SSL_HOST_MISMATCH % {'expectedHost': err.expectedHost, 'actualHost':
err.actualHost},
retry)
</span><span class="rem">- self._handleSSLError(handler, err, callable,
*args, **keywds)
-
</span><span class="add">+
+ if not waitForDeferred(d):
+ raise ActivityAborted(_(u&quot;Cancelled by user&quot;))
+
</span><span class="cx"> except M2Crypto.BIO.BIOError, err:
# Translate the mysterious M2Crypto.BIO.BIOError
raise error.SSLError(err)
</span><span class="rem">-
- def _handleSSLError(self, handler, err, callable, *args, **keywds):
- self._reconnect = False
-
- if Globals.wxApplication is not None: # test framework has no wxApplication
- handler()
-
- if hasattr(self, '_retry'):
- del self._retry
- else:
- raise err
</span><span class="cx">
</span><span class="rem">-
</span><span class="cx"> class ChandlerHTTPClientFactory(zanshin.http.HTTPClientFactory):
logLevel = logging.WARNING
# Set to logging.INFO (on this class, or specific instances)
</span><span class="lines">@@ -312,11 +303,13 @@
</span><span class="cx"> # Weird, huh? Welcome to the world of
wx...
callMethodInUIThread(self.callback, result)
if err.args[0] in ssl.unknown_issuer:
</span><span class="rem">- displaySSLCertDialog(err.untrustedCertificates[0],
self.reconnect)
</span><span class="add">+ d = ssl.askTrustServerCertificate(err.untrustedCertificates[0],
self.reconnect)
</span><span class="cx"> else:
</span><span class="rem">- displayIgnoreSSLErrorDialog(err.untrustedCertificates[0],
- err.args[0], self.reconnect)
</span><span class="add">+ d = ssl.askIgnoreSSLError(err.untrustedCertificates[0],
+ err.args[0], self.reconnect)
</span><span class="cx">
</span><span class="add">+ waitForDeferred(d)
+
</span><span class="cx"> return result
except Exception, e:
# There is a bug in the M2Crypto code which needs
</span><span class="lines">@@ -331,11 +324,12 @@
</span><span class="cx"> # the progress dialog will also kill the
SSL error dialog.
# Weird, huh? Welcome to the world of wx...
callMethodInUIThread(self.callback, result)
</span><span class="rem">- ssl.askIgnoreSSLError( err.pem,
- messages.SSL_HOST_MISMATCH % \
- {'expectedHost': err.expectedHost,
- 'actualHost': err.actualHost}, |
Mon, 03 May, 09:42 |
| m.@osafoundation.org> |
cert, reconnectMethod)
-
-def displayIgnoreSSLErrorDialog(cert, err, reconnectMethod):
- &quot;&quot;&quot;
- Displays the invalid cert dialog.
- &quot;&quot;&quot;
- from osaf.framework.certstore import ssl
- wxApplication = Globals.wxApplication
- if wxApplication is not None: # test framework has no wxApplication
- wxApplication.CallItemMethodAsync(&quot;MainView&quot;, 'callAnyCallable',
- ssl.askIgnoreSSLError, False, cert,
- err, reconnectMethod)
-
</span><span class="cx"> def NotifyUIAsync(message, logger=None, cl='setStatusMessage',
*args, **keys):
if logger is not None:
logger(message)
</span></pre></div>
<a id="trunkchandlerparcelsosafsharingWebDAVpy"></a>
<div class="modfile"><h4>Modified: trunk/chandler/parcels/osaf/sharing/WebDAV.py
(15401 => 15402)</h4>
<pre class="diff">
<span class="info">--- trunk/chandler/parcels/osaf/sharing/WebDAV.py 2007-10-05 21:38:04
UTC (rev 15401)
+++ trunk/chandler/parcels/osaf/sharing/WebDAV.py 2007-10-05 21:49:08 UTC (rev 15402)
</span><span class="lines">@@ -29,25 +29,22 @@
</span><span class="cx"> import zanshin.util
import zanshin.http
</span><span class="rem">-import wx
</span><span class="cx"> import M2Crypto
import chandlerdb
import twisted.internet.error as error
from twisted.internet import reactor
</span><span class="rem">-import application.Globals as Globals
</span><span class="cx"> import application.Utility as Utility
from osaf.framework.certstore import ssl
</span><span class="add">+from osaf.activity import ActivityAborted
</span><span class="cx"> from osaf import messages
import threading
import logging
import urllib
from i18n import ChandlerMessageFactory as _
</span><span class="rem">-from osaf.mail.utils import displayIgnoreSSLErrorDialog,
\
- displaySSLCertDialog, \
- callMethodInUIThread
</span><span class="add">+from osaf.mail.utils import callMethodInUIThread
+from osaf.framework.twisted import waitForDeferred
</span><span class="cx">
</span><span class="rem">-
</span><span class="cx"> class ChandlerServerHandle(zanshin.webdav.ServerHandle):
def __init__(self, host=None, port=None, username=None, password=None,
useSSL=False, repositoryView=None):
</span><span class="lines">@@ -83,52 +80,46 @@
</span><span class="cx"> try:
return zanshin.util.blockUntil(callable, *args, **keywds)
except Utility.CertificateVerificationError, err:
</span><span class="add">+ self._reconnect = False
+
</span><span class="cx"> assert err.args[1] == 'certificate verify
failed'
# Reason why verification failed is stored in err.args[0], see
# codes at http://www.openssl.org/docs/apps/verify.html#DIAGNOSTICS
</span><span class="rem">- retry = (lambda: setattr(self, '_retry',
True))
</span><span class="add">+ retry = lambda: True
</span><span class="cx">
if err.args[0] in ssl.unknown_issuer:
</span><span class="rem">- handler = lambda: ssl.askTrustServerCertificate(
- wx.GetApp().UIRepositoryView,
</span><span class="add">+ d = ssl.askTrustServerCertificate(
</span><span class="cx"> err.untrustedCertificates[0],
retry)
else:
</span><span class="rem">- handler = lambda: ssl.askIgnoreSSLError(
</span><span class="add">+ d = ssl.askIgnoreSSLError(
</span><span class="cx"> err.untrustedCertificates[0],
err.args[0],
retry)
</span><span class="rem">-
- self._handleSSLError(handler, err, callable, *args, **keywds)
-
</span><span class="add">+
+ if not waitForDeferred(d):
+ raise ActivityAborted(_(u&quot;Cancelled by user&quot;))
+
</span><span class="cx"> except M2Crypto.SSL.Checker.WrongHost, err:
</span><span class="rem">- retry = (lambda: setattr(self, '_retry',
True))
-
- handler = lambda: ssl.askIgnoreSSLError(
</span><span class="add">+ self._reconnect = False
+
+ retry = lambda: True
+
+ d = ssl.askIgnoreSSLError(
</span><span class="cx"> err.pem,
messages.SSL_HOST_MISMATCH % {'expectedHost': err.expectedHost, 'actualHost':
err.actualHost},
retry)
</span><span class="rem">- self._handleSSLError(handler, err, callable,
*args, **keywds)
-
</span><span class="add">+
+ if not waitForDeferred(d):
+ raise ActivityAborted(_(u&quot;Cancelled by user&quot;))
+
</span><span class="cx"> except M2Crypto.BIO.BIOError, err:
# Translate the mysterious M2Crypto.BIO.BIOError
raise error.SSLError(err)
</span><span class="rem">-
- def _handleSSLError(self, handler, err, callable, *args, **keywds):
- self._reconnect = False
-
- if Globals.wxApplication is not None: # test framework has no wxApplication
- handler()
-
- if hasattr(self, '_retry'):
- del self._retry
- else:
- raise err
</span><span class="cx">
</span><span class="rem">-
</span><span class="cx"> class ChandlerHTTPClientFactory(zanshin.http.HTTPClientFactory):
logLevel = logging.WARNING
# Set to logging.INFO (on this class, or specific instances)
</span><span class="lines">@@ -312,11 +303,13 @@
</span><span class="cx"> # Weird, huh? Welcome to the world of
wx...
callMethodInUIThread(self.callback, result)
if err.args[0] in ssl.unknown_issuer:
</span><span class="rem">- displaySSLCertDialog(err.untrustedCertificates[0],
self.reconnect)
</span><span class="add">+ d = ssl.askTrustServerCertificate(err.untrustedCertificates[0],
self.reconnect)
</span><span class="cx"> else:
</span><span class="rem">- displayIgnoreSSLErrorDialog(err.untrustedCertificates[0],
- err.args[0], self.reconnect)
</span><span class="add">+ d = ssl.askIgnoreSSLError(err.untrustedCertificates[0],
+ err.args[0], self.reconnect)
</span><span class="cx">
</span><span class="add">+ waitForDeferred(d)
+
</span><span class="cx"> return result
except Exception, e:
# There is a bug in the M2Crypto code which needs
</span><span class="lines">@@ -331,11 +324,12 @@
</span><span class="cx"> # the progress dialog will also kill the
SSL error dialog.
# Weird, huh? Welcome to the world of wx...
callMethodInUIThread(self.callback, result)
</span><span class="rem">- ssl.askIgnoreSSLError( err.pem,
- messages.SSL_HOST_MISMATCH % \
- {'expectedHost': err.expectedHost,
- 'actualHost': err.actualHost}, |
Mon, 03 May, 09:42 |
| nen |
t reactor
</span><span class="rem">-import application.Globals as Globals
</span><span class="cx"> import application.Utility as Utility
from osaf.framework.certstore import ssl
</span><span class="add">+from osaf.activity import ActivityAborted
</span><span class="cx"> from osaf import messages
import threading
import logging
import urllib
from i18n import ChandlerMessageFactory as _
</span><span class="rem">-from osaf.mail.utils import displayIgnoreSSLErrorDialog,
\
- displaySSLCertDialog, \
- callMethodInUIThread
</span><span class="add">+from osaf.mail.utils import callMethodInUIThread
+from osaf.framework.twisted import waitForDeferred
</span><span class="cx">
</span><span class="rem">-
</span><span class="cx"> class ChandlerServerHandle(zanshin.webdav.ServerHandle):
def __init__(self, host=None, port=None, username=None, password=None,
useSSL=False, repositoryView=None):
</span><span class="lines">@@ -83,52 +80,46 @@
</span><span class="cx"> try:
return zanshin.util.blockUntil(callable, *args, **keywds)
except Utility.CertificateVerificationError, err:
</span><span class="add">+ self._reconnect = False
+
</span><span class="cx"> assert err.args[1] == 'certificate verify
failed'
# Reason why verification failed is stored in err.args[0], see
# codes at http://www.openssl.org/docs/apps/verify.html#DIAGNOSTICS
</span><span class="rem">- retry = (lambda: setattr(self, '_retry',
True))
</span><span class="add">+ retry = lambda: True
</span><span class="cx">
if err.args[0] in ssl.unknown_issuer:
</span><span class="rem">- handler = lambda: ssl.askTrustServerCertificate(
- wx.GetApp().UIRepositoryView,
</span><span class="add">+ d = ssl.askTrustServerCertificate(
</span><span class="cx"> err.untrustedCertificates[0],
retry)
else:
</span><span class="rem">- handler = lambda: ssl.askIgnoreSSLError(
</span><span class="add">+ d = ssl.askIgnoreSSLError(
</span><span class="cx"> err.untrustedCertificates[0],
err.args[0],
retry)
</span><span class="rem">-
- self._handleSSLError(handler, err, callable, *args, **keywds)
-
</span><span class="add">+
+ if not waitForDeferred(d):
+ raise ActivityAborted(_(u&quot;Cancelled by user&quot;))
+
</span><span class="cx"> except M2Crypto.SSL.Checker.WrongHost, err:
</span><span class="rem">- retry = (lambda: setattr(self, '_retry',
True))
-
- handler = lambda: ssl.askIgnoreSSLError(
</span><span class="add">+ self._reconnect = False
+
+ retry = lambda: True
+
+ d = ssl.askIgnoreSSLError(
</span><span class="cx"> err.pem,
messages.SSL_HOST_MISMATCH % {'expectedHost': err.expectedHost, 'actualHost':
err.actualHost},
retry)
</span><span class="rem">- self._handleSSLError(handler, err, callable,
*args, **keywds)
-
</span><span class="add">+
+ if not waitForDeferred(d):
+ raise ActivityAborted(_(u&quot;Cancelled by user&quot;))
+
</span><span class="cx"> except M2Crypto.BIO.BIOError, err:
# Translate the mysterious M2Crypto.BIO.BIOError
raise error.SSLError(err)
</span><span class="rem">-
- def _handleSSLError(self, handler, err, callable, *args, **keywds):
- self._reconnect = False
-
- if Globals.wxApplication is not None: # test framework has no wxApplication
- handler()
-
- if hasattr(self, '_retry'):
- del self._retry
- else:
- raise err
</span><span class="cx">
</span><span class="rem">-
</span><span class="cx"> class ChandlerHTTPClientFactory(zanshin.http.HTTPClientFactory):
logLevel = logging.WARNING
# Set to logging.INFO (on this class, or specific instances)
</span><span class="lines">@@ -312,11 +303,13 @@
</span><span class="cx"> # Weird, huh? Welcome to the world of
wx...
callMethodInUIThread(self.callback, result)
if err.args[0] in ssl.unknown_issuer:
</span><span class="rem">- displaySSLCertDialog(err.untrustedCertificates[0],
self.reconnect)
</span><span class="add">+ d = ssl.askTrustServerCertificate(err.untrustedCertificates[0],
self.reconnect)
</span><span class="cx"> else:
</span><span class="rem">- displayIgnoreSSLErrorDialog(err.untrustedCertificates[0],
- err.args[0], self.reconnect)
</span><span class="add">+ d = ssl.askIgnoreSSLError(err.untrustedCertificates[0],
+ err.args[0], self.reconnect)
</span><span class="cx">
</span><span class="add">+ waitForDeferred(d)
+
</span><span class="cx"> return result
except Exception, e:
# There is a bug in the M2Crypto code which needs
</span><span class="lines">@@ -331,11 +324,12 @@
</span><span class="cx"> # the progress dialog will also kill the
SSL error dialog.
# Weird, huh? Welcome to the world of wx...
callMethodInUIThread(self.callback, result)
</span><span class="rem">- ssl.askIgnoreSSLError( err.pem,
- messages.SSL_HOST_MISMATCH % \
- {'expectedHost': err.expectedHost,
- 'actualHost': err.actualHost}, |
Wed, 11 Jan, 14:11 |
| od |
reactor
</span><span class="rem">-import application.Globals as Globals
</span><span class="cx"> import application.Utility as Utility
from osaf.framework.certstore import ssl
</span><span class="add">+from osaf.activity import ActivityAborted
</span><span class="cx"> from osaf import messages
import threading
import logging
import urllib
from i18n import ChandlerMessageFactory as _
</span><span class="rem">-from osaf.mail.utils import displayIgnoreSSLErrorDialog,
\
- displaySSLCertDialog, \
- callMethodInUIThread
</span><span class="add">+from osaf.mail.utils import callMethodInUIThread
+from osaf.framework.twisted import waitForDeferred
</span><span class="cx">
</span><span class="rem">-
</span><span class="cx"> class ChandlerServerHandle(zanshin.webdav.ServerHandle):
def __init__(self, host=None, port=None, username=None, password=None,
useSSL=False, repositoryView=None):
</span><span class="lines">@@ -83,52 +80,46 @@
</span><span class="cx"> try:
return zanshin.util.blockUntil(callable, *args, **keywds)
except Utility.CertificateVerificationError, err:
</span><span class="add">+ self._reconnect = False
+
</span><span class="cx"> assert err.args[1] == 'certificate verify
failed'
# Reason why verification failed is stored in err.args[0], see
# codes at http://www.openssl.org/docs/apps/verify.html#DIAGNOSTICS
</span><span class="rem">- retry = (lambda: setattr(self, '_retry',
True))
</span><span class="add">+ retry = lambda: True
</span><span class="cx">
if err.args[0] in ssl.unknown_issuer:
</span><span class="rem">- handler = lambda: ssl.askTrustServerCertificate(
- wx.GetApp().UIRepositoryView,
</span><span class="add">+ d = ssl.askTrustServerCertificate(
</span><span class="cx"> err.untrustedCertificates[0],
retry)
else:
</span><span class="rem">- handler = lambda: ssl.askIgnoreSSLError(
</span><span class="add">+ d = ssl.askIgnoreSSLError(
</span><span class="cx"> err.untrustedCertificates[0],
err.args[0],
retry)
</span><span class="rem">-
- self._handleSSLError(handler, err, callable, *args, **keywds)
-
</span><span class="add">+
+ if not waitForDeferred(d):
+ raise ActivityAborted(_(u&quot;Cancelled by user&quot;))
+
</span><span class="cx"> except M2Crypto.SSL.Checker.WrongHost, err:
</span><span class="rem">- retry = (lambda: setattr(self, '_retry',
True))
-
- handler = lambda: ssl.askIgnoreSSLError(
</span><span class="add">+ self._reconnect = False
+
+ retry = lambda: True
+
+ d = ssl.askIgnoreSSLError(
</span><span class="cx"> err.pem,
messages.SSL_HOST_MISMATCH % {'expectedHost': err.expectedHost, 'actualHost':
err.actualHost},
retry)
</span><span class="rem">- self._handleSSLError(handler, err, callable,
*args, **keywds)
-
</span><span class="add">+
+ if not waitForDeferred(d):
+ raise ActivityAborted(_(u&quot;Cancelled by user&quot;))
+
</span><span class="cx"> except M2Crypto.BIO.BIOError, err:
# Translate the mysterious M2Crypto.BIO.BIOError
raise error.SSLError(err)
</span><span class="rem">-
- def _handleSSLError(self, handler, err, callable, *args, **keywds):
- self._reconnect = False
-
- if Globals.wxApplication is not None: # test framework has no wxApplication
- handler()
-
- if hasattr(self, '_retry'):
- del self._retry
- else:
- raise err
</span><span class="cx">
</span><span class="rem">-
</span><span class="cx"> class ChandlerHTTPClientFactory(zanshin.http.HTTPClientFactory):
logLevel = logging.WARNING
# Set to logging.INFO (on this class, or specific instances)
</span><span class="lines">@@ -312,11 +303,13 @@
</span><span class="cx"> # Weird, huh? Welcome to the world of
wx...
callMethodInUIThread(self.callback, result)
if err.args[0] in ssl.unknown_issuer:
</span><span class="rem">- displaySSLCertDialog(err.untrustedCertificates[0],
self.reconnect)
</span><span class="add">+ d = ssl.askTrustServerCertificate(err.untrustedCertificates[0],
self.reconnect)
</span><span class="cx"> else:
</span><span class="rem">- displayIgnoreSSLErrorDialog(err.untrustedCertificates[0],
- err.args[0], self.reconnect)
</span><span class="add">+ d = ssl.askIgnoreSSLError(err.untrustedCertificates[0],
+ err.args[0], self.reconnect)
</span><span class="cx">
</span><span class="add">+ waitForDeferred(d)
+
</span><span class="cx"> return result
except Exception, e:
# There is a bug in the M2Crypto code which needs
</span><span class="lines">@@ -331,11 +324,12 @@
</span><span class="cx"> # the progress dialog will also kill the
SSL error dialog.
# Weird, huh? Welcome to the world of wx...
callMethodInUIThread(self.callback, result)
</span><span class="rem">- ssl.askIgnoreSSLError( err.pem,
- messages.SSL_HOST_MISMATCH % \
- {'expectedHost': err.expectedHost,
- 'actualHost': err.actualHost}, |
Sat, 17 Aug, 17:33 |
| sky |
# Reason why verification failed is stored in err.args[0], see
# codes at http://www.openssl.org/docs/apps/verify.html#DIAGNOSTICS
</span><span class="rem">- retry = (lambda: setattr(self, '_retry',
True))
</span><span class="add">+ retry = lambda: True
</span><span class="cx">
if err.args[0] in ssl.unknown_issuer:
</span><span class="rem">- handler = lambda: ssl.askTrustServerCertificate(
- wx.GetApp().UIRepositoryView,
</span><span class="add">+ d = ssl.askTrustServerCertificate(
</span><span class="cx"> err.untrustedCertificates[0],
retry)
else:
</span><span class="rem">- handler = lambda: ssl.askIgnoreSSLError(
</span><span class="add">+ d = ssl.askIgnoreSSLError(
</span><span class="cx"> err.untrustedCertificates[0],
err.args[0],
retry)
</span><span class="rem">-
- self._handleSSLError(handler, err, callable, *args, **keywds)
-
</span><span class="add">+
+ if not waitForDeferred(d):
+ raise ActivityAborted(_(u&quot;Cancelled by user&quot;))
+
</span><span class="cx"> except M2Crypto.SSL.Checker.WrongHost, err:
</span><span class="rem">- retry = (lambda: setattr(self, '_retry',
True))
-
- handler = lambda: ssl.askIgnoreSSLError(
</span><span class="add">+ self._reconnect = False
+
+ retry = lambda: True
+
+ d = ssl.askIgnoreSSLError(
</span><span class="cx"> err.pem,
messages.SSL_HOST_MISMATCH % {'expectedHost': err.expectedHost, 'actualHost':
err.actualHost},
retry)
</span><span class="rem">- self._handleSSLError(handler, err, callable,
*args, **keywds)
-
</span><span class="add">+
+ if not waitForDeferred(d):
+ raise ActivityAborted(_(u&quot;Cancelled by user&quot;))
+
</span><span class="cx"> except M2Crypto.BIO.BIOError, err:
# Translate the mysterious M2Crypto.BIO.BIOError
raise error.SSLError(err)
</span><span class="rem">-
- def _handleSSLError(self, handler, err, callable, *args, **keywds):
- self._reconnect = False
-
- if Globals.wxApplication is not None: # test framework has no wxApplication
- handler()
-
- if hasattr(self, '_retry'):
- del self._retry
- else:
- raise err
</span><span class="cx">
</span><span class="rem">-
</span><span class="cx"> class ChandlerHTTPClientFactory(zanshin.http.HTTPClientFactory):
logLevel = logging.WARNING
# Set to logging.INFO (on this class, or specific instances)
</span><span class="lines">@@ -312,11 +303,13 @@
</span><span class="cx"> # Weird, huh? Welcome to the world of
wx...
callMethodInUIThread(self.callback, result)
if err.args[0] in ssl.unknown_issuer:
</span><span class="rem">- displaySSLCertDialog(err.untrustedCertificates[0],
self.reconnect)
</span><span class="add">+ d = ssl.askTrustServerCertificate(err.untrustedCertificates[0],
self.reconnect)
</span><span class="cx"> else:
</span><span class="rem">- displayIgnoreSSLErrorDialog(err.untrustedCertificates[0],
- err.args[0], self.reconnect)
</span><span class="add">+ d = ssl.askIgnoreSSLError(err.untrustedCertificates[0],
+ err.args[0], self.reconnect)
</span><span class="cx">
</span><span class="add">+ waitForDeferred(d)
+
</span><span class="cx"> return result
except Exception, e:
# There is a bug in the M2Crypto code which needs
</span><span class="lines">@@ -331,11 +324,12 @@
</span><span class="cx"> # the progress dialog will also kill the
SSL error dialog.
# Weird, huh? Welcome to the world of wx...
callMethodInUIThread(self.callback, result)
</span><span class="rem">- ssl.askIgnoreSSLError( err.pem,
- messages.SSL_HOST_MISMATCH % \
- {'expectedHost': err.expectedHost,
- 'actualHost': err.actualHost}, |
Sun, 11 Apr, 13:06 |
| ulture Communication Technologie |
&lt;a href=&quot;&quot;&gt;tutorial&lt;/a&gt; on the workings of the Feeds parcel that will explain more of the details of writing a parcel.
</span><span class="add">+There is a more detailed &lt;a href=&quot;http://chandler.osafoundation.org/docs/0.6/feeds-tutorial.html&quot;&gt;tutorial&lt;/a&gt; on the workings of the Feeds parcel that will fill in the details of writing a parcel.
</span><span class="cx"> &lt;p /&gt;
You can visit the Chandler home page for ideas on how to &lt;a href=&quot;http://chandler.osafounation.org/getinvolved.php&quot;&gt;get involved&lt;/a&gt; with the Chandler project.
&lt;p /&gt;
</span>
</pre>
</div>
</div>
</body>
</html>
|
Sun, 26 Dec, 04:47 |