From 0b944a292442dcb7a5caaffb9e3cd7542bbf190f Mon Sep 17 00:00:00 2001 From: Dino Viehland Date: Tue, 8 May 2012 13:46:50 -0700 Subject: [PATCH] Adds pure Python script for FastCGI <-> WSGI gateway, in particular to support Django. Adds a getting started guide on how to setup the FastCGI script. This isn't fully complete, mainly because we need to figure out exactly how this should be setup. But it covers the basics of getting going. This is based upon the IIS/PHP setup instructions available here: http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis/ --- .../Product/Python/Analysis/AnalysisValue.cs | 41 +++ .../Product/Python/Analysis/PythonAnalyzer.cs | 60 ++++ .../Analysis/Values/BuiltinClassInfo.cs | 6 + .../Analysis/Values/BuiltinFunctionInfo.cs | 6 + .../Analysis/Values/BuiltinMethodInfo.cs | 2 +- .../Python/Analysis/Values/BuiltinModule.cs | 2 +- .../Python/Analysis/Values/ClassInfo.cs | 6 + .../Python/Analysis/Values/ConstantInfo.cs | 8 +- .../Python/Analysis/Values/DictionaryInfo.cs | 27 +- .../Python/Analysis/Values/FunctionInfo.cs | 48 +-- .../Python/Analysis/Values/ModuleInfo.cs | 2 +- .../Analysis/Values/NamespaceSetExtensions.cs | 21 +- .../Python/Analysis/Values/SequenceInfo.cs | 13 + .../Analysis/Values/SpecializedCallable.cs | 55 +++ Release/Product/Python/Django/Django.csproj | 7 + .../FastCGI Getting Started.html | 137 ++++++++ .../images/AddModuleMapping.jpg | Bin 0 -> 16572 bytes .../FastCgiTutorial/images/CGI in Vista.png | Bin 0 -> 31526 bytes .../images/IIS - Enable FastCGI Role.png | Bin 0 -> 42952 bytes .../images/PyFastCgiMapping.png | Bin 0 -> 34157 bytes .../images/handler mappings.jpg | Bin 0 -> 118645 bytes .../Python/Django/Project/DjangoProject.cs | 104 ++++-- Release/Product/Python/Django/wfastcgi.py | 330 ++++++++++++++++++ Release/Tests/AnalysisTest/AnalysisTest.cs | 34 ++ 24 files changed, 847 insertions(+), 62 deletions(-) create mode 100644 Release/Product/Python/Analysis/Values/SpecializedCallable.cs create mode 100644 Release/Product/Python/Django/FastCgiTutorial/FastCGI Getting Started.html create mode 100644 Release/Product/Python/Django/FastCgiTutorial/images/AddModuleMapping.jpg create mode 100644 Release/Product/Python/Django/FastCgiTutorial/images/CGI in Vista.png create mode 100644 Release/Product/Python/Django/FastCgiTutorial/images/IIS - Enable FastCGI Role.png create mode 100644 Release/Product/Python/Django/FastCgiTutorial/images/PyFastCgiMapping.png create mode 100644 Release/Product/Python/Django/FastCgiTutorial/images/handler mappings.jpg create mode 100644 Release/Product/Python/Django/wfastcgi.py diff --git a/Release/Product/Python/Analysis/AnalysisValue.cs b/Release/Product/Python/Analysis/AnalysisValue.cs index 8a33d4f032..42251d70d7 100644 --- a/Release/Product/Python/Analysis/AnalysisValue.cs +++ b/Release/Product/Python/Analysis/AnalysisValue.cs @@ -14,6 +14,7 @@ using System; using System.Collections.Generic; +using Microsoft.PythonTools.Parsing; namespace Microsoft.PythonTools.Analysis { /// @@ -25,6 +26,18 @@ public class AnalysisValue { internal AnalysisValue() { } + /// + /// Gets the name of the value if it has one, or null if it's a non-named item. + /// + /// The name property here is typically the same value you'd get by accessing __name__ + /// on the real Python object. + /// + public virtual string Name { + get { + return null; + } + } + /// /// Gets a list of locations where this value is defined. /// @@ -42,5 +55,33 @@ public class AnalysisValue { public virtual object GetConstantValue() { return Type.Missing; } + + /// + /// Returns the constant value as a string. This returns a string if the constant + /// value is either a unicode or ASCII string. + /// + public string GetConstantValueAsString() { + var constName = GetConstantValue(); + if (constName != null) { + string unicodeName = constName as string; + AsciiString asciiName; + if (unicodeName != null) { + return unicodeName; + } else if ((asciiName = constName as AsciiString) != null) { + return asciiName.String; + } + } + return null; + } + + /// + /// Returns a list of key/value pairs stored in the this object which are retrivable using + /// indexing. For lists the key values will be integers (potentially constant, potentially not), + /// for dicts the key values will be arbitrary analysis values. + /// + /// + public virtual IEnumerable, IEnumerable>> GetItems() { + yield break; + } } } diff --git a/Release/Product/Python/Analysis/PythonAnalyzer.cs b/Release/Product/Python/Analysis/PythonAnalyzer.cs index 3328e34605..689909afeb 100644 --- a/Release/Product/Python/Analysis/PythonAnalyzer.cs +++ b/Release/Product/Python/Analysis/PythonAnalyzer.cs @@ -116,11 +116,34 @@ public PythonAnalyzer(IPythonInterpreterFactory interpreterFactory) SpecializeFunction("__builtin__", "range", (n, unit, args) => unit.DeclaringModule.GetOrMakeNodeVariable(n, (nn) => new RangeInfo(_types.List, unit.ProjectState).SelfSet)); SpecializeFunction("__builtin__", "min", ReturnUnionOfInputs); SpecializeFunction("__builtin__", "max", ReturnUnionOfInputs); + SpecializeFunction("__builtin__", "getattr", SpecialGetAttr); // cached for quick checks to see if we're a call to clr.AddReference SpecializeFunction("wpf", "LoadComponent", LoadComponent); } + + private ISet SpecialGetAttr(CallExpression call, AnalysisUnit unit, ISet[] args) { + ISet res = EmptySet.Instance; + bool madeSet = false; + if (args.Length >= 2) { + if (args.Length >= 3) { + // getattr(foo, 'bar', baz), baz is a possible return value. + res = args[2]; + } + + foreach (var value in args[0]) { + foreach (var name in args[1]) { + // getattr(foo, 'bar') - attempt to do the getattr and return the proper value + var strValue = name.GetConstantValueAsString(); + if (strValue != null) { + res = res.Union(value.GetMember(call, unit, strValue), ref madeSet); + } + } + } + } + return res; + } /// /// Reloads the modules from the interpreter. @@ -378,6 +401,43 @@ class LazyModuleEnumerator { return new MemberResult[0]; } + /// + /// Specializes the provided function in the given module name to return an instance of the given type. + /// + /// The type is a fully qualified module name (e.g. thread.LockType). + /// + /// + /// + /// + public void SpecializeFunction(string moduleName, string name, string returnType) { + int lastDot; + if ((lastDot = returnType.LastIndexOf('.')) == -1) { + throw new ArgumentException(String.Format("Expected module.typename for return type, got '{0}'", returnType)); + } + + string retModule = returnType.Substring(0, lastDot); + string typeName = returnType.Substring(lastDot + 1); + + SpecializeFunction(moduleName, name, (call, unit, types) => { + ModuleReference modRef; + if (Modules.TryGetValue(retModule, out modRef)) { + if (modRef.Module != null) { + ISet res = EmptySet.Instance; + bool madeSet = false; + foreach (var value in modRef.Module.GetMember(call, unit, typeName)) { + if (value is ClassInfo) { + res = res.Union(((ClassInfo)value).Instance.SelfSet, ref madeSet); + } else { + res = res.Union(value.SelfSet, ref madeSet); + } + } + return res; + } + } + return null; + }); + } + public void SpecializeFunction(string moduleName, string name, Action dlg) { SpecializeFunction(moduleName, name, (call, unit, types) => { dlg(call, new CallInfo(types)); return null; }); } diff --git a/Release/Product/Python/Analysis/Values/BuiltinClassInfo.cs b/Release/Product/Python/Analysis/Values/BuiltinClassInfo.cs index 13cda96832..f76e500341 100644 --- a/Release/Product/Python/Analysis/Values/BuiltinClassInfo.cs +++ b/Release/Product/Python/Analysis/Values/BuiltinClassInfo.cs @@ -57,6 +57,12 @@ public BuiltinClassInfo(IPythonType classObj, PythonAnalyzer projectState) return Instance.SelfSet; } + public override string Name { + get { + return _type.Name; + } + } + public IEnumerable> GetMro() { return new[] { SelfSet }; } diff --git a/Release/Product/Python/Analysis/Values/BuiltinFunctionInfo.cs b/Release/Product/Python/Analysis/Values/BuiltinFunctionInfo.cs index 308d8306ba..c20f7fd904 100644 --- a/Release/Product/Python/Analysis/Values/BuiltinFunctionInfo.cs +++ b/Release/Product/Python/Analysis/Values/BuiltinFunctionInfo.cs @@ -56,6 +56,12 @@ public BuiltinFunctionInfo(IPythonFunction function, PythonAnalyzer projectState } } + public override string Name { + get { + return _function.Name; + } + } + public override string Description { get { if (_function.IsBuiltin) { diff --git a/Release/Product/Python/Analysis/Values/BuiltinMethodInfo.cs b/Release/Product/Python/Analysis/Values/BuiltinMethodInfo.cs index eadb0439c2..03659a49d0 100644 --- a/Release/Product/Python/Analysis/Values/BuiltinMethodInfo.cs +++ b/Release/Product/Python/Analysis/Values/BuiltinMethodInfo.cs @@ -117,7 +117,7 @@ public BuiltinMethodInfo(IPythonFunction function, PythonMemberType memType, Pyt } } - public string Name { get { return _function.Name; } } + public override string Name { get { return _function.Name; } } public override ILocatedMember GetLocatedMember() { return _function as ILocatedMember; diff --git a/Release/Product/Python/Analysis/Values/BuiltinModule.cs b/Release/Product/Python/Analysis/Values/BuiltinModule.cs index ea51407e79..c591c484fd 100644 --- a/Release/Product/Python/Analysis/Values/BuiltinModule.cs +++ b/Release/Product/Python/Analysis/Values/BuiltinModule.cs @@ -76,7 +76,7 @@ public BuiltinModule(IPythonModule module, PythonAnalyzer projectState) } } - public string Name { + public override string Name { get { return _interpreterModule.Name; } diff --git a/Release/Product/Python/Analysis/Values/ClassInfo.cs b/Release/Product/Python/Analysis/Values/ClassInfo.cs index e7e5747f5d..4764266cef 100644 --- a/Release/Product/Python/Analysis/Values/ClassInfo.cs +++ b/Release/Product/Python/Analysis/Values/ClassInfo.cs @@ -83,6 +83,12 @@ internal ClassInfo(AnalysisUnit unit, ClassDefinition klass) } } + public override string Name { + get { + return ClassDefinition.Name; + } + } + public VariableDef SubClasses { get { if (_subclasses == null) { diff --git a/Release/Product/Python/Analysis/Values/ConstantInfo.cs b/Release/Product/Python/Analysis/Values/ConstantInfo.cs index e3e9d5248b..a0da2d99ac 100644 --- a/Release/Product/Python/Analysis/Values/ConstantInfo.cs +++ b/Release/Product/Python/Analysis/Values/ConstantInfo.cs @@ -87,7 +87,7 @@ public ConstantInfo(IPythonConstant value, PythonAnalyzer projectState) return SelfSet; } - internal static ISet NumericOp(Node node, Namespace lhs, AnalysisUnit unit, PythonOperator operation, ISet rhs) { + internal static ISet NumericOp(Node node, BuiltinInstanceInfo lhs, AnalysisUnit unit, PythonOperator operation, ISet rhs) { BuiltinTypeId curType = lhs.TypeId; switch (operation) { case PythonOperator.TrueDivide: @@ -112,7 +112,7 @@ public ConstantInfo(IPythonConstant value, PythonAnalyzer projectState) break; case PythonOperator.Mod: if (lhs.TypeId == BuiltinTypeId.Str || lhs.TypeId == BuiltinTypeId.Bytes) { - return lhs.SelfSet; + return lhs.ClassInfo.Instance; } goto case PythonOperator.Add; case PythonOperator.Multiply: @@ -120,7 +120,7 @@ public ConstantInfo(IPythonConstant value, PythonAnalyzer projectState) foreach (var type in rhs) { var rhsType = type.TypeId; if (rhsType == BuiltinTypeId.Int || rhsType == BuiltinTypeId.Long) { - return lhs.SelfSet; + return lhs.ClassInfo.Instance; } } } else if (curType == BuiltinTypeId.Int || curType == BuiltinTypeId.Long) { @@ -243,7 +243,7 @@ public ConstantInfo(IPythonConstant value, PythonAnalyzer projectState) } public override string ToString() { - return ""; // " at " + hex(id(self)) + return ""; // " at " + hex(id(self)) } public override object GetConstantValue() { diff --git a/Release/Product/Python/Analysis/Values/DictionaryInfo.cs b/Release/Product/Python/Analysis/Values/DictionaryInfo.cs index b4ef4589af..4b26338d70 100644 --- a/Release/Product/Python/Analysis/Values/DictionaryInfo.cs +++ b/Release/Product/Python/Analysis/Values/DictionaryInfo.cs @@ -29,7 +29,7 @@ internal class DictionaryInfo : BuiltinInstanceInfo { private VariableDef _keyValueTupleVariable; private readonly ProjectEntry _declaringModule; private readonly int _declVersion; - private SpecializedDictionaryMethod _getMethod, _itemsMethod, _keysMethod, _valuesMethod, _iterKeysMethod, _iterValuesMethod, _popMethod, _popItemMethod, _iterItemsMethod; + private SpecializedDictionaryMethod _getMethod, _itemsMethod, _keysMethod, _valuesMethod, _iterKeysMethod, _iterValuesMethod, _popMethod, _popItemMethod, _iterItemsMethod, _updateMethod; public DictionaryInfo(ProjectEntry declaringModule) : base(declaringModule.ProjectState._dictType) { @@ -38,7 +38,6 @@ public DictionaryInfo(ProjectEntry declaringModule) _declaringModule = declaringModule; _declVersion = declaringModule.AnalysisVersion; } - public override ISet GetIndex(Node node, AnalysisUnit unit, ISet index) { return _valueTypes.Types; @@ -123,6 +122,9 @@ public DictionaryInfo(ProjectEntry declaringModule) res = GetOrMakeSpecializedMethod(ref _iterItemsMethod, "iteritems", method => new DictionaryItemsIterableBoundMethod(method, this)); } break; + case "update": + res = GetOrMakeSpecializedMethod(ref _updateMethod, "update", method => new DictionaryUpdateBoundMethod(method, this)); + break; } return res ?? base.GetMember(node, unit, name); @@ -402,6 +404,27 @@ internal DictionaryKeyValueTupleBoundMethod(BuiltinMethodInfo method, Dictionary } } + class DictionaryUpdateBoundMethod : SpecializedDictionaryMethod { + internal DictionaryUpdateBoundMethod(BuiltinMethodInfo method, DictionaryInfo myDict) + : base(method, myDict) { + } + + public override ISet Call(Node node, AnalysisUnit unit, ISet[] args, NameExpression[] keywordArgNames) { + if (args.Length >= 1) { + foreach (var type in args[0]) { + DictionaryInfo otherDict = type as DictionaryInfo; + if (otherDict != null) { + _myDict._valueTypes.AddTypes(node, unit, otherDict._valueTypes.Types); + _myDict._keyTypes.AddTypes(node, unit, otherDict._keyTypes.Types); + } + } + } + // TODO: Process keyword args and add those values to our dictionary, plus a string key + + return EmptySet.Instance; + } + } + #endregion public override string ToString() { diff --git a/Release/Product/Python/Analysis/Values/FunctionInfo.cs b/Release/Product/Python/Analysis/Values/FunctionInfo.cs index b02ba25bc8..161a783d19 100644 --- a/Release/Product/Python/Analysis/Values/FunctionInfo.cs +++ b/Release/Product/Python/Analysis/Values/FunctionInfo.cs @@ -187,6 +187,12 @@ internal FunctionInfo(AnalysisUnit unit) return false; } + public override string Name { + get { + return FunctionDefinition.Name; + } + } + public override string Description { get { StringBuilder result; @@ -219,29 +225,31 @@ internal FunctionInfo(AnalysisUnit unit) get { StringBuilder result = new StringBuilder(); bool first = true; - foreach (var ns in ReturnValue.Types) { - if (ns == null) { - continue; - } + if (ReturnValue.Types.Count <= 10) { + foreach (var ns in ReturnValue.Types) { + if (ns == null) { + continue; + } - if (ns.Push()) { - try { - if (ns.Description == null) { - continue; - } + if (ns.Push()) { + try { + if (ns.ShortDescription == null) { + continue; + } - if (first) { - result.Append(" -> "); - first = false; - } else { - result.Append(", "); - } - AppendDescription(result, ns); - } finally { + if (first) { + result.Append(" -> "); + first = false; + } else { + result.Append(", "); + } + AppendDescription(result, ns); + } finally { ns.Pop(); } - } else { - result.Append("..."); + } else { + result.Append("..."); + } } } @@ -255,7 +263,7 @@ internal FunctionInfo(AnalysisUnit unit) } else { DescriptionStack.Add(key); try { - result.Append(key.Description); + result.Append(key.ShortDescription); } finally { DescriptionStack.Pop(); } diff --git a/Release/Product/Python/Analysis/Values/ModuleInfo.cs b/Release/Product/Python/Analysis/Values/ModuleInfo.cs index e3b1cff72e..1f22ef88a5 100644 --- a/Release/Product/Python/Analysis/Values/ModuleInfo.cs +++ b/Release/Product/Python/Analysis/Values/ModuleInfo.cs @@ -194,7 +194,7 @@ internal class ModuleInfo : Namespace, IReferenceableContainer, IModule { } } - public string Name { + public override string Name { get { return _name; } } diff --git a/Release/Product/Python/Analysis/Values/NamespaceSetExtensions.cs b/Release/Product/Python/Analysis/Values/NamespaceSetExtensions.cs index baf7d20fde..9a3fd49920 100644 --- a/Release/Product/Python/Analysis/Values/NamespaceSetExtensions.cs +++ b/Release/Product/Python/Analysis/Values/NamespaceSetExtensions.cs @@ -239,7 +239,26 @@ internal static class NamespaceSetExtensions { Namespace type = null; if (types.Count == 1) { type = System.Linq.Enumerable.First(types); - } else if (types.Count > 0) { + } else if(types.Count == 2) { + var enumer = types.GetEnumerator(); + Namespace first = null, second = null; + if (enumer.MoveNext()) { + first = enumer.Current; + } + if (enumer.MoveNext()) { + second = enumer.Current; + } + + if (first != null && second != null) { + if (first.GetConstantValue() == null) { + return second; + } else if (second.GetConstantValue() == null) { + return first; + } + } + } + + if (types.Count > 0) { // simplify the types. var set = new HashSet(types, TypeUnion.UnionComparer); if (set.Count == 1) { diff --git a/Release/Product/Python/Analysis/Values/SequenceInfo.cs b/Release/Product/Python/Analysis/Values/SequenceInfo.cs index f52a6332c6..9d0c225ecf 100644 --- a/Release/Product/Python/Analysis/Values/SequenceInfo.cs +++ b/Release/Product/Python/Analysis/Values/SequenceInfo.cs @@ -20,6 +20,8 @@ using Microsoft.PythonTools.Parsing.Ast; namespace Microsoft.PythonTools.Analysis.Values { + using AnalysisKeyValuePair = KeyValuePair, IEnumerable>; + /// /// Specialized built-in instance for sequences (lists, tuples) /// @@ -140,5 +142,16 @@ public SequenceInfo(VariableDef[] indexTypes, BuiltinClassInfo seqType) public override int UnionHashCode() { return IndexTypes.Length; } + + public override IEnumerable GetItems() { + for (int i = 0; i < IndexTypes.Length; i++) { + var value = IndexTypes[i]; + + yield return new AnalysisKeyValuePair( + ProjectState.GetConstant(i), + value.Types + ); + } + } } } diff --git a/Release/Product/Python/Analysis/Values/SpecializedCallable.cs b/Release/Product/Python/Analysis/Values/SpecializedCallable.cs new file mode 100644 index 0000000000..b9667ee8e0 --- /dev/null +++ b/Release/Product/Python/Analysis/Values/SpecializedCallable.cs @@ -0,0 +1,55 @@ +/* **************************************************************************** + * + * Copyright (c) Microsoft Corporation. + * + * This source code is subject to terms and conditions of the Apache License, Version 2.0. A + * copy of the license can be found in the License.html file at the root of this distribution. If + * you cannot locate the Apache License, Version 2.0, please send an email to + * vspython@microsoft.com. By using this source code in any fashion, you are agreeing to be bound + * by the terms of the Apache License, Version 2.0. + * + * You must not remove this notice, or any other, from this software. + * + * ***************************************************************************/ + +using System; +using System.Collections.Generic; +using Microsoft.PythonTools.Analysis.Interpreter; +using Microsoft.PythonTools.Parsing.Ast; + +namespace Microsoft.PythonTools.Analysis.Values { + /// + /// Provides a built-in function whose analysis we deeply understand. Created with a custom delegate which + /// allows custom behavior rather than the typical behavior of returning the return type of the function. + /// + /// This is used for clr.AddReference* and calls to range() both of which we want to be customized in different + /// ways. + /// + class SpecializedCallable : SpecializedNamespace { + private readonly Func[], ISet> _call; + + public SpecializedCallable(Namespace original, Func[], ISet> call) + : base(original) { + _call = call; + } + + public SpecializedCallable(Namespace original, Namespace inst, Func[], ISet> call) + : base(original, inst) { + _call = call; + } + + public override ISet Call(Node node, AnalysisUnit unit, ISet[] args, NameExpression[] keywordArgNames) { + var realArgs = args; + if (_inst != null) { + realArgs = Utils.Concat(_inst.SelfSet, args); + } + + var analyzed = _original.Call(node, unit, args, keywordArgNames); + return _call((CallExpression)node, unit, realArgs) ?? analyzed; + } + + protected override SpecializedNamespace Clone(Namespace original, Namespace instance) { + return new SpecializedCallable(original, instance, _call); + } + } +} diff --git a/Release/Product/Python/Django/Django.csproj b/Release/Product/Python/Django/Django.csproj index c213571731..ef0402202f 100644 --- a/Release/Product/Python/Django/Django.csproj +++ b/Release/Product/Python/Django/Django.csproj @@ -214,6 +214,13 @@ true + + + + + + + Designer diff --git a/Release/Product/Python/Django/FastCgiTutorial/FastCGI Getting Started.html b/Release/Product/Python/Django/FastCgiTutorial/FastCGI Getting Started.html new file mode 100644 index 0000000000..e82dcab939 --- /dev/null +++ b/Release/Product/Python/Django/FastCgiTutorial/FastCGI Getting Started.html @@ -0,0 +1,137 @@ + + + + wfastcgi - WSGI FastCGI for IIS and Windows + + + + +

