Skip to content

Commit bd96d22

Browse files
committed
Folder structure for classes
Package.Name.cls->/Package/Name.cls
1 parent 78ba86b commit bd96d22

File tree

2 files changed

+69
-62
lines changed

2 files changed

+69
-62
lines changed

.DS_Store

6 KB
Binary file not shown.

sc.alles.cls

100644100755
Lines changed: 69 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
1-
/// special edition of sc.all.sub for ES without dependencies
1+
/// special edition of sc.all.sub for ES without dependencies
22
/// Export different types of modules in different subfolders
33
Class sc.alles [ Abstract ]
44
{
55

66
/// export all available code
7-
ClassMethod export(generated = 0, system = 0, percent = 0, mapped = 1)
7+
ClassMethod export(generated = 0, system = 0, percent = 0, mapped = 0)
88
{
9-
9+
1010
#define export(%code, %file) $system.OBJ.ExportUDL(%code, %file,"/diffexport")
11-
#define isGenerated(%code) ##class(%RoutineMgr).IsGenerated( %code )
11+
#define isGenerated(%code) ##class(%RoutineMgr).IsGenerated( %code )
1212
#define isPercented(%code) ("%" = $e(%code))
1313
#define isMapped(%code) ##class(%RoutineMgr).IsMapped( %code )
1414
#define log w !, code, " -> ", filename, " "
15-
16-
#; classes
15+
16+
#; classes
1717
s rs = ##class(%ResultSet).%New("%Dictionary.ClassDefinition:Summary")
1818
if rs.Execute() {
19-
19+
2020
while rs.%Next(){
21-
21+
2222
s code = rs.Name _ ".cls", isSystem = rs.System
2323
if ( 'system && isSystem ) continue
2424
if ( 'generated && $$$isGenerated( code ) ) continue
@@ -27,29 +27,29 @@ ClassMethod export(generated = 0, system = 0, percent = 0, mapped = 1)
2727
s filename = ..filename( code )
2828
$$$log
2929
w $$$export( code, filename )
30-
30+
3131
} s rs=""
32-
}
33-
32+
}
33+
3434
#; routines
3535
s rs = ##class(%ResultSet).%New("%Routine:RoutineList")
3636
if rs.Execute() {
37-
37+
3838
while rs.%Next() {
39-
39+
4040
s code = rs.Name
4141
if ( 'generated && $$$isGenerated( code ) ) continue
4242
if ( 'percent && $$$isPercented( code ) ) continue
4343
if ( 'mapped && $$$isMapped( code ) ) continue
44-
44+
4545
s filename = ..filename( code )
4646
$$$log
4747
w $$$export( code, filename )
48-
48+
4949
} s rs=""
5050
}
51-
52-
51+
52+
5353
#; dfi
5454
#define export(%code, %file) ##class(%DeepSee.UserLibrary.Utils).%Export( %code, %file, 0 )
5555
s sql = "Select fullName as Name From %DeepSee_UserLibrary.FolderItem"
@@ -58,9 +58,9 @@ ClassMethod export(generated = 0, system = 0, percent = 0, mapped = 1)
5858
s code = rs.Name, filename = ..filename( code_".dfi" )
5959
$$$log
6060
w $$$export( code, filename )
61-
61+
6262
} s rs=""
63-
63+
6464
Q
6565
}
6666

@@ -71,21 +71,21 @@ ClassMethod import(filemask = "*.*", qspec = "cku-d", ByRef err = "", recurse =
7171
#define next(%i,%dir) s %i=$o( dirs( "" ), 1, %dir ) k:%i'="" dirs(%i)
7272
#define isDirectory(%type) ( %type = "D" )
7373
#define log w !, filename, " ", +sc
74-
74+
7575
s sc = 1, dirs = "", dir = ..workdir() $$$push(dir)
76-
76+
7777
s rs = ##class(%ResultSet).%New( "%Library.File:FileSet" )
7878
for { $$$next(i,dir) Q:i="" Q:dir=""
79-
79+
8080
s sc = rs.Execute( dir, filemask ) Q:'sc
81-
81+
8282
while rs.Next() {
8383

8484
s filename = rs.Name
8585

8686
if $$$isDirectory(rs.Type) {
87-
if recurse $$$push(filename)
88-
continue
87+
if recurse $$$push(filename)
88+
continue
8989
}
9090

9191
s ext = $p( filename, ".", * )
@@ -100,7 +100,7 @@ ClassMethod import(filemask = "*.*", qspec = "cku-d", ByRef err = "", recurse =
100100

101101
}
102102
}
103-
103+
104104
Q sc
105105
}
106106

@@ -109,7 +109,7 @@ ClassMethod workdir(workdir)
109109
{
110110
s gln = ..gln() s:$d(workdir) @gln = workdir
111111
///zu(12) namespace directory by default
112-
#define nsdir $zu(12,"")
112+
#define nsdir $zu(12,"")
113113
Q $g(@gln, $$$nsdir)
114114
}
115115

@@ -125,31 +125,39 @@ ClassMethod gln() [ CodeMode = expression, Private ]
125125
ClassMethod filename(code)
126126
{
127127
#define log(%dir,%sc) w !, "mkdir ", %dir, " ", sc
128-
129-
s wd = ..workdir()
130-
128+
129+
s wd = ..workdir()
130+
131131
if '##class(%File).DirectoryExists( wd ) {
132132
s sc = ##class(%File).CreateDirectoryChain( wd )
133133
$$$log(wd,sc)
134134
}
135-
135+
136136
s ext = $p( code, ".", * ), ext = $zcvt( ext, "l" )
137137
#; for each type - different directory
138-
139-
s:ext'="" wd = ##class(%File).NormalizeDirectory( ext, wd )
138+
139+
s:ext'="" wd = ##class(%File).NormalizeDirectory( ext, wd )
140140
if '##class(%File).DirectoryExists( wd ) {
141141
s sc = ##class(%File).CreateDirectoryChain( wd )
142142
$$$log(wd,sc)
143143
}
144-
144+
145145
s filename = ##class(%File).NormalizeFilename( code, wd )
146+
#; for *.cls Package.Subpackage.ClassName.cls -> Folder/Subfolder/ClassName.cls
147+
if ext ="cls" {
148+
set foldercode=$piece(code,".",*-2)
149+
set foldercode=$translate(foldercode,".","/")
150+
set foldercode=foldercode_"/"_$piece(code,".",*-1,*)
151+
set filename=##class(%File).NormalizeFilename( foldercode, wd )
152+
}
153+
146154
#; for *.dfi filename can contain folders
147-
if ext = "dfi" {
148-
s path = ##class(%File).GetDirectory( filename )
155+
if ext = ("dfi")!("cls") {
156+
s path = ##class(%File).GetDirectory( filename )
149157
if '##class(%File).DirectoryExists( path ) {
150-
s sc = ##class(%File).CreateDirectoryChain( path )
158+
s sc = ##class(%File).CreateDirectoryChain( path )
151159
$$$log(path,sc)
152-
}
160+
}
153161
}
154162
Q filename
155163
}
@@ -161,62 +169,62 @@ ClassMethod importUpdated(filemask = "*.*", qspec = "cku-d", ByRef err = "", rec
161169
#define next(%i,%dir) s %i=$o( dirs( "" ), 1, %dir ) k:%i'="" dirs(%i)
162170
#define isDirectory(%type) ( %type = "D" )
163171
#define log w !, filename, " -> ", codename, " ", +sc
164-
172+
165173
s sc = 1, dirs = "", dir = ..workdir() $$$push(dir)
166-
174+
167175
s rs = ##class(%ResultSet).%New( "%Library.File:FileSet" )
168176
for { $$$next(i,dir) Q:i="" Q:dir=""
169-
177+
170178
s sc = rs.Execute( dir, filemask ) Q:'sc
171-
179+
172180
while rs.Next() {
173-
174-
s filename = rs.Name
175-
181+
182+
s filename = rs.Name
183+
176184
if $$$isDirectory( rs.Type ) {
177-
if ( recurse ) $$$push(filename) ;push directory
178-
continue
185+
if ( recurse ) $$$push(filename) ;push directory
186+
continue
179187
}
180-
188+
181189
s filets = rs.DateModified
182-
s codename = ..codename( filename, .ext )
190+
s codename = ..codename( filename, .ext )
183191
s codets = ..codets( codename, ext )
184-
192+
185193
if ( filets '] codets ) continue
186-
194+
187195
/*
188196
w !, " ************* import ************** "
189197
w !, "file: ", filets
190198
w !, "code: ", codets
191199
*/
192-
200+
193201
if ext = "dfi" {
194-
202+
195203
s sc = ##class(%DeepSee.UserLibrary.Utils).%Import( filename, 1, 0, 0, "", .loaded )
196-
204+
197205
} else {
198-
206+
199207
#; drop existing code before import ( purge DateModified )
200208
s:codets'="" sc = ##class(%RoutineMgr).Delete( codename )
201209
s sc = $system.OBJ.Load( filename, qspec, .err, .loaded)
202-
210+
203211
}
204-
212+
205213
if verbose $$$log
206214
}
207215
}
208216
Q sc
209217
}
210218

211-
/// presumable codename
219+
/// presumable codename
212220
ClassMethod codename(filename, ByRef ext = "")
213221
{
214222
s ext = $p( filename, ".", * ), ext = $zcvt( ext, "l" )
215223
s path = ##class(%File).NormalizeDirectory( ext, ..workdir() )
216224
s codename = $p( filename, path, 2 )
217225
if ext = "dfi" {
218226
s fullname = $tr( codename, "\", "/" ) ; return fullname for dfi in $$$IsWINDOWS
219-
Q $p( fullname, ".", 1, *-1 ) ;remove extension
227+
Q $p( fullname, ".", 1, *-1 ) ;remove extension
220228
}
221229
Q codename
222230
}
@@ -227,9 +235,9 @@ ClassMethod codets(codename, ext)
227235
if ext'="dfi" {
228236
s ts = ##class(%RoutineMgr).TS( codename )
229237
} else {
230-
s sql="Select timeModified From %DeepSee_UserLibrary.FolderItem Where fullname = ?"
238+
s sql="Select timeModified From %DeepSee_UserLibrary.FolderItem Where fullname = ?"
231239
s rs = ##class(%SQL.Statement).%ExecDirect( , sql, codename )
232-
if rs.%Next() {
240+
if rs.%Next() {
233241
s utcts = rs.timeModified
234242
s utch = $zdth( utcts, 3, , 3 ) ;utc internal format
235243
s loch = $zdth( utch, -3 ) ; utc to local timezone
@@ -240,4 +248,3 @@ ClassMethod codets(codename, ext)
240248
}
241249

242250
}
243-

0 commit comments

Comments
 (0)