pilot.linkstec 0.0.100__py3-none-any.whl → 0.0.102__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,6 @@
1
1
  import os
2
2
  import shutil
3
+ import time
3
4
  from concurrent.futures import ThreadPoolExecutor
4
5
 
5
6
 
@@ -19,7 +20,7 @@ class BaseController(ControlInterface):
19
20
  return BaseUnit()
20
21
 
21
22
  def run(self,configfile: str = None):
22
- import time
23
+
23
24
  config_dto = ConfigReader(configfile).get_dto()
24
25
  unit = self._init_unit()
25
26
  unit.config_dto = config_dto
@@ -83,3 +84,24 @@ class BaseController(ControlInterface):
83
84
  pass
84
85
 
85
86
 
87
+ def copy_result_files_to_next_control_without_delete(from_configfile: str,to_configfile: str ):
88
+ from_config_dto = ConfigReader(from_configfile).get_dto()
89
+ to_config_dto = ConfigReader(to_configfile).get_dto()
90
+ from_runsteps = from_config_dto.steps
91
+ to_runsteps = to_config_dto.steps
92
+ from_workspace = from_config_dto.work_space
93
+ to_workspace = to_config_dto.work_space
94
+ from_fold = os.path.join(from_workspace, from_runsteps[-1])
95
+ to_fold = os.path.join(to_workspace, to_runsteps[0])
96
+ os.makedirs(to_fold, exist_ok=True)
97
+ shutil.copytree(from_fold, to_fold, dirs_exist_ok=True)
98
+ for root, _, files in os.walk(to_fold):
99
+ for fname in files:
100
+ if fname.endswith(('.trg', '.begin', '.end')):
101
+ try:
102
+ os.remove(os.path.join(root, fname))
103
+ except OSError:
104
+ pass
105
+
106
+
107
+
@@ -7,7 +7,7 @@ from pilot.job.impl.base_job import BaseJob
7
7
 
8
8
  from pilot.generater.vertexai import VertexAISingleton
9
9
 
10
- class generateJsonBaseJob(BaseJob):
10
+ class GenerateJsonBaseJob(BaseJob):
11
11
 
12
12
  prompt_content: str
13
13
  result_content: str
@@ -7,7 +7,7 @@ from pilot.job.impl.base_job import BaseJob
7
7
 
8
8
  from pilot.generater.vertexai import VertexAISingleton
9
9
 
10
- class textBaseJob(BaseJob):
10
+ class GenerateTextBaseJob(BaseJob):
11
11
 
12
12
  prompt_content: str
13
13
  result_content: str
@@ -0,0 +1,26 @@
1
+
2
+ from pilot.job.impl.base_job import BaseJob
3
+
4
+ class SpitPreDigit(BaseJob):
5
+ def run(self):
6
+
7
+ with open(self.file_path, 'r', encoding='utf-8') as f:
8
+ lines = f.readlines()
9
+
10
+ cleaned_lines = []
11
+ for line in lines:
12
+ # 先頭6文字を抽出
13
+ prefix = line[:6]
14
+
15
+ # 先頭6文字がすべて数字(かつ6文字以上ある)かチェック
16
+ if len(prefix) == 6 and prefix.isdigit():
17
+ # 数字だった場合は7文字目以降を保存
18
+ cleaned_lines.append(line[6:])
19
+ else:
20
+ # 数字でない(または6文字未満)場合はそのまま保存
21
+ cleaned_lines.append(line)
22
+
23
+ with open(self.file_path, 'w', encoding='utf-8') as f:
24
+ f.writelines(cleaned_lines)
25
+
26
+
@@ -81,7 +81,7 @@ class BaseJob(JobInterface):
81
81
 
82
82
  try:
83
83
  base_dir = os.path.join(self.config_dto.work_space, self.current_step)
84
- return os.path.relpath(self._file_path, base_dir)
84
+ return base_dir
85
85
  except ValueError:
86
86
  return self._file_path
87
87
 
@@ -331,7 +331,9 @@ class BaseJob(JobInterface):
331
331
  ジョブ実行前の前処理を行うメソッド。
332
332
  必要に応じてサブクラスでオーバーライドして使用する。
333
333
  """
334
- pass
334
+ if not self.change_current_trg_to_begin():
335
+ return False
336
+ return True
335
337
 
336
338
  def post_run(self):
337
339
  """
@@ -30,9 +30,27 @@ class BaseUnit(UnitInterface):
30
30
  job.step_index = index
31
31
  job.file_path = file_path
32
32
  if self.job_need_run(job, filename, index):
33
+ if index != 0:
34
+ if not job.pre_run():
35
+ continue
33
36
  job.run()
34
37
  if index != 0:
35
38
  job.post_run()
36
39
 