Overview

+

The FastCGI module in IIS enables popular application frameworks that support the FastCGI protocol to be hosted on the IIS Web server in a high performance and reliable way. +FastCGI provides a high-performance alternative to the Common Gateway Interface (CGI), which is a standard way of interfacing external applications with Web servers that has been a part of the supported IIS +feature set since the first release.

+ +

CGI programs are executable files that are launched by the Web server for each request to process the request and generate dynamic responses that are then sent back to the client. +Because many of these frameworks do not support multi-threaded execution, CGI enables them to execute reliably on IIS by executing exactly one request per process. Unfortunately, it provides +poor performance due to the high cost of starting and shutting down a process for each request.

+ +

FastCGI addresses the performance issues that are inherent in CGI by providing a mechanism to reuse a single process over and over again for many requests. Additionally, FastCGI +maintains compatibility with non-thread-safe libraries by providing a pool of reusable processes and ensuring that each process handles only one request at a time.

+ +

Enable FastCGI Support in IIS 7

+

Windows Server 2008

+

Go to Server Manager -> Roles -> Add Role Services. On the Select Role Services page, select the CGI check box. This enables both the CGI and FastCGI services.

+ + + +

Windows Vista SP1

+

Go to Control Panel -> Programs and Features -> Turn Windows features on or off. In the Windows Features dialog box, select the CGI check box. This enables both the CGI and FastCGI services.

