1
0
mirror of https://github.com/osmarks/mycorrhiza.git synced 2024-12-12 13:30:26 +00:00
mycorrhiza/hyphae/media_hypha.go
Timur Ismagilov eb9acb718e Break a lot of stuff
Starring:
* Broken error localization for now (got in the way)
* The title for error pages is the same for all errors (who cares anyway)
* New bugs
* The brand new /rename/ handler
2022-02-19 19:42:32 +03:00

46 lines
835 B
Go

package hyphae
import (
"github.com/bouncepaw/mycorrhiza/files"
"path/filepath"
"sync"
)
type MediaHypha struct {
sync.RWMutex
canonicalName string
mycoFilePath string
mediaFilePath string
}
func (m *MediaHypha) CanonicalName() string {
return m.canonicalName
}
func (m *MediaHypha) TextFilePath() string {
if m.mycoFilePath == "" {
return filepath.Join(files.HyphaeDir(), m.CanonicalName()+".myco")
}
return m.mycoFilePath
}
func (m *MediaHypha) HasTextFile() bool {
return m.mycoFilePath != ""
}
func (m *MediaHypha) MediaFilePath() string {
return m.mediaFilePath
}
func (m *MediaHypha) SetMediaFilePath(newPath string) {
m.mediaFilePath = newPath
}
func ShrinkMediaToTextual(m *MediaHypha) *TextualHypha {
return &TextualHypha{
canonicalName: m.CanonicalName(),
mycoFilePath: m.TextFilePath(),
}
}