37
- def job_need_run(self, job:BaseJob,filename: str,index):
38
- return True
40
+ def job_need_run(self, job:BaseJob ,filename: str, step_index: int):
41
+ if step_index == 0:
42
+ return True
43
+ file_ext = file_ext = filename.split('.')[-1]
44
+ if file_ext == "trg":
45
+ # ★ trgファイルは、jobのfile_pathに設定する
46
+ job.current_trg_file_path = job.file_path
47
+ job.file_path = job.file_path.rsplit('.trg', 1)[0]
48
+ return True
49
+ elif file_ext == "end":
50
+ #job.copy_input_file_to_next_step(job.file_path.rsplit('.', 1)[0])
51
+ #job.create_next_step_end_trg_file()
52
+ return False
53
+ elif file_ext == "begin":
54
+ return False
55
+ else:
56
+ return False
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pilot.linkstec
3
- Version: 0.0.100
3
+ Version: 0.0.102
4
4
  Summary: pilot of the ship, a tool for managing and deploying Python projects.
5
5
  Author-email: wanglr <wanglr1980@gmail.com>
6
6
  License-Expression: MIT
@@ -16,11 +16,10 @@ pilot/config/config_reader.py,sha256=MchG-9j-Xfy8AquL_6tlvqQR65MFJ3c3hwWBl6IF2jw
16
16
  pilot/control/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
17
  pilot/control/control_interface.py,sha256=zGv380oQgAKPAIHDHeFdPYzhj2Ngo2T66NWlNloA7vY,124
18
18
  pilot/control/impl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
- pilot/control/impl/base_controller.py,sha256=I2_jvTlM7W5GYQEb-Pcc3jTbulIigQK6dppm0ZZ41l4,2778
19
+ pilot/control/impl/base_controller.py,sha256=049WVHCVfKyAiWHD1epLO8nzDbRDDOopXe0E4K401KA,3743
20
20
  pilot/conver/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
21
  pilot/conver/commentRemover.py,sha256=S8uwp9Glp0bdv4EFqf62WIcOTLiJZdracG2FAMKY1EY,3777
22
22
  pilot/conver/converfileEncodding.py,sha256=HnP-7o6V4YCEq8SA1iryyGUwbnWBkFbL16DxrTq7N-s,1582
23
- pilot/conver/nkf_converter.py,sha256=JqgThmXcdnTGMsLIHUEwe8sc0VGMqDaKCIQTg-UE3WE,1148
24
23
  pilot/create_python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
24
  pilot/create_python/create_python.py,sha256=VQwL1KKw06ocVi-uRCL_l2rDiSaEr80R1LCt2u4ilOo,8795
26
25
  pilot/create_python/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -53,31 +52,29 @@ pilot/job/base/convert/delimiterSwitcherJob.py,sha256=m5Y92XVbCjVWGBKzYJYX8wgLMn
53
52
  pilot/job/base/convert/encodingTransformerJob.py,sha256=P6txCqAcQ4w999ttA_gmA4VKr6klvTz4SrQIYT1gv6U,279
54
53
  pilot/job/base/convert/tabReplaceJob.py,sha256=FtPLbWwDPgH1jGsK3y5_sY4lAZ4Lhsv7GQ-1A-QgAFE,743
55
54
  pilot/job/base/generate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
- pilot/job/base/generate/generateJsonBaseJob.py,sha256=5klyS0tj9YTAcLVldcxUe1GXnWYXsQhvpcB7bRjq_n4,1377
57
- pilot/job/base/generate/generateTextBaseJob.py,sha256=yJVzeM_87T_lqo3x39j9Mi4IuKwGj_Ww3bxXUuY_F6o,1299
55
+ pilot/job/base/generate/generateJsonBaseJob.py,sha256=gFWOOYDkdylW-Ph7R7xFdGr-TSzZycFrW8r-8i10DmA,1377
56
+ pilot/job/base/generate/generateTextBaseJob.py,sha256=PcHXG0-mtAkiQi3Srkdk-4e3ThoSGnwzQ5QY_Nxxn84,1307
58
57
  pilot/job/base/program/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
58
  pilot/job/base/program/cobol/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
59
  pilot/job/base/program/cobol/convert/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
+ pilot/job/base/program/cobol/convert/spitPreDigit.py,sha256=uGmIKOSaxNmPkzy45i0wzhxX9wFh82b2nhJVqpHUGsY,858
61
61
  pilot/job/base/program/java/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
62
  pilot/job/base/program/java/generateDetailDesignPrompt.py,sha256=JcXxRQeJPpFNhli1nWOOxh8ZTdp_IN3-OoFQahHprjs,5651
63
63
  pilot/job/impl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
- pilot/job/impl/base_job.py,sha256=wTrAp9P6AxyQ98cD6kWa22gUTiXJc6TcTv7-cvize9c,14665
64
+ pilot/job/impl/base_job.py,sha256=xnZrs8xRniUKIltcmLbfoeqzVnOsMf2JVvp80Nq2oyY,14716
65
65
  pilot/logging/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