+ + +

+ + IMPORTANT: Install the Update for the FastCGI Module +The update for the IIS 7 FastCGI module fixes several known compatibility issues with popular PHP applications. Install the update from one of the following locations: +

+ +

+  

+

+ Install the + Administration Pack for IIS 7

+

+ NOTE: This step is optional.

+

+ Among other useful features, the Administration Pack for IIS 7 has a convenient + user interface for configuring FastCGI settings. The Administration Pack can be + installed from the following locations:

+ + +

Install and Configure Python and Django

+ + +

Install wfastcgi

+

Currently this file just needs to be copied somewhere onto your machine, where you can refer to it in the configuring step below.

+ +

Configure IIS 7 to Handle Python Requests

+
    +
  1. Open IIS Manager. At the server level, double-click Handler Mappings.

    + +
  2. +
  3. In the Actions pane, click Add Module Mapping.... In the Add Module Mapping dialog box, specify the configuration settings as follows: + +
      +
    • Request path: * TODO: NEED GUIDANCE ON THE REQUEST PATH HERE
    • +
    • Module: FastCgiModule
    • +
    • Executable: "C:\Python27\python.exe|<path to wfastcgi.py>\wfastcgi.py"
    • +
    • Name: Python via FastCGI
    • +
    +
  4. +
  5. Click OK

    + +
  6. +
  7. In the Add Module Mapping confirmation dialog box that asks if you want to create a FastCGI application for this executable, click Yes.

    + + +
  8. + +
  9. +Add FastCGI settings. +
      +
    • In IIS Manager. At the server level, double-click FastCGI Settings.
      +
    • +
    • Click Add Application... under Actions
    • +
    • For Full Path specify the path to the Python interpreter, and for Arguments specify the path to wfastcgi.py
      +
      +
    • +
    • Click on the Environment Variables collection and define the following variables:
      + + + + + +
      NameValue
      WSGI_HANDLERdjango.core.handlers.wsgi.WSGIHandler
      DJANGO_SETTINGS_MODULEsettings
      PYTHON_PATH<path to django application>
      +
    • +
    +
  10. +
  11. Test that the handler mapping works correctly by ... DOING WHAT EXACTLY? + +
  12. +
