diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..e9150297
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+################################################################################
+# This .gitignore file was automatically created by Microsoft(R) Visual Studio.
+################################################################################
+
+/.vs
diff --git a/Activities/Python/3rdparty/Python.Runtime.27.dll b/Activities/Python/3rdparty/Python.Runtime.27.dll
index 6a1a6873..0355cda7 100644
Binary files a/Activities/Python/3rdparty/Python.Runtime.27.dll and b/Activities/Python/3rdparty/Python.Runtime.27.dll differ
diff --git a/Activities/Python/3rdparty/Python.Runtime.35.dll b/Activities/Python/3rdparty/Python.Runtime.35.dll
index df5d1b68..e3655b05 100644
Binary files a/Activities/Python/3rdparty/Python.Runtime.35.dll and b/Activities/Python/3rdparty/Python.Runtime.35.dll differ
diff --git a/Activities/Python/3rdparty/Python.Runtime.36.dll b/Activities/Python/3rdparty/Python.Runtime.36.dll
index 5b229bcb..9eece01f 100644
Binary files a/Activities/Python/3rdparty/Python.Runtime.36.dll and b/Activities/Python/3rdparty/Python.Runtime.36.dll differ
diff --git a/Activities/Python/3rdparty/Python.Runtime.37.dll b/Activities/Python/3rdparty/Python.Runtime.37.dll
new file mode 100644
index 00000000..8ea030ea
Binary files /dev/null and b/Activities/Python/3rdparty/Python.Runtime.37.dll differ
diff --git a/Activities/Python/3rdparty/Python.Runtime.38.dll b/Activities/Python/3rdparty/Python.Runtime.38.dll
new file mode 100644
index 00000000..e76ca14a
Binary files /dev/null and b/Activities/Python/3rdparty/Python.Runtime.38.dll differ
diff --git a/Activities/Python/3rdparty/x64/Python.Runtime.27.dll b/Activities/Python/3rdparty/x64/Python.Runtime.27.dll
new file mode 100644
index 00000000..a3d74ea6
Binary files /dev/null and b/Activities/Python/3rdparty/x64/Python.Runtime.27.dll differ
diff --git a/Activities/Python/3rdparty/x64/Python.Runtime.35.dll b/Activities/Python/3rdparty/x64/Python.Runtime.35.dll
index 7206c9b3..23fe6f51 100644
Binary files a/Activities/Python/3rdparty/x64/Python.Runtime.35.dll and b/Activities/Python/3rdparty/x64/Python.Runtime.35.dll differ
diff --git a/Activities/Python/3rdparty/x64/Python.Runtime.36.dll b/Activities/Python/3rdparty/x64/Python.Runtime.36.dll
index 63193b8e..525ad7e5 100644
Binary files a/Activities/Python/3rdparty/x64/Python.Runtime.36.dll and b/Activities/Python/3rdparty/x64/Python.Runtime.36.dll differ
diff --git a/Activities/Python/3rdparty/x64/Python.Runtime.37.dll b/Activities/Python/3rdparty/x64/Python.Runtime.37.dll
new file mode 100644
index 00000000..26a43ecf
Binary files /dev/null and b/Activities/Python/3rdparty/x64/Python.Runtime.37.dll differ
diff --git a/Activities/Python/3rdparty/x64/Python.Runtime.38.dll b/Activities/Python/3rdparty/x64/Python.Runtime.38.dll
new file mode 100644
index 00000000..b3ed3e05
Binary files /dev/null and b/Activities/Python/3rdparty/x64/Python.Runtime.38.dll differ
diff --git a/Activities/Python/UiPath.Python.Activities/Properties/UiPath.Python.Activities.Designer.cs b/Activities/Python/UiPath.Python.Activities/Properties/UiPath.Python.Activities.Designer.cs
index 45f509a5..4c16fb5a 100644
--- a/Activities/Python/UiPath.Python.Activities/Properties/UiPath.Python.Activities.Designer.cs
+++ b/Activities/Python/UiPath.Python.Activities/Properties/UiPath.Python.Activities.Designer.cs
@@ -19,7 +19,7 @@ namespace UiPath.Python.Activities.Properties {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class UiPath_Python_Activities {
@@ -168,6 +168,15 @@ internal static string InvalidPathException {
}
}
+ ///
+ /// Looks up a localized string similar to Selected version {0} is different from the version found {1}.
+ ///
+ internal static string InvalidVersionException {
+ get {
+ return ResourceManager.GetString("InvalidVersionException", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Error invoking Python method.
///
@@ -403,7 +412,7 @@ internal static string RunScriptNameDisplayName {
}
///
- /// Looks up a localized string similar to Python script file.
+ /// Looks up a localized string similar to Full path to Python script file.
///
internal static string ScriptFileDescription {
get {
diff --git a/Activities/Python/UiPath.Python.Activities/Properties/UiPath.Python.Activities.fr.resx b/Activities/Python/UiPath.Python.Activities/Properties/UiPath.Python.Activities.fr.resx
index 3ea71fd6..0f376fa9 100644
--- a/Activities/Python/UiPath.Python.Activities/Properties/UiPath.Python.Activities.fr.resx
+++ b/Activities/Python/UiPath.Python.Activities/Properties/UiPath.Python.Activities.fr.resx
@@ -1,4 +1,4 @@
-
+
-
-
+
+
-
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
+
-
+
@@ -271,15 +271,4 @@
Sortie
-
-
-
-
-
-
- property name
-
-
-
-
-
+
\ No newline at end of file
diff --git a/Activities/Python/UiPath.Python.Activities/Properties/UiPath.Python.Activities.ja.resx b/Activities/Python/UiPath.Python.Activities/Properties/UiPath.Python.Activities.ja.resx
index 3a9e5025..a553bedb 100644
--- a/Activities/Python/UiPath.Python.Activities/Properties/UiPath.Python.Activities.ja.resx
+++ b/Activities/Python/UiPath.Python.Activities/Properties/UiPath.Python.Activities.ja.resx
@@ -1,4 +1,4 @@
-
+
-
-
+
+
-
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
+
-
+
@@ -122,7 +122,8 @@
コード
- property name
+ property name
+
Python オブジェクトの変換中にエラーが発生しました
@@ -134,7 +135,8 @@
Python のオブジェクトを取得
- activity name
+ activity name
+
Python オブジェクトに対応する .NET の型です。
@@ -146,7 +148,8 @@
インスタンス
- property name
+ property name
+
メソッド名が無効です
@@ -161,7 +164,8 @@
Python メソッドの呼び出し
- activity name
+ activity name
+
Python スクリプトをロードし、実行します。(Load Python Script)
@@ -170,31 +174,36 @@
Python スクリプトをロード
- activity name
+ activity name
+
呼び出すメソッドの名前です。
名前
- property name
+ property name
+
コード/スクリプトが指定されていません
出力
- property name
+ property name
+
Python スクリプトの入力パラメーターです。
入力パラメーター
- property name
+ property name
+
Python のホームパスです。
パス
- property name
+ property name
+
Python エンジンセッションが見つかりませんでした
@@ -206,19 +215,22 @@
Python オブジェクト
- property name
+ property name
+
Python アクティビティコンテナーです。(Python Scope)
Python スコープ
- activity name
+ activity name
+
スクリプト呼び出しの結果です。
結果
- property name
+ property name
+
Python スクリプトアクティビティを呼び出します。(Run Python Script)
@@ -227,13 +239,15 @@
Python スクリプトを実行
- activity name
+ activity name
+
Python スクリプトファイルです。
ファイル
- property name
+ property name
+
指定のスクリプトファイルは見つかりませんでした
@@ -245,24 +259,16 @@
バージョン
- property name
+ property name
+
ターゲット
- property name
+ property name
+
Python のランタイムプラットフォームを指定します。
出力
-
-
-
-
-
- property name
-
-
-
-
-
+
\ No newline at end of file
diff --git a/Activities/Python/UiPath.Python.Activities/Properties/UiPath.Python.Activities.resx b/Activities/Python/UiPath.Python.Activities/Properties/UiPath.Python.Activities.resx
index 8f87c98b..4788885a 100644
--- a/Activities/Python/UiPath.Python.Activities/Properties/UiPath.Python.Activities.resx
+++ b/Activities/Python/UiPath.Python.Activities/Properties/UiPath.Python.Activities.resx
@@ -242,7 +242,7 @@
activity name
- Python script file
+ Full path to Python script file
File
@@ -281,4 +281,7 @@
WorkingFolder path is not valid
+
+ Selected version {0} is different from the version found {1}
+
\ No newline at end of file
diff --git a/Activities/Python/UiPath.Python.Activities/Properties/UiPath.Python.Activities.ru.resx b/Activities/Python/UiPath.Python.Activities/Properties/UiPath.Python.Activities.ru.resx
index e8ba504f..70a2241c 100644
--- a/Activities/Python/UiPath.Python.Activities/Properties/UiPath.Python.Activities.ru.resx
+++ b/Activities/Python/UiPath.Python.Activities/Properties/UiPath.Python.Activities.ru.resx
@@ -1,4 +1,4 @@
-
+
-
-
+
+
-
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
+
-
+
@@ -271,15 +271,4 @@
Output
-
-
-
-
-
-
- property name
-
-
-
-
-
+
\ No newline at end of file
diff --git a/Activities/Python/UiPath.Python.Activities/PythonScope.cs b/Activities/Python/UiPath.Python.Activities/PythonScope.cs
index b506f34a..34a15c4d 100644
--- a/Activities/Python/UiPath.Python.Activities/PythonScope.cs
+++ b/Activities/Python/UiPath.Python.Activities/PythonScope.cs
@@ -115,6 +115,13 @@ protected override async Task> ExecuteAsync(Native
{
Trace.TraceError($"Error initializing Python engine: {e.ToString()}");
Cleanup();
+ if (Version != Version.Auto)
+ {
+ Version autodetected = Version.Auto;
+ EngineProvider.Autodetect(path, out autodetected);
+ if (autodetected != Version.Auto && autodetected != Version)
+ throw new InvalidOperationException(string.Format(Resources.InvalidVersionException, Version.ToString(), autodetected.ToString()));
+ }
throw new InvalidOperationException(Resources.PythonInitializeException, e);
}
diff --git a/Activities/Python/UiPath.Python.Tests/Runtimes.cs b/Activities/Python/UiPath.Python.Tests/Runtimes.cs
index 8a1ca191..a8174ae1 100644
--- a/Activities/Python/UiPath.Python.Tests/Runtimes.cs
+++ b/Activities/Python/UiPath.Python.Tests/Runtimes.cs
@@ -76,18 +76,38 @@ public class Runtimes
{
new object[]
{
- @"C:\Python\python-2.7.0-x86",
+ @"C:\Python\python27-x86",
Version.Python_27
},
new object[]
{
- @"C:\Python\python-3.5.4-x86",
+ @"C:\Python\python33-x86",
+ Version.Python_33
+ },
+ new object[]
+ {
+ @"C:\Python\python34-x86",
+ Version.Python_34
+ },
+ new object[]
+ {
+ @"C:\Python\python35-x86",
Version.Python_35
},
new object[]
{
- @"C:\Python\python-3.6.4-x86",
+ @"C:\Python\python36-x86",
Version.Python_36
+ },
+ new object[]
+ {
+ @"C:\Python\python37-x86",
+ Version.Python_37
+ },
+ new object[]
+ {
+ @"C:\Python\python38-x86",
+ Version.Python_38
}
};
@@ -96,13 +116,28 @@ public class Runtimes
{
new object[]
{
- @"C:\Python\python-3.5.4-x64",
+ @"C:\Python\python27-x64",
+ Version.Python_27
+ },
+ new object[]
+ {
+ @"C:\Python\python35-x64",
Version.Python_35
},
new object[]
{
- @"C:\Python\python-3.6.4-x64",
+ @"C:\Python\python36-x64",
Version.Python_36
+ },
+ new object[]
+ {
+ @"C:\Python\python37-x64",
+ Version.Python_37
+ },
+ new object[]
+ {
+ @"C:\Python\python38-x64",
+ Version.Python_38
}
};
@@ -112,6 +147,19 @@ public class Runtimes
#region Test cases
+ [SkippableTheory]
+ [Trait(TestCategories.Category, Category)]
+ [MemberData(nameof(AllEngines))]
+ public void AutomaticVersionDetection(string path, Version version)
+ {
+ Skip.IfNot(ValidateRuntime(path));
+ var target = X64Engines.Any(x => x[0].Equals(path) && x[1].Equals(version))
+ ? TargetPlatform.x64
+ : TargetPlatform.x86;
+ var engine = EngineProvider.Get(Version.Auto, path, true, target, true);
+ Assert.Equal(engine.Version, version);
+ }
+
[SkippableTheory]
[Trait(TestCategories.Category, Category)]
[MemberData(nameof(X86Engines))]
diff --git a/Activities/Python/UiPath.Python/EngineProvider.cs b/Activities/Python/UiPath.Python/EngineProvider.cs
index 3827cb13..996b4ccf 100644
--- a/Activities/Python/UiPath.Python/EngineProvider.cs
+++ b/Activities/Python/UiPath.Python/EngineProvider.cs
@@ -14,6 +14,7 @@ public static class EngineProvider
{
private const string PythonHomeEnv = "PYTHONHOME";
private const string PythonExe = "python.exe";
+ private const string PythonVersionArgument = "--version";
// engines cache
private static object _lock = new object();
@@ -30,7 +31,6 @@ public static IEngine Get(Version version, string path, bool inProcess = true, T
path = Environment.GetEnvironmentVariable(PythonHomeEnv);
Trace.TraceInformation($"Found Pyhton path {path}");
}
-
if (!version.IsValid())
{
Autodetect(path, out version);
@@ -58,7 +58,7 @@ public static IEngine Get(Version version, string path, bool inProcess = true, T
return engine;
}
- private static void Autodetect(string path, out Version version)
+ public static void Autodetect(string path, out Version version)
{
Trace.TraceInformation($"Trying to autodetect Python version from path {path}");
string pyExe = Path.GetFullPath(Path.Combine(path, PythonExe));
@@ -66,9 +66,26 @@ private static void Autodetect(string path, out Version version)
{
throw new FileNotFoundException(Resources.PythonExeNotFoundException, pyExe);
}
-
- version = FileVersionInfo.GetVersionInfo(pyExe).Get();
+ Process process = new Process();
+ process.StartInfo = new ProcessStartInfo()
+ {
+ UseShellExecute = false,
+ CreateNoWindow = true,
+ WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden,
+ FileName = pyExe,
+ Arguments = PythonVersionArgument,
+ RedirectStandardError = true,
+ RedirectStandardOutput = true
+ };
+ process.Start();
+ // Now read the value, parse to int and add 1 (from the original script)
+ string ver = process.StandardError.ReadToEnd();
+ if(string.IsNullOrEmpty(ver))
+ ver = process.StandardOutput.ReadToEnd();
+ process.WaitForExit();
+ version = ver.GetVersionFromStr();
Trace.TraceInformation($"Autodetected Python version {version}");
}
+
}
}
diff --git a/Activities/Python/UiPath.Python/IEngine.cs b/Activities/Python/UiPath.Python/IEngine.cs
index de289bd2..162cff07 100644
--- a/Activities/Python/UiPath.Python/IEngine.cs
+++ b/Activities/Python/UiPath.Python/IEngine.cs
@@ -19,6 +19,7 @@ public enum TargetPlatform
///
public interface IEngine : IDisposable
{
+ Version Version { get; }
#region Lifecycle
Task Initialize(string workingFolder, CancellationToken ct);
diff --git a/Activities/Python/UiPath.Python/Impl/DynamicStaticTypeMembers.cs b/Activities/Python/UiPath.Python/Impl/DynamicStaticTypeMembers.cs
index 51d8e8a0..1cbada15 100644
--- a/Activities/Python/UiPath.Python/Impl/DynamicStaticTypeMembers.cs
+++ b/Activities/Python/UiPath.Python/Impl/DynamicStaticTypeMembers.cs
@@ -42,7 +42,7 @@ private DynamicStaticTypeMembers(Type type)
[ContractInvariantMethod]
private void ObjectInvariant()
{
- Contract.Invariant(this.type != null);
+ Contract.Invariant(type != null);
}
///
@@ -58,12 +58,12 @@ public override bool TryGetMember(GetMemberBinder binder, out object result)
Contract.Assume(binder != null);
Contract.Assume(binder.Name != null);
- Trace.TraceEvent(TraceEventType.Verbose, 0, "Getting the value of static property " + binder.Name + " on type " + this.type.Name);
+ Trace.TraceEvent(TraceEventType.Verbose, 0, "Getting the value of static property " + binder.Name + " on type " + type.Name);
- var prop = this.type.GetProperty(binder.Name, BindingFlags.FlattenHierarchy | BindingFlags.Static | BindingFlags.Public);
+ var prop = type.GetProperty(binder.Name, BindingFlags.FlattenHierarchy | BindingFlags.Static | BindingFlags.Public);
if (prop == null)
{
- Trace.TraceEvent(TraceEventType.Error, 0, "Could not find static property " + binder.Name + " on type " + this.type.Name);
+ Trace.TraceEvent(TraceEventType.Error, 0, "Could not find static property " + binder.Name + " on type " + type.Name);
result = null;
return false;
}
@@ -85,12 +85,12 @@ public override bool TrySetMember(SetMemberBinder binder, object value)
Contract.Assume(binder != null);
Contract.Assume(binder.Name != null);
- Trace.TraceEvent(TraceEventType.Verbose, 0, "Setting the value of static property " + binder.Name + " on type " + this.type.Name);
+ Trace.TraceEvent(TraceEventType.Verbose, 0, "Setting the value of static property " + binder.Name + " on type " + type.Name);
- var prop = this.type.GetProperty(binder.Name, BindingFlags.FlattenHierarchy | BindingFlags.Static | BindingFlags.Public);
+ var prop = type.GetProperty(binder.Name, BindingFlags.FlattenHierarchy | BindingFlags.Static | BindingFlags.Public);
if (prop == null)
{
- Trace.TraceEvent(TraceEventType.Error, 0, "Could not find static property " + binder.Name + " on type " + this.type.Name);
+ Trace.TraceEvent(TraceEventType.Error, 0, "Could not find static property " + binder.Name + " on type " + type.Name);
return false;
}
@@ -113,7 +113,7 @@ public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args, o
Contract.Assume(binder.Name != null);
Contract.Assume(args != null);
- Trace.TraceEvent(TraceEventType.Verbose, 0, "Invoking static method " + binder.Name + " on type " + this.type.Name + " with argument types { " + string.Join(", ", args.Select(x => x == null ? "" : x.GetType().Name)) + " }");
+ Trace.TraceEvent(TraceEventType.Verbose, 0, "Invoking static method " + binder.Name + " on type " + type.Name + " with argument types { " + string.Join(", ", args.Select(x => x == null ? "" : x.GetType().Name)) + " }");
// Convert any RefOutArg arguments into ref/out arguments
var refArguments = new RefOutArg[args.Length];
@@ -132,7 +132,7 @@ public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args, o
MethodBase method;
try
{
- var methods = this.type.GetMethods(flags).Where(x => x.Name == binder.Name);
+ var methods = type.GetMethods(flags).Where(x => x.Name == binder.Name);
Contract.Assume(Type.DefaultBinder != null);
method = Type.DefaultBinder.BindToMethod(flags, methods.ToArray(), ref args, null, null, null, out state);
Contract.Assume(method != null);
@@ -140,14 +140,14 @@ public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args, o
}
catch (Exception ex)
{
- Trace.TraceEvent(TraceEventType.Error, 0, "Could not find static method " + binder.Name + " on type " + this.type.Name + ": [" + ex.GetType() + "] " + ex.Message);
+ Trace.TraceEvent(TraceEventType.Error, 0, "Could not find static method " + binder.Name + " on type " + type.Name + ": [" + ex.GetType() + "] " + ex.Message);
throw;
}
// Ensure that all ref/out arguments were properly wrapped
if (method.GetParameters().Count(x => x.ParameterType.IsByRef) != refArguments.Count(x => x != null))
{
- throw new ArgumentException("ref/out parameters need a RefOutArg wrapper when invoking " + this.type.Name + "." + binder.Name + ".");
+ throw new ArgumentException("ref/out parameters need a RefOutArg wrapper when invoking " + type.Name + "." + binder.Name + ".");
}
// Invoke the method, allowing exceptions to propogate
@@ -206,7 +206,7 @@ public static dynamic Create()
/// A that represents this instance.
public override string ToString()
{
- return this.type.Name;
+ return type.Name;
}
}
}
diff --git a/Activities/Python/UiPath.Python/Impl/Engine.cs b/Activities/Python/UiPath.Python/Impl/Engine.cs
index a409d821..e38c1298 100644
--- a/Activities/Python/UiPath.Python/Impl/Engine.cs
+++ b/Activities/Python/UiPath.Python/Impl/Engine.cs
@@ -62,6 +62,7 @@ internal Engine(Version version, string path)
}
#region IEngine
+ public Version Version { get { return _version; } }
public async Task Initialize(string workingFolder, CancellationToken ct)
{
if (!_initialized)
@@ -89,7 +90,12 @@ public async Task Initialize(string workingFolder, CancellationToken ct)
ct.ThrowIfCancellationRequested();
_pyEngine.PythonHome = _path;
- _pyEngine.Initialize(null, null);
+
+ //Pythonnet removed support for version 3.3 and 3.4 so we have the old dlls. Initialize method was updated in current package.
+ if (_version == Version.Python_33 || _version == Version.Python_34)
+ _pyEngine.Initialize(null, null);
+ else
+ _pyEngine.Initialize(null, null, null);
ct.ThrowIfCancellationRequested();
_pythreads = _pyEngine.BeginAllowThreads();
diff --git a/Activities/Python/UiPath.Python/Impl/OutOfProcessEngine.cs b/Activities/Python/UiPath.Python/Impl/OutOfProcessEngine.cs
index 1b758e61..4638ea1f 100644
--- a/Activities/Python/UiPath.Python/Impl/OutOfProcessEngine.cs
+++ b/Activities/Python/UiPath.Python/Impl/OutOfProcessEngine.cs
@@ -32,6 +32,7 @@ internal OutOfProcessEngine(Version version, string path, TargetPlatform target,
}
#region IEngine
+ public Version Version { get { return _version; } }
public Task Initialize(string workingFolder, CancellationToken ct)
{
ct.ThrowIfCancellationRequested();
@@ -48,7 +49,7 @@ public Task Initialize(string workingFolder, CancellationToken ct)
};
_provider.Create();
_proxy = new PythonProxy(_provider.Endpoint);
- _proxy.Initialize(_path, _version, workingFolder);
+ _proxy.Initialize(_path, _version, workingFolder);
sw.Stop();
diff --git a/Activities/Python/UiPath.Python/Properties/UiPath.Python.Designer.cs b/Activities/Python/UiPath.Python/Properties/UiPath.Python.Designer.cs
index ba30fc85..eedade9e 100644
--- a/Activities/Python/UiPath.Python/Properties/UiPath.Python.Designer.cs
+++ b/Activities/Python/UiPath.Python/Properties/UiPath.Python.Designer.cs
@@ -19,7 +19,7 @@ namespace UiPath.Python.Properties {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class UiPath_Python {
@@ -86,5 +86,14 @@ internal static string PythonRuntimeTypeException {
return ResourceManager.GetString("PythonRuntimeTypeException", resourceCulture);
}
}
+
+ ///
+ /// Looks up a localized string similar to Python version {0} is not supported. Supported versions are: {1}.
+ ///
+ internal static string UnsupportedVersionException {
+ get {
+ return ResourceManager.GetString("UnsupportedVersionException", resourceCulture);
+ }
+ }
}
}
diff --git a/Activities/Python/UiPath.Python/Properties/UiPath.Python.fr.resx b/Activities/Python/UiPath.Python/Properties/UiPath.Python.fr.resx
index c90809f9..f569cc7c 100644
--- a/Activities/Python/UiPath.Python/Properties/UiPath.Python.fr.resx
+++ b/Activities/Python/UiPath.Python/Properties/UiPath.Python.fr.resx
@@ -1,4 +1,4 @@
-
+
-
-
+
+
-
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
+
-
+
@@ -126,4 +126,4 @@
Python ランタイムの型/メソッド/プロパティが見つかりません: {0}
-
+
\ No newline at end of file
diff --git a/Activities/Python/UiPath.Python/Properties/UiPath.Python.resx b/Activities/Python/UiPath.Python/Properties/UiPath.Python.resx
index 8871c1e5..1421672d 100644
--- a/Activities/Python/UiPath.Python/Properties/UiPath.Python.resx
+++ b/Activities/Python/UiPath.Python/Properties/UiPath.Python.resx
@@ -126,4 +126,7 @@
Python runtime type/method/property not found: {0}
+
+ Python version {0} is not supported. Supported versions are: {1}
+
\ No newline at end of file
diff --git a/Activities/Python/UiPath.Python/Properties/UiPath.Python.ru.resx b/Activities/Python/UiPath.Python/Properties/UiPath.Python.ru.resx
index 4b2c0f29..67ab3d8b 100644
--- a/Activities/Python/UiPath.Python/Properties/UiPath.Python.ru.resx
+++ b/Activities/Python/UiPath.Python/Properties/UiPath.Python.ru.resx
@@ -1,4 +1,4 @@
-
+