~sebikul/mundus/mundus-git

« back to all changes in this revision

Viewing changes to .src/Modules.module

  • Committer: Sebi
  • Date: 2015-12-01 23:14:32 UTC
  • Revision ID: git-v1:bc907761723b955cad8a13c3c3cafd4cfe78dcb7
Tags: v3.0.1
Fixed path parsing and a spacing issue in the Backups form

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
Property Read Count As Integer
23
23
 
24
24
Public Function _get(sName As String) As Module
25
 
  
 
25
 
26
26
  If $cModules.Exist(sName) Then Return $cModules[sName]
27
 
  
 
27
 
28
28
End
29
29
 
30
30
Public Sub _put(mModule As Module, sName As String)
31
 
  
 
31
 
32
32
  If Not $cModules.Exist(sName) Then $cModules.Add(mModule, sName)
33
 
  
 
33
 
34
34
End
35
35
 
36
36
Public Sub Load() As Boolean
37
 
  
 
37
 
38
38
  Dim sList As String[]
39
 
  
 
39
 
40
40
  Dim sModule As String
41
 
  
 
41
 
42
42
  Dim tmpModule As Module
43
 
  
 
43
 
44
44
  $cModules.Clear()
45
 
  
 
45
 
46
46
  sList = Dir("./modules", "*.mundus")
47
 
  
 
47
 
48
48
  fProgress.Start(sList.Count, ("Loading Modules"), False)
49
 
  
 
49
 
50
50
  For Each sModule In sList
51
 
    
 
51
 
52
52
    sModule = File.BaseName(sModule)
53
 
    
 
53
 
54
54
    fProgress.SetStatus(Subst(("Loading module: &1"), sModule))
55
 
    
 
55
 
56
56
    tmpModule = Get(sModule)
57
 
    
 
57
 
58
58
    $cModules.Add(tmpModule, sModule)
59
 
    
 
59
 
60
60
    fProgress.Increment()
61
 
    
 
61
 
62
62
  Next
63
 
  
 
63
 
64
64
  fProgress.Finish()
65
 
  
 
65
 
66
66
End
67
67
 
68
68
Public Sub Reload(sName As String)
69
 
  
 
69
 
70
70
  Dim tmpModule As Module
71
 
  
 
71
 
72
72
  tmpModule = Get(sName)
73
 
  
 
73
 
74
74
  $cModules[sName] = tmpModule
75
 
  
 
75
 
76
76
End
77
77
 
78
78
Public Function Get(sName As String, Optional bLoadModule As Boolean = True) As Module
79
 
  
 
79
 
80
80
  Dim sPath As String
81
 
  
 
81
 
82
82
  Dim cModule As Collection
83
 
  
 
83
 
84
84
  sPath = "./modules" &/ sName & ".mundus"
85
 
  
 
85
 
86
86
  cModule = JSON.Decode(File.Load(sPath))
87
 
  
 
87
 
88
88
  Return New Module(cModule, bLoadModule)
89
 
  
 
89
 
90
90
Catch
91
 
  
 
91
 
92
92
  Debug "Module is corrupted: " & sName
93
 
  
 
93
 
94
94
  Return Null
95
 
  
 
95
 
96
96
End
97
97
 
98
98
Private Function All_Read() As Collection
99
 
  
 
99
 
100
100
  Return $cModules
101
 
  
 
101
 
102
102
End
103
103
 
104
104
Private Function Count_Read() As Integer
105
 
  
 
105
 
106
106
  Return $cModules.Count
107
 
  
 
107
 
108
108
End