+ + \ No newline at end of file diff --git a/Release/Product/Python/Django/FastCgiTutorial/images/AddModuleMapping.jpg b/Release/Product/Python/Django/FastCgiTutorial/images/AddModuleMapping.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fc9a2f2147e340656ee1a846cc076e6ae99de58b GIT binary patch literal 16572 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 literal 0 HcmV?d00001 diff --git a/Release/Product/Python/Django/FastCgiTutorial/images/CGI in Vista.png b/Release/Product/Python/Django/FastCgiTutorial/images/CGI in Vista.png new file mode 100644 index 0000000000000000000000000000000000000000..1c2dbfcae4eea6b47eec527c4f37ce4c7baa5bca GIT binary patch literal 31526 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 zÐ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

5U^XmWgrrDtCS1@ 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 OxL?FDLOT{GRB&d{_n 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 literal 0 HcmV?d00001 diff --git a/Release/Product/Python/Django/Project/DjangoProject.cs b/Release/Product/Python/Django/Project/DjangoProject.cs index 65e9f811c6..1d4e9422c5 100644 --- a/Release/Product/Python/Django/Project/DjangoProject.cs +++ b/Release/Product/Python/Django/Project/DjangoProject.cs @@ -39,6 +39,8 @@ class DjangoProject : FlavoredProject { private IVsProjectFlavorCfgProvider _innerVsProjectFlavorCfgProvider; private static Guid PythonProjectGuid = new Guid("888888a0-9f3d-457c-b088-3a5042f75d52"); private static ImageList _images; + internal Dictionary _tags = new Dictionary(); + internal Dictionary _filters = new Dictionary(); #region IVsAggregatableProject @@ -74,60 +76,98 @@ class DjangoProject : FlavoredProject { analyzer.SpecializeFunction("django.template.loader", "render_to_string", RenderToStringProcessor); analyzer.SpecializeFunction("django.template.base.Library", "filter", FilterProcessor); analyzer.SpecializeFunction("django.template.base.Library", "tag", TagProcessor); + analyzer.SpecializeFunction("django.template.base.Parser", "parse", ParseProcessor); + analyzer.SpecializeFunction("django.template.base", "import_library", "django.template.base.Library"); break; } } } - // Load the icon we will be using for our nodes - /*Assembly assembly = Assembly.GetExecutingAssembly(); - nodeIcon = new Icon(assembly.GetManifestResourceStream("Microsoft.VisualStudio.VSIP.Samples.Flavor.Node.ico")); - this.FileAdded += new EventHandler(this.UpdateIcons); - this.FileRenamed += new EventHandler(this.UpdateIcons);*/ } - internal Dictionary _tags = new Dictionary(); - internal Dictionary _filters = new Dictionary(); - private void FilterProcessor(CallExpression call, CallInfo callInfo) { - if (callInfo.NormalArgumentCount >= 3) { - foreach (var name in callInfo.GetArgument(1)) { - var constName = name.GetConstantValue(); - string unicodeName = constName as string; - if (unicodeName != null) { - _filters[unicodeName] = unicodeName; - } - - AsciiString asciiName = constName as AsciiString; - if (asciiName != null) { - _filters[asciiName.String] = asciiName.String; + private void ParseProcessor(CallExpression call, CallInfo callInfo) { + // def parse(self, parse_until=None): + // We want to find closing tags here passed to parse_until... + if (callInfo.NormalArgumentCount >= 2) { + foreach (var tuple in callInfo.GetArgument(1)) { + foreach (var indexValue in tuple.GetItems()) { + var values = indexValue.Value; + foreach (var value in values) { + var str = value.GetConstantValueAsString(); + if (str != null) { + RegisterTag(_tags, str); + } + } } } } } + private static string GetConstantString(AnalysisValue value) { + var constName = value.GetConstantValue(); + if (constName != null) { + string unicodeName = constName as string; + AsciiString asciiName; + if (unicodeName != null) { + return unicodeName; + } else if ((asciiName = constName as AsciiString) != null) { + return asciiName.String; + } + } + return null; + } + + private void FilterProcessor(CallExpression call, CallInfo callInfo) { + ProcessTags(callInfo, _filters); + } + private void TagProcessor(CallExpression call, CallInfo callInfo) { + ProcessTags(callInfo, _tags); + } + + private static void ProcessTags(CallInfo callInfo, Dictionary tags) { if (callInfo.NormalArgumentCount >= 3) { + // library.filter(name, value) foreach (var name in callInfo.GetArgument(1)) { var constName = name.GetConstantValue(); - string unicodeName = constName as string; - if (unicodeName != null) { - _tags[unicodeName] = unicodeName; + if (constName == Type.Missing) { + if (name.Name != null) { + RegisterTag(tags, name.Name); + } + } else { + var strName = name.GetConstantValueAsString(); + if (strName != null) { + RegisterTag(tags, strName); + } } - - AsciiString asciiName = constName as AsciiString; - if (asciiName != null) { - _tags[asciiName.String] = asciiName.String; + } + } else if (callInfo.NormalArgumentCount >= 2) { + // library.filter(value) + foreach (var name in callInfo.GetArgument(1)) { + if (name.Name != null) { + RegisterTag(tags, name.Name); } } - } + } + } + + private static void RegisterTag(Dictionary tags, string name) { + tags[name] = name; } private void RenderToStringProcessor(CallExpression call, CallInfo callInfo) { - if (call.Args.Count == 2) { - var templateName = call.Args[0].Expression as ConstantExpression; - if (templateName != null) { - var variablesList = call.Args[1].Expression as DictionaryExpression; - if (variablesList != null) { + if (callInfo.NormalArgumentCount == 2) { + foreach (var name in callInfo.GetArgument(0)) { + var constName = name.GetConstantValue(); + var strName = constName as string; + AsciiString asciiName; + if (strName != null) { + } else if ((asciiName = constName as AsciiString) != null) { + strName = asciiName.String; + } else { + continue; + } + foreach (var dict in callInfo.GetArgument(1)) { } } } diff --git a/Release/Product/Python/Django/wfastcgi.py b/Release/Product/Python/Django/wfastcgi.py new file mode 100644 index 0000000000..46fc696899 --- /dev/null +++ b/Release/Product/Python/Django/wfastcgi.py @@ -0,0 +1,330 @@ +import sys +import struct +import cStringIO +import os +import traceback + +# http://www.fastcgi.com/devkit/doc/fcgi-spec.html#S3 + +FCGI_VERSION_1 = 1 +FCGI_HEADER_LEN = 8 + +FCGI_BEGIN_REQUEST = 1 +FCGI_ABORT_REQUEST = 2 +FCGI_END_REQUEST = 3 +FCGI_PARAMS = 4 +FCGI_STDIN = 5 +FCGI_STDOUT = 6 +FCGI_STDERR = 7 +FCGI_DATA = 8 +FCGI_GET_VALUES = 9 +FCGI_GET_VALUES_RESULT = 10 +FCGI_UNKNOWN_TYPE = 11 +FCGI_MAXTYPE = FCGI_UNKNOWN_TYPE + +FCGI_NULL_REQUEST_ID = 0 + +FCGI_KEEP_CONN = 1 + +FCGI_RESPONDER = 1 +FCGI_AUTHORIZER = 2 +FCGI_FILTER = 3 + +FCGI_REQUEST_COMPLETE = 0 +FCGI_CANT_MPX_CONN = 1 +FCGI_OVERLOADED = 2 +FCGI_UNKNOWN_ROLE = 3 + +FCGI_MAX_CONNS = "FCGI_MAX_CONNS" +FCGI_MAX_REQS = "FCGI_MAX_REQS" +FCGI_MPXS_CONNS = "FCGI_MPXS_CONNS" + +class FastCgiRecord(object): + """Represents a FastCgiRecord. Encapulates the type, role, flags. Holds +onto the params which we will receive and update later.""" + def __init__(self, type, req_id, role, flags): + self.type = type + self.req_id = req_id + self.role = role + self.flags = flags + self.params = {} + + def __repr__(self): + return '' % (self.type, + self.req_id, + self.role, + self.flags) + +#typedef struct { +# unsigned char version; +# unsigned char type; +# unsigned char requestIdB1; +# unsigned char requestIdB0; +# unsigned char contentLengthB1; +# unsigned char contentLengthB0; +# unsigned char paddingLength; +# unsigned char reserved; +# unsigned char contentData[contentLength]; +# unsigned char paddingData[paddingLength]; +#} FCGI_Record; + +def read_fastcgi_record(input): + """reads the main fast cgi record""" + data = input.read(8) # read record + content_size = ord(data[4]) << 8 | ord(data[5]) + + content = input.read(content_size) # read content + input.read(ord(data[6])) # read padding + + if ord(data[0]) != FCGI_VERSION_1: + raise Exception('Unknown fastcgi version ' + str(data[0])) + + req_id = (ord(data[2]) << 8) | ord(data[3]) + + reqtype = ord(data[1]) + processor = REQUEST_PROCESSORS.get(reqtype) + if processor is None: + # unknown type requested, send response + send_response(req_id, FCGI_UNKNOWN_TYPE, data[1] + '\0' * 7) + return None + + return processor(req_id, content) + + +def read_fastcgi_begin_request(req_id, content): + """reads the begin request body and updates our +_REQUESTS table to include the new request""" + # typedef struct { + # unsigned char roleB1; + # unsigned char roleB0; + # unsigned char flags; + # unsigned char reserved[5]; + # } FCGI_BeginRequestBody; + + # TODO: Ignore request if it exists + res = FastCgiRecord( + FCGI_BEGIN_REQUEST, + req_id, + (ord(content[0]) << 8) | ord(content[1]), # role + ord(content[2]), # flags + ) + _REQUESTS[req_id] = res + + +def read_fastcgi_keyvalue_pairs(content, offset): + """Reads a FastCGI key/value pair stream""" + + name_len = ord(content[offset]) + + if (name_len & 0x80) != 0: + name_full_len = content[offset:offset+4] + name_len = int_struct.unpack(name_full_len)[0] + offset += 4 + else: + offset += 1 + + value_len = ord(content[offset]) + + if (value_len & 0x80) != 0: + value_full_len = content[offset:offset+4] + value_len = int_struct.unpack(value_full_len)[0] + offset += 4 + else: + offset += 1 + + name = content[offset:offset+name_len] + offset += name_len + + value = content[offset:offset+value_len] + offset += value_len + + return offset, name, value + + +def write_name_len(io, name): + """Writes the length of a single name for a key or value in +a key/value stream""" + if len(name) <= 0x7f: + io.write(chr(len(name))) + else: + io.write(int_struct.pack(len(name))) + + +def write_fastcgi_keyvalue_pairs(pairs): + """creates a FastCGI key/value stream and returns it as a string""" + res = cStringIO.StringIO() + for key, value in pairs.iteritems(): + write_name_len(res, key) + write_name_len(res, value) + + res.write(key) + res.write(value) + + return res.getvalue() + + +def read_fastcgi_params(req_id, content): + if not content: + return None + + offset = 0 + res = _REQUESTS[req_id].params + while offset < len(content): + offset, name, value = read_fastcgi_keyvalue_pairs(content, offset) + res[name] = value + + +def read_fastcgi_input(req_id, content): + """reads FastCGI std-in and stores it in wsgi.input passed in the +wsgi environment array""" + res = _REQUESTS[req_id].params + if 'wsgi.input' not in res: + res['wsgi.input'] = content + else: + res['wsgi.input'] += content + + return _REQUESTS[req_id] + + +def read_fastcgi_data(req_id, content): + """reads FastCGI data stream and publishes it as wsgi.data""" + res = _REQUESTS[req_id].params + if 'wsgi.data' not in res: + res['wsgi.data'] = content + else: + res['wsgi.data'] += content + + +def read_fastcgi_abort_request(req_id, content): + """reads the wsgi abort request, which we ignore, we'll send the +finish execution request anyway...""" + pass + + +def read_fastcgi_get_values(req_id, content): + """reads the fastcgi request to get parameter values, and immediately +responds""" + offset = 0 + request = {} + while offset < len(content): + offset, name, value = read_fastcgi_keyvalue_pairs(content, offset) + request[name] = value + + response = {} + if FCGI_MAX_CONNS in request: + response[FCGI_MAX_CONNS] = '1' + + if FCGI_MAX_REQS in request: + response[FCGI_MAX_REQS] = '1' + + if FCGI_MPXS_CONNS in request: + response[FCGI_MPXS_CONNS] = '0' + + send_response(req_id, FCGI_GET_VALUES_RESULT, + write_fastcgi_keyvalue_pairs(response)) + + +# Formatting of 4-byte ints in network order +int_struct = struct.Struct('!i') + +# Our request processors for different FastCGI protocol requests. Only +# the requests which we receive are defined here. +REQUEST_PROCESSORS = { + FCGI_BEGIN_REQUEST : read_fastcgi_begin_request, + FCGI_ABORT_REQUEST : read_fastcgi_abort_request, + FCGI_PARAMS : read_fastcgi_params, + FCGI_STDIN : read_fastcgi_input, + FCGI_DATA : read_fastcgi_data, + FCGI_GET_VALUES : read_fastcgi_get_values +} + +def log(txt): + """Logs fatal errors to a log file if WSGI_LOG env var is defined""" + log_file = os.environ.get('WSGI_LOG') + if log_file: + with file(log_file, 'a+') as f: + f.write(txt) + + +def send_response(id, resp_type, content, streaming = True): + """sends a response w/ the given id, type, and content to the server. +If the content is streaming then an empty record is sent at the end to +terminate the stream""" + offset = 0 + while 1: + if id < 256: + id_0 = 0 + id_1 = id + else: + id_0 = id >> 8 + id_1 = id & 0xff + + # content len, padding len, content + len_remaining = len(content) - offset + if len_remaining > 65535: + len_0 = 0xff + len_1 = 0xff + content_str = content[offset:offset+65535] + offset += 65535 + else: + len_0 = len_remaining >> 8 + len_1 = len_remaining & 0xff + content_str = content[offset:] + offset += len_remaining + + data = '%c%c%c%c%c%c%c%c%s' % ( + FCGI_VERSION_1, # version + resp_type, # type + id_0, # requestIdB1 + id_1, # requestIdB0 + len_0, # contentLengthB1 + len_1, # contentLengthB0 + 0, # paddingLength + 0, # reserved + content_str) + + os.write(stdout, data) + if len_remaining == 0 or not streaming: + break + +if __name__ == '__main__': + # TODO: Pull this from an env var + handler_name = os.getenv('WSGI_HANDLER', 'django.core.handlers.wsgi.WSGIHandler') + module, callable = handler_name.rsplit('.', 1) + handler = getattr(__import__(module, fromlist=[callable]), callable)() + + stdout = sys.stdin.fileno() + try: + import msvcrt + msvcrt.setmode(sys.stdin.fileno(), os.O_BINARY) + except ImportError: + pass + + _REQUESTS = {} + + while True: + try: + record = read_fastcgi_record(sys.stdin) + if record: + record.params['wsgi.input'] = cStringIO.StringIO(record.params['wsgi.input']) + def start_response(status, headers, exc_info = None): + pass + + sys.stdout = sys.stderr = sys.__stdout__ = sys.__stderr__ = output = cStringIO.StringIO() + record.params['SCRIPT_NAME'] = '' + try: + response = ''.join(handler(record.params, start_response)) + except: + send_response(record.req_id, FCGI_STDERR, output.getvalue()) + else: + send_response(record.req_id, FCGI_STDOUT, response) + + # for testing of throughput of fastcgi handler vs static pages + #send_response(record.req_id, FCGI_STDOUT, 'Content-type: text/html\r\n\r\n\r\n\nfoo') + + send_response(record.req_id, FCGI_END_REQUEST, '\x00\x00\x00\x00\x00\x00\x00\x00', streaming=False) + del _REQUESTS[record.req_id] + except: + log(traceback.format_exc()) + + diff --git a/Release/Tests/AnalysisTest/AnalysisTest.cs b/Release/Tests/AnalysisTest/AnalysisTest.cs index c66bbd2929..bbadb5f922 100644 --- a/Release/Tests/AnalysisTest/AnalysisTest.cs +++ b/Release/Tests/AnalysisTest/AnalysisTest.cs @@ -647,6 +647,24 @@ class y(object): AssertContainsExactly(entry.GetTypesFromNameByIndex("b", 1), StringType); AssertContainsExactly(entry.GetTypesFromNameByIndex("c", 1), StringType); } + + [TestMethod] + public void TestGetAttr() { + var entry = ProcessText(@" +class x(object): + def __init__(self, value): + self.value = value + +a = x(42) +b = getattr(a, 'value') +c = getattr(a, 'dne', 'foo') +d = getattr(a, 'value', 'foo') +"); + + AssertContainsExactly(entry.GetTypesFromNameByIndex("b", 1), IntType); + AssertContainsExactly(entry.GetTypesFromNameByIndex("c", 1), StringType); + AssertContainsExactly(entry.GetTypesFromNameByIndex("d", 1), IntType, StringType); + } [TestMethod] public void TestListAppend() { @@ -1765,6 +1783,18 @@ import mod1 Assert.AreEqual(entry.GetValuesByIndex("x.iteritems().next()[1]", 1).Select(x => x.PythonType).First(), StringType); } + [TestMethod] + public void TestDictUpdate() { + var entry = ProcessText(@" +a = {42:100} +b = {} +b.update(a) +"); + + Assert.AreEqual(entry.GetValuesByIndex("b.items()[0][0]", 1).Select(x => x.PythonType).First(), IntType); + Assert.AreEqual(entry.GetValuesByIndex("b.items()[0][1]", 1).Select(x => x.PythonType).First(), IntType); + } + [TestMethod] public void TestFutureDivision() { var entry = ProcessText(@" @@ -3077,6 +3107,9 @@ class foo(object): def g(): return c.Length +def h(): + return f + return g class return_func_class: def return_func(self): @@ -3109,6 +3142,7 @@ class return_func_class: //AssertContainsExactly(GetVariableDescriptions(entry, "System.AppDomain.DomainUnload", 1), "event of type System.EventHandler"); AssertContainsExactly(GetVariableDescriptionsByIndex(entry, "None", 1), "None"); AssertContainsExactly(GetVariableDescriptionsByIndex(entry, "f.func_name", 1), "property of type str"); + AssertContainsExactly(GetVariableDescriptionsByIndex(entry, "h", 1), "def h(...) -> def f(...) -> str, def g(...)"); // method which returns it's self, we shouldn't stack overflow producing the help... AssertContainsExactly(GetVariableDescriptionsByIndex(entry, "return_func_class().return_func", 1), @"method return_func of return_func_class objects -> method return_func of return_func_class objects ...