66
  pilot/logging/logger.py,sha256=TF7eGr3w8GK5v4sf71lDt97uVoBtCgqrZuCdbMmeQBU,1815
67
- pilot/processor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
- pilot/processor/code_processor.py,sha256=aIjRZ3eoiuLL7_g1LyEF0yhC3puVBZou3JJdKF1sQ2E,183
69
- pilot/processor/code_processor_pipeline.py,sha256=ZW2JQeAUbH_sYmgh3oI2O10FhbRS9ZNNBnNjjImH9GM,406
70
67
  pilot/prompt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
68
  pilot/splitters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
69
  pilot/splitters/cobolsplitter.py,sha256=oPwxKRjA7TyXWaWV3jdy59lJZy1mRn6yxD9ivqFYCuY,5461
73
70
  pilot/unit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
71
  pilot/unit/unit_interface.py,sha256=fE8N4h_rZU-dWLHy9o0EE3yyErGmRyIuGUDb-zqe7qo,167
75
72
  pilot/unit/impl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
- pilot/unit/impl/base_unit.py,sha256=UV-RsCrSAknO6a2yZAQA0vD8Uo9yqJsNCXC5e8yZE6A,1348
73
+ pilot/unit/impl/base_unit.py,sha256=h6PMtd4ja0wa6mttFeI7rsv92yy96UgfLIU0QSs6Dmk,2108
77
74
  pilot/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
75
  pilot/util/files.py,sha256=v9uzfzo3Aq4xgnUIASEZeBJoA2nD9Qz_EA3P-FwzGFQ,1896
79
- pilot_linkstec-0.0.100.dist-info/licenses/LICENSE,sha256=6kbiFSfobTZ7beWiKnHpN902HgBx-Jzgcme0SvKqhKY,1091
80
- pilot_linkstec-0.0.100.dist-info/METADATA,sha256=nKlHiMZkbk9HpQmhYju4bxX0J8YA2a02pGvdkq7AQcc,680
81
- pilot_linkstec-0.0.100.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
82
- pilot_linkstec-0.0.100.dist-info/top_level.txt,sha256=BijnVJdXnIPxxx3s60M848seL4Z12gNUPod6KPJxK9c,6
83
- pilot_linkstec-0.0.100.dist-info/RECORD,,
76
+ pilot_linkstec-0.0.102.dist-info/licenses/LICENSE,sha256=6kbiFSfobTZ7beWiKnHpN902HgBx-Jzgcme0SvKqhKY,1091
77
+ pilot_linkstec-0.0.102.dist-info/METADATA,sha256=I5WbKFc5WYdOkKYaPDMdkn6tOMnMIaPzmvJI0Th2meE,680
78
+ pilot_linkstec-0.0.102.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
79
+ pilot_linkstec-0.0.102.dist-info/top_level.txt,sha256=BijnVJdXnIPxxx3s60M848seL4Z12gNUPod6KPJxK9c,6
80
+ pilot_linkstec-0.0.102.dist-info/RECORD,,
@@ -1,28 +0,0 @@
1
- import subprocess
2
- import sys
3
-
4
- class NkfConverter:
5
- def __init__(self, nkf_args=None):
6
- """
7
- コンストラクタ
8
- :param nkf_args: nkf に渡す引数のリスト(例: ['-w', '--overwrite'])
9
- 指定しない場合はデフォルト値を使用
10
- """
11
- if nkf_args is None:
12
- nkf_args = ['-w', '--overwrite']
13
- self.nkf_args = nkf_args
14
-
15
- def convert(self, file_path):
16
- """
17
- nkf を使ってファイルの文字コード変換を行う
18
- :param file_path: 変換対象のファイルパス
19
- :return: nkfの変換結果のバイト列、失敗したらNone
20
- """
21
- cmd = ['nkf32'] + self.nkf_args + [file_path]
22
- try:
23
- result = subprocess.run(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, check=True)
24
- print(f"nkfの実行完了しました: {file_path}")
25
- except subprocess.CalledProcessError as e:
26
- print(f"nkfの実行でエラーが発生しました: {e.stderr.decode()}", file=sys.stderr)
27
- return None
28
- return result.stdout
File without changes
@@ -1,8 +0,0 @@
1
- from abc import ABC, abstractmethod
2
- from typing import List
3
-
4
-
5
- class CodeProcessor(ABC):
6
- @abstractmethod
7
- def process(self, lines: List[str]) -> List[str]:
8
- pass
@@ -1,14 +0,0 @@
1
- from typing import List
2
-
3
- from pilot.processor.code_processor import CodeProcessor
4
-
5
-
6
- class CodeProcessorPipeline:
7
- def __init__(self, processors: List[CodeProcessor]):
8
- self.processors = processors
9
-
10
- def run(self, lines: List[str]) -> List[str]:
11
- result = lines
12
- for processor in self.processors:
13
- result = processor.process(result)
14
- return result