Skip to content

Commit 548534c

Browse files
author
Дуюнов Алексей Сергеевич
committed
xDrivenDevelopment#18 - добавил возможность создавать подпапку хранения разобранных исходников в папке с обработками
1 parent 1f6904e commit 548534c

File tree

2 files changed

+31
-5
lines changed

2 files changed

+31
-5
lines changed

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## Набор утилит для автоматической разборки/сборки внешних обработок и отчетов, при помещении(commit) в git.
1+
## Набор утилит для автоматической разборки/сборки внешних обработок и отчетов, при помещении(commit) в git.
22

33
### Что к чему
44
----
@@ -33,7 +33,13 @@ onecplatfrorms = c:\program\1cv8\8.3.5.823\bin\1cv8.exe
3333
source = plugin_source
3434
```
3535

36-
5. Наконец содержимое каталога необходимо скопировать в каталог .git/hooks/ вашего проекта.
36+
5. Флажок изменеяющий корневую папку хранения исходных текстово разобранных обработок поумолчанию используется как корневая папка (для обеспечения совместимости со старыми версиями обработки), однако его можно переназначить в ini файле. Если изменить флажок на True - в каждой корневой папаке внешних обработок будет создан подкаталог текстово разобранных обработок.
37+
```
38+
[DEFAULT]
39+
source_in_source = False
40+
```
41+
42+
6. Наконец содержимое каталога необходимо скопировать в каталог .git/hooks/ вашего проекта.
3743
> *Примечание:* каталог .git по умолчанию скрыт.
3844
3945
```

pyv8unpack.py

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -160,25 +160,45 @@ def decompile(list_of_files, source=None, platform=None):
160160
if source_dir is None:
161161
source_dir = "src"
162162

163+
#получаем флажок того, что исходники располагаются в подпапке источника
164+
source_in_source = get_config_param("source_in_source")
165+
if source_in_source is None:
166+
source_in_source = False
167+
else:
168+
if source_in_source == "True":
169+
source_in_source = True
170+
else:
171+
source_in_source = False
172+
163173
dirsource = os.path.abspath(os.path.join(os.path.curdir, source_dir))
164174
curabsdirpath = os.path.abspath(os.path.curdir)
165175
pathbin1c = platform or get_path_to_1c()
166176
returnlist = []
167177

168178
for filename in dataprocessor_files:
169179
logging.info("file %s" % filename)
170-
180+
171181
fullpathfile = os.path.abspath(filename)
172182
basename = os.path.splitext(os.path.basename(filename))[0]
173183
fullbasename = os.path.basename(filename)
174184
newdirname = os.path.dirname(filename)
175185

186+
#если исходники в подпаке источника, меняем путь
187+
if source_in_source:
188+
dirsource = os.path.abspath(os.path.join(os.path.curdir, newdirname, source_dir))
189+
190+
176191
#Скопируем сначало просто структуру каталогов.
177192
if not os.path.exists(dirsource):
178193
os.makedirs(dirsource)
179194
#для каждого файла определим новую папку.
180-
logging.debug("{} {} {}".format(dirsource, newdirname, basename))
181-
newsourcepath = os.path.join(dirsource, newdirname, basename)
195+
if source_in_source:
196+
logging.debug("{} {}".format(dirsource, basename))
197+
newsourcepath = os.path.join(dirsource, basename)
198+
else:
199+
logging.debug("{} {} {}".format(dirsource, newdirname, basename))
200+
newsourcepath = os.path.join(dirsource, newdirname, basename)
201+
182202
if(os.path.isabs(newdirname)):
183203
newsourcepath = os.path.join(dirsource, basename)
184204
if not os.path.exists(newsourcepath):

0 commit comments

Comments
 (0)