mirror of
https://github.com/Theodor-Springmann-Stiftung/lenz-web.git
synced 2026-03-21 22:05:30 +00:00
Restart Init
This commit is contained in:
@@ -1,40 +1,7 @@
|
||||
package xmlmodels
|
||||
|
||||
import (
|
||||
"sync"
|
||||
import gitpkg "github.com/Theodor-Springmann-Stiftung/lenz-web/git"
|
||||
|
||||
"github.com/Theodor-Springmann-Stiftung/lenz-web/xmlparsing"
|
||||
)
|
||||
|
||||
var lib *Library
|
||||
var mu sync.RWMutex
|
||||
|
||||
func Set(l *Library) {
|
||||
mu.Lock()
|
||||
defer mu.Unlock()
|
||||
if lib != nil {
|
||||
panic("Trying to reinitialize Library")
|
||||
}
|
||||
lib = l
|
||||
}
|
||||
|
||||
func Get() *Library {
|
||||
mu.RLock()
|
||||
defer mu.RUnlock()
|
||||
if lib == nil {
|
||||
panic("Trying to get uninitialized Library")
|
||||
}
|
||||
return lib
|
||||
}
|
||||
|
||||
func Parse(dir, hash string) (*Library, error) {
|
||||
if lib == nil {
|
||||
Set(NewLibrary())
|
||||
}
|
||||
|
||||
if hash == "" {
|
||||
return Get(), lib.Parse(xmlparsing.Path, dir, hash)
|
||||
}
|
||||
|
||||
return Get(), lib.Parse(xmlparsing.Commit, dir, hash)
|
||||
func Parse(dir string, commit *gitpkg.Commit) (*Library, error) {
|
||||
return NewLibrary(dir, commit)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user