<html><head><style type="text/css" media="screen">Body{font-family: Verdana;font-size:.75em;}h4{font-size:.9em;}a{color: #3a62a6;}.digest .toc {margin-bottom: 15px; padding-bottom:8px; border-bottom: 1px solid #ccc;}.digest .tocItem {margin-bottom: 15px;}.tocItem a{color:#000;text-decoration: none;}.tocItem a:hover{color: #3a62a6;text-decoration: underline;}.topic{padding-bottom: 8px;margin-bottom: 20px; border-bottom: 1px solid #ccc;}.topicHeader{margin-bottom:10px;}.topicTitle{font-weight: bold;}.replies p{margin:0;padding:0;}.replies hr{width: 15%;text-align: left;margin: 0 auto 5px 0;border: none 0;border-top: 1px solid #ccc;height: 1px;}.reply{margin-bottom: 6px;padding-bottom: 4px;}.anchorMarker{color: #3a62a6;}.footer{color: gray;}</style></head><body><div class="digest"><p>Hi ironpython,</p><p>Here's your Daily Digest of new issues for project "<a href="http://ironpython.codeplex.com/">IronPython</a>".</p><p>In today's digest:</p><h4>ISSUES</h4><div class="toc"><div class="tocItem"><a href="#toc_issue_1">1. <span class="tocTitle">[New issue] datetime does not handle reverse comparisons correctly</span> <span class="anchorMarker">↓</span></a></div><div class="tocItem"><a href="#toc_issue_2">2. <span class="tocTitle">[Status update] datetime does not handle reverse comparisons correctly</span> <span class="anchorMarker">↓</span></a></div><div class="tocItem"><a href="#toc_issue_3">3. <span class="tocTitle">[Status update] Implement rest of datetime module</span> <span class="anchorMarker">↓</span></a></div><div class="tocItem"><a href="#toc_issue_4">4. <span class="tocTitle">[New comment] [2.7 Beta 2] deepcopy(time(9, 0)) != time(9, 0)</span> <span class="anchorMarker">↓</span></a></div><div class="tocItem"><a href="#toc_issue_5">5. <span class="tocTitle">[New issue] Restricted AppDomain and os.py module</span> <span class="anchorMarker">↓</span></a></div><div class="tocItem"><a href="#toc_issue_6">6. <span class="tocTitle">[New comment] pyc.py: generates exes which fail on using std python libs</span> <span class="anchorMarker">↓</span></a></div><div class="tocItem"><a href="#toc_issue_7">7. <span class="tocTitle">[New comment] pyc.py: generates exes which fail on using std python libs</span> <span class="anchorMarker">↓</span></a></div></div><h4>ISSUES</h4><div class="topic"><a name="toc_issue_1"></a><div class="topicHeader"><span class="topicTitle">1. [New issue] datetime does not handle reverse comparisons correctly</span> <a href="http://ironpython.codeplex.com/workitem/32501">view online</a></div><p>User jdhardy has proposed the issue:</p><p>"date can properly handle comparisons such as 'dt == []', but '[] == dt' is incorrect (get NotImplemented, should raise TypeError).<br /><br />I don't think the issue lies with datetime; I think that comparisons aren't quite right for the other types ((), [], {})."</p></div><div class="topic"><a name="toc_issue_2"></a><div class="topicHeader"><span class="topicTitle">2. [Status update] datetime does not handle reverse comparisons correctly</span> <a href="http://ironpython.codeplex.com/workitem/32501">view online</a></div><p>User jdhardy has updated the issue:</p><p>Status has changed from Active to Closed with the following comment, <br /><br />"It helps if the branch I'm working in isn't buggy. Whoops."</p></div><div class="topic"><a name="toc_issue_3"></a><div class="topicHeader"><span class="topicTitle">3. [Status update] Implement rest of datetime module</span> <a href="http://ironpython.codeplex.com/workitem/17470">view online</a></div><p>User jdhardy has updated the issue:</p><p>Status has changed from Active to Closed with the following comment, <br /><br />"__rdiv__ and __rfloordiv__ are also spurious. Marking this one closed; it's been done for a while."</p></div><div class="topic"><a name="toc_issue_4"></a><div class="topicHeader"><span class="topicTitle">4. [New comment] [2.7 Beta 2] deepcopy(time(9, 0)) != time(9, 0)</span> <a href="http://ironpython.codeplex.com/workitem/30274">view online</a></div><p>User jdhardy has commented on the issue:</p><p>"Fixed in 020ef3a.<br /><br />(I promise the next one won't take a year.)"</p></div><div class="topic"><a name="toc_issue_5"></a><div class="topicHeader"><span class="topicTitle">5. [New issue] Restricted AppDomain and os.py module</span> <a href="http://ironpython.codeplex.com/workitem/32502">view online</a></div><p>User FrankSch1 has proposed the issue:</p><p>"Hi,<br />it seams that importing os.py in an restricted AppDomain fails with some error in WeakRef.<br /><br />Sample code:<br />using System;<br />using System.Collections.Generic;<br />using System.IO;<br />using System.Security;<br />using System.Security.Policy;<br />using System.Security.Permissions;<br />using System.Reflection;<br />using Microsoft.Scripting.Hosting;<br />using IronPython.Hosting;<br /><br />namespace SimpleAD<br />{<br /> class Program<br /> {<br /> static void Main(string[] args)<br /> {<br /> string pyLibPath = @"<PathToIPLibFolder>";<br /> string code = @"<br />print 'Importing sys and addding lib path'<br />import sys<br />sys.path.append('"+pyLibPath+@"')<br />print 'Importing os'<br />import os<br />print 'OS Name',os.name<br />print 'Done'<br />";<br /><br /> StrongName fullTrustAssembly = <br />typeof(Program).Assembly.Evidence.GetHostEvidence<StrongName>();<br /> Evidence evi = AppDomain.CurrentDomain.Evidence;<br /> AppDomainSetup adSetup = new AppDomainSetup();<br /> adSetup.ApplicationBase = <br />Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);<br /><br /> /* THIS IS WORKING !<br /> PermissionSet permSet = new <br />PermissionSet(PermissionState.Unrestricted);<br /> */<br /><br /> PermissionSet permSet = new <br />PermissionSet(PermissionState.None);<br /> permSet.AddPermission(new <br />SecurityPermission(SecurityPermissionFlag.Execution));<br /> permSet.AddPermission(new <br />ReflectionPermission(PermissionState.Unrestricted));<br /><br /> FileIOPermission libPerm = new <br />FileIOPermission(PermissionState.None);<br /> libPerm.AddPathList(FileIOPermissionAccess.PathDiscovery | <br />FileIOPermissionAccess.Read, adSetup.ApplicationBase); // Assembly Path<br /> libPerm.AddPathList(FileIOPermissionAccess.PathDiscovery | <br />FileIOPermissionAccess.Read, pyLibPath); // Iron-Python <br />Lib Path<br /> permSet.AddPermission(libPerm);<br /><br /> AppDomain restricted = <br />AppDomain.CreateDomain("Sandbox",evi,adSetup,permSet,fullTrustAssembly);<br /><br /> Dictionary<string, object> options = new Dictionary<string, <br />object>();<br /> ScriptRuntimeSetup setup = Python.CreateRuntimeSetup(options);<br /><br /> ScriptRuntime runtime = <br />ScriptRuntime.CreateRemote(restricted, setup);<br /> ScriptEngine engine = runtime.GetEngine("Python");<br /> try<br /> {<br /> engine.Execute(code);<br /> }<br /> catch (Exception e)<br /> {<br /> (new PermissionSet(PermissionState.Unrestricted)).Assert();<br /> Console.WriteLine("Error:" + e.ToString());<br /> CodeAccessPermission.RevertAssert();<br /> }<br /> Console.ReadLine();<br /><br /> }<br /> }<br />}<br /><br />This is the exception which seams to point at the root cause of the issue:<br />[System.Security.SecurityException] = {"Request failed."}<br /> at Microsoft.Scripting.Utils.WeakHandle..ctor(Object target, Boolean <br />trackResurrection)<br /> at IronPython.Runtime.WeakRefTracker.CallbackInfo..ctor(Object <br />callback, Object weakRef)<br /> at IronPython.Runtime.WeakRefTracker.ChainCallback(Object callback, <br />Object weakRef)<br /> at IronPython.Runtime.WeakRefTracker..ctor(Object callback, Object <br />weakRef)<br /> at <br />IronPython.Modules.PythonWeakRef.WeakRefHelpers.InitializeWeakRef(Object <br />self, Object target, Object callback)<br /> at IronPython.Modules.PythonWeakRef.ref..ctor(Object object, Object <br />callback)<br /> at IronPython.Modules.PythonWeakRef.ref..ctor(Object object)<br /> at IronPython.Modules.PythonWeakRef.ref.__new__(CodeContext context, <br />PythonType cls, Object object)<br /> at System.Func`4.Invoke(T1 arg1, T2 arg2, T3 arg3)<br /> at <br />Microsoft.Scripting.Interpreter.FuncCallInstruction`4.Run(InterpretedFrame <br />frame)<br /> at Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame <br />frame)"</p></div><div class="topic"><a name="toc_issue_6"></a><div class="topicHeader"><span class="topicTitle">6. [New comment] pyc.py: generates exes which fail on using std python libs</span> <a href="http://ironpython.codeplex.com/workitem/32420">view online</a></div><p>User slide_o_mix has commented on the issue:</p><p>"So you think it would be good to have a way of embedding the stdlib as a zip into the executable instead of compiling it all up?"</p></div><div class="topic"><a name="toc_issue_7"></a><div class="topicHeader"><span class="topicTitle">7. [New comment] pyc.py: generates exes which fail on using std python libs</span> <a href="http://ironpython.codeplex.com/workitem/32420">view online</a></div><p>User ddewaleffe has commented on the issue:</p><p>"My primary concern is to be able to produce a real standalone exe. 1 file to copy somewhere. No requirement to copy/install anything else. Dont care if big...<br /><br />This first trial I made sort of partly work. For instance it works on:<br />import os.path<br />print "Hello"<br />print os.path.realpath('.')<br />print "running on", os.name<br />print "Bye"<br /><br />But it does not (no error message at all) for pyc.py. Don't know why at the moment. It surely worth looking at why it fails....<br /><br />Looking at the list of dependencies pulled in in each case, they are many.... so why not include the whole of stdlib at once instead of trying to analyze it by parsing at every compilation. This compiled version could be cached to avoid doing it every time...<br /><br />Now we have 2 ways to do this:<br />a. package the zip file and rely on zimpimport doing its work<br />b. compile all the files of the library and package them all in the executable"</p></div><div class="footer"><p>You are receiving this email because you subscribed to notifications on CodePlex.</p><p>To report a bug, request a feature, or add a comment, visit <a href="http://ironpython.codeplex.com/workitem/list/basic">IronPython Issue Tracker</a>. You can <a href="https://ironpython.codeplex.com/subscriptions/workitem/project/edit">unsubscribe or change your issue notification settings</a> on CodePlex.com.</p></div></div></body></html>