소스 검색

test directory for python scripts

johann 5 년 전
부모
커밋
8b0769ecfd

+ 13 - 0
lazpaint/uprocessauto.pas

@@ -20,6 +20,9 @@ type
   TSendLineMethod = procedure(const ALine: RawByteString) of object;
   TBusyEvent = procedure(var ASleep: boolean) of object;
 
+var
+  AutomationEnvironment: TStringList;
+
 procedure RunProcessAutomation(AExecutable: string; AParameters: array of string;
   out ASendLine: TSendLineMethod;
   AOnReceiveOutput: TReceiveLineEvent;
@@ -118,6 +121,8 @@ begin
   p := TAutomatedProcess.Create(nil);
   ASendLine := @p.SendLine;
   try
+    for i := 0 to AutomationEnvironment.Count-1 do
+      p.Environment.Add(AutomationEnvironment[i]);
     p.Executable:= AExecutable;
     for i := 0 to high(AParameters) do
       p.Parameters.Add(AParameters[i]);
@@ -157,5 +162,13 @@ begin
   Input.Write(LineEndingStr[1],length(LineEndingStr));
 end;
 
+initialization
+
+  AutomationEnvironment := TStringList.Create;
+
+finalization
+
+  AutomationEnvironment.Free;
+
 end.
 

+ 12 - 2
lazpaint/upython.pas

@@ -48,7 +48,7 @@ function GetPythonVersion(APythonBin: string = DefaultPythonBin): string;
 
 implementation
 
-uses process, UResourceStrings;
+uses process, UResourceStrings, Forms;
 
 function GetPythonVersion(APythonBin: string = DefaultPythonBin): string;
 const PythonVersionPrefix = 'Python ';
@@ -191,7 +191,17 @@ begin
         '%1',inttostr(APythonVersion),[]),
         '%2',inttostr(PythonVersionMajor),[]) );
   FFirstOutput:= true;
-  RunProcessAutomation(FPythonBin, ['-u', AScriptFilename], FPythonSend, @PythonOutput, @PythonError, @PythonBusy);
+  AutomationEnvironment.Add('PYTHONPATH='+
+    {$IFDEF DEBUG}
+    ExtractFilePath(Application.ExeName)+PathDelim+'..'+PathDelim+'..'+PathDelim+'..'+PathDelim+'scripts'
+    {$ELSE}
+    ExtractFilePath(Application.ExeName)+PathDelim+'scripts'
+    {$ENDIF});
+  try
+    RunProcessAutomation(FPythonBin, ['-u', AScriptFilename], FPythonSend, @PythonOutput, @PythonError, @PythonBusy);
+  finally
+    AutomationEnvironment.Clear;
+  end;
   FPythonSend := nil;
 end;
 

+ 0 - 0
scripts/3d_room.py → scripts/test/3d_room.py


+ 0 - 0
scripts/fractal_tree_random.py → scripts/test/fractal_tree_random.py


+ 0 - 0
scripts/test_color.py → scripts/test/test_color.py


+ 0 - 0
scripts/test_file.py → scripts/test/test_file.py


+ 0 - 0
scripts/test_filter.py → scripts/test/test_filter.py


+ 0 - 0
scripts/test_gradient.py → scripts/test/test_gradient.py


+ 0 - 0
scripts/test_image.py → scripts/test/test_image.py


+ 0 - 0
scripts/test_layer.py → scripts/test/test_layer.py


+ 0 - 0
scripts/test_layer2.py → scripts/test/test_layer2.py


+ 0 - 0
scripts/test_pixel.py → scripts/test/test_pixel.py


+ 0 - 0
scripts/test_tiff_multi.py → scripts/test/test_tiff_multi.py


+ 0 - 0
scripts/test_tools.py → scripts/test/test_tools.py