@@ -5,7 +5,7 @@ Class sc.code [ Abstract ]
5
5
{
6
6
7
7
/// export all available code
8
- ClassMethod export (generated = 0 , system = 0 , percent = 0 , mapped = 0 , mask = " " )
8
+ ClassMethod export (generated = 0 , system = 0 , percent = 0 , mapped = 0 , mask = " " , dfi = 0 )
9
9
{
10
10
11
11
#define export (%code, %file ) s sc = $system .OBJ .ExportUDL (%code , %file ," /diffexport" ) ##continue
@@ -73,11 +73,17 @@ ClassMethod export(generated = 0, system = 0, percent = 0, mapped = 0, mask = ""
73
73
s rs = ##class (%SQL.Statement ).%ExecDirect ( .stm , sql )
74
74
while rs .%Next () {
75
75
s code = rs .Name , filename = ..filename ( code _" .dfi" )
76
- if ( '$find ( code , mask ) ) continue
76
+ if ( '$find ( filename , mask ) ) continue
77
77
if ($L (code ," $TRASH" )>1 ) continue
78
78
$$$mkdir( filename )
79
- $$$log
80
- $$$export(code ,filename )
79
+ if dfi {
80
+ $$$log
81
+ $$$export( code , filename )
82
+ }
83
+ else {
84
+ set filename = $extract (filename ,1 ,*-4 )
85
+ do ##class (%DeepSee.UserLibrary.Utils ).%Export (code ,filename _" .xml" ,1 )
86
+ }
81
87
82
88
} s rs =" "
83
89
@@ -87,7 +93,7 @@ ClassMethod export(generated = 0, system = 0, percent = 0, mapped = 0, mask = ""
87
93
}
88
94
89
95
/// import all from workdir
90
- ClassMethod import (filemask = " *.xml;*.cls;*.mac;*.int;*.inc;*.dfi" , qspec = " cku-d" , ByRef err = " " , recurse = 1 , ByRef loaded = " " , verbose = 1 ) As %Status
96
+ ClassMethod import (filemask = " *.xml;*.cls;*.mac;*.int;*.inc;*.dfi" , qspec = " cku-d" , ByRef err = " " , recurse = 1 , ByRef loaded = " " , verbose = 1 , dfi = 0 ) As %Status
91
97
{
92
98
#define push (%dir ) s dirs ( $i ( dirs ) ) = %dir
93
99
#define next (%i,%dir ) s %i =$o ( dirs ( " " ), 1 , %dir ) k :%i '=" " dirs (%i )
@@ -111,10 +117,19 @@ ClassMethod import(filemask = "*.xml;*.cls;*.mac;*.int;*.inc;*.dfi", qspec = "ck
111
117
// check file filter
112
118
if ..inFilter (.fm ,filename ) continue
113
119
114
- s ext = $p ( filename , " ." , * )
120
+ s ext = $zcvt ($p ( filename , " ." , * )," l" )
121
+
122
+ if (ext = " dfi" ) || (ext = " xml" ) {
123
+ if (ext = " dfi" ) {
124
+ s sc = ##class (%DeepSee.UserLibrary.Utils ).%Import ( filename , 1 , 0 , 0 , " " , .dsloaded )
125
+ }elseif ((ext = " xml" ) && dfi = 0 ){
126
+ set location = $piece (filename ," \dfi\" ,1 )
127
+ set name = $piece (filename ," \dfi\" ,2 )
128
+ set name = $replace (name ," \" ," -" )
129
+ set filename = location _" \dfi\" _name
130
+ do ##class (%DeepSee.UserLibrary.Utils ).%Import (filename ,1 ,0 )
131
+ }
115
132
116
- if $zcvt ( ext , " l" ) = " dfi" {
117
- s sc = ##class (%DeepSee.UserLibrary.Utils ).%Import ( filename , 1 , 0 , 0 , " " , .dsloaded )
118
133
} else {
119
134
// load classes only
120
135
s sc = $system .OBJ .Load ( filename , " k-d" , .err , .loaded )
@@ -143,7 +158,7 @@ ClassMethod import(filemask = "*.xml;*.cls;*.mac;*.int;*.inc;*.dfi", qspec = "ck
143
158
Q sc
144
159
}
145
160
146
- ClassMethod inFilter (ByRef filtermask ,filename ) as %Boolean
161
+ ClassMethod inFilter (ByRef filtermask , filename ) As %Boolean
147
162
{
148
163
s result =0
149
164
for
@@ -158,7 +173,7 @@ ClassMethod inFilter(ByRef filtermask,filename) as %Boolean
158
173
159
174
/// get the filtermask for the repository.
160
175
/// looks for .gitignore file and applies all the lines to filters
161
- ClassMethod setIgnore (ByRef filtermask )
176
+ ClassMethod setIgnore (ByRef filtermask )
162
177
{
163
178
164
179
// working with .gitignore file
@@ -179,7 +194,6 @@ ClassMethod setIgnore(ByRef filtermask)
179
194
quit
180
195
}
181
196
182
-
183
197
/// get or set working directory for export/import source
184
198
ClassMethod workdir (workdir )
185
199
{
@@ -195,8 +209,6 @@ ClassMethod gln() [ CodeMode = expression, Private ]
195
209
" ^" _$classname ()
196
210
}
197
211
198
-
199
-
200
212
ClassMethod init ()
201
213
{
202
214
#define confile " /cos.json"
@@ -211,7 +223,8 @@ ClassMethod init()
211
223
}
212
224
213
225
/// export release file for list and project settings
214
- ClassMethod release () {
226
+ ClassMethod release ()
227
+ {
215
228
s gln =..gln ()
216
229
s list =$G (@gln @(" compileList" ))
217
230
if list =" " w " Nothing to release. Run init method first" quit
@@ -222,7 +235,8 @@ ClassMethod release() {
222
235
w " All objects with mask " _list _" has been exported to " _release
223
236
}
224
237
225
- ClassMethod compile () {
238
+ ClassMethod compile ()
239
+ {
226
240
s gln =..gln ()
227
241
s list =$G (@gln @(" compileList" ))
228
242
if list =" " w " Nothing to compile. Run init method first" quit
@@ -269,7 +283,7 @@ ClassMethod filename(code)
269
283
}
270
284
271
285
/// import from workdir all files with ts newer than code ts in db
272
- ClassMethod importUpdated (filemask = " *.*" , qspec = " cku-d" , ByRef err = " " , recurse = 1 , ByRef loaded = " " , verbose = 1 ) As %Status
286
+ ClassMethod importUpdated (filemask = " *.*" , qspec = " cku-d" , ByRef err = " " , recurse = 1 , ByRef loaded = " " , verbose = 1 , dfi = 0 ) As %Status
273
287
{
274
288
#define push (%dir ) s dirs ( $i ( dirs ) ) = %dir
275
289
#define next (%i,%dir ) s %i =$o ( dirs ( " " ), 1 , %dir ) k :%i '=" " dirs (%i )
@@ -303,10 +317,16 @@ ClassMethod importUpdated(filemask = "*.*", qspec = "cku-d", ByRef err = "", rec
303
317
304
318
if ( filets '] codets ) continue
305
319
306
- if ext = " dfi" {
307
-
308
- s sc = ##class (%DeepSee.UserLibrary.Utils ).%Import ( filename , 1 , 0 , 0 , " " , .loaded )
309
-
320
+ if (ext = " dfi" ) || (ext = " xml" ) {
321
+ if (ext = " dfi" ) {
322
+ s sc = ##class (%DeepSee.UserLibrary.Utils ).%Import ( filename , 1 , 0 , 0 , " " , .dsloaded )
323
+ }elseif ((ext = " xml" ) && dfi = 0 ){
324
+ set location = $piece (filename ," \dfi\" ,1 )
325
+ set name = $piece (filename ," \dfi\" ,2 )
326
+ set name = $replace (name ," \" ," -" )
327
+ set filename = location _" \dfi\" _name
328
+ do ##class (%DeepSee.UserLibrary.Utils ).%Import (filename ,1 ,0 )
329
+ }
310
330
} else {
311
331
312
332
#; drop existing code before import ( purge DateModified )
@@ -354,6 +374,4 @@ ClassMethod codets(codename, ext)
354
374
Q $p ( ts , " ." ) ;remove ms
355
375
}
356
376
357
-
358
377
}
359
-
0 commit comments