Compare commits
No commits in common. "62e75eaea8cb740ae774d7ddad7242b44599ef60" and "5552e6d2ebcf1a35eaa696a1c1e13d52d1f376af" have entirely different histories.
62e75eaea8
...
5552e6d2eb
@ -158,10 +158,6 @@ func (c *Config) setupConfig(cliConfig *Config) error {
|
|||||||
if cliConfig.AESKeyFile != defaultConfig.AESKeyFile {
|
if cliConfig.AESKeyFile != defaultConfig.AESKeyFile {
|
||||||
c.AESKeyFile = cliConfig.AESKeyFile
|
c.AESKeyFile = cliConfig.AESKeyFile
|
||||||
}
|
}
|
||||||
c.AESKeyFile, err = filepath.Abs(c.AESKeyFile)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("error setting absolute filepath for AESKeyFile: %v", err)
|
|
||||||
}
|
|
||||||
c.AESKeyFile, err = mkFile(c.AESKeyFile, 0600, 0700)
|
c.AESKeyFile, err = mkFile(c.AESKeyFile, 0600, 0700)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("error setting up file: %v", err)
|
return fmt.Errorf("error setting up file: %v", err)
|
||||||
@ -170,10 +166,6 @@ func (c *Config) setupConfig(cliConfig *Config) error {
|
|||||||
if cliConfig.ArticleDir != defaultConfig.ArticleDir {
|
if cliConfig.ArticleDir != defaultConfig.ArticleDir {
|
||||||
c.ArticleDir = cliConfig.ArticleDir
|
c.ArticleDir = cliConfig.ArticleDir
|
||||||
}
|
}
|
||||||
c.ArticleDir, err = filepath.Abs(c.ArticleDir)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("error setting absolute filepath for ArticleDir: %v", err)
|
|
||||||
}
|
|
||||||
c.ArticleDir, err = mkDir(c.ArticleDir, 0700)
|
c.ArticleDir, err = mkDir(c.ArticleDir, 0700)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("error setting up directory: %v", err)
|
return fmt.Errorf("error setting up directory: %v", err)
|
||||||
@ -182,10 +174,6 @@ func (c *Config) setupConfig(cliConfig *Config) error {
|
|||||||
if cliConfig.AtomFile != defaultConfig.AtomFile {
|
if cliConfig.AtomFile != defaultConfig.AtomFile {
|
||||||
c.AtomFile = cliConfig.AtomFile
|
c.AtomFile = cliConfig.AtomFile
|
||||||
}
|
}
|
||||||
c.AtomFile, err = filepath.Abs(c.AtomFile)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("error setting absolute filepath for AtomFile: %v", err)
|
|
||||||
}
|
|
||||||
c.AtomFile, err = mkFile(c.AtomFile, 0644, 0744)
|
c.AtomFile, err = mkFile(c.AtomFile, 0644, 0744)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("error setting up file: %v", err)
|
return fmt.Errorf("error setting up file: %v", err)
|
||||||
@ -214,10 +202,6 @@ func (c *Config) setupConfig(cliConfig *Config) error {
|
|||||||
if cliConfig.FirebaseKey != defaultConfig.FirebaseKey {
|
if cliConfig.FirebaseKey != defaultConfig.FirebaseKey {
|
||||||
c.FirebaseKey = cliConfig.FirebaseKey
|
c.FirebaseKey = cliConfig.FirebaseKey
|
||||||
}
|
}
|
||||||
c.FirebaseKey, err = filepath.Abs(c.FirebaseKey)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("error setting absolute filepath for FirebaseKey: %v", err)
|
|
||||||
}
|
|
||||||
c.FirebaseKey, err = mkFile(c.FirebaseKey, 0600, 0700)
|
c.FirebaseKey, err = mkFile(c.FirebaseKey, 0600, 0700)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("error setting up file: %v", err)
|
return fmt.Errorf("error setting up file: %v", err)
|
||||||
@ -230,10 +214,6 @@ func (c *Config) setupConfig(cliConfig *Config) error {
|
|||||||
if cliConfig.LogFile != defaultConfig.LogFile {
|
if cliConfig.LogFile != defaultConfig.LogFile {
|
||||||
c.LogFile = cliConfig.LogFile
|
c.LogFile = cliConfig.LogFile
|
||||||
}
|
}
|
||||||
c.LogFile, err = filepath.Abs(c.LogFile)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("error setting absolute filepath for LogFile: %v", err)
|
|
||||||
}
|
|
||||||
c.LogFile, err = mkFile(c.LogFile, 0600, 0700)
|
c.LogFile, err = mkFile(c.LogFile, 0600, 0700)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("error setting up file: %v", err)
|
return fmt.Errorf("error setting up file: %v", err)
|
||||||
@ -258,10 +238,6 @@ func (c *Config) setupConfig(cliConfig *Config) error {
|
|||||||
if cliConfig.PDFDir != defaultConfig.PDFDir {
|
if cliConfig.PDFDir != defaultConfig.PDFDir {
|
||||||
c.PDFDir = cliConfig.PDFDir
|
c.PDFDir = cliConfig.PDFDir
|
||||||
}
|
}
|
||||||
c.PDFDir, err = filepath.Abs(c.PDFDir)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("error setting absolute filepath for PDFDir: %v", err)
|
|
||||||
}
|
|
||||||
c.PDFDir, err = mkDir(c.PDFDir, 0700)
|
c.PDFDir, err = mkDir(c.PDFDir, 0700)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("error setting up directory: %v", err)
|
return fmt.Errorf("error setting up directory: %v", err)
|
||||||
@ -270,10 +246,6 @@ func (c *Config) setupConfig(cliConfig *Config) error {
|
|||||||
if cliConfig.PicsDir != defaultConfig.PicsDir {
|
if cliConfig.PicsDir != defaultConfig.PicsDir {
|
||||||
c.PicsDir = cliConfig.PicsDir
|
c.PicsDir = cliConfig.PicsDir
|
||||||
}
|
}
|
||||||
c.PicsDir, err = filepath.Abs(c.PicsDir)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("error setting absolute filepath for PicsDir: %v", err)
|
|
||||||
}
|
|
||||||
c.PicsDir, err = mkDir(c.PicsDir, 0700)
|
c.PicsDir, err = mkDir(c.PicsDir, 0700)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("error setting up directory: %v", err)
|
return fmt.Errorf("error setting up directory: %v", err)
|
||||||
@ -290,10 +262,6 @@ func (c *Config) setupConfig(cliConfig *Config) error {
|
|||||||
if cliConfig.WebDir != defaultConfig.WebDir {
|
if cliConfig.WebDir != defaultConfig.WebDir {
|
||||||
c.WebDir = cliConfig.WebDir
|
c.WebDir = cliConfig.WebDir
|
||||||
}
|
}
|
||||||
c.WebDir, err = filepath.Abs(c.WebDir)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("error setting absolute filepath for WebDir: %v", err)
|
|
||||||
}
|
|
||||||
c.WebDir, err = mkDir(c.WebDir, 0700)
|
c.WebDir, err = mkDir(c.WebDir, 0700)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("error setting up directory: %v", err)
|
return fmt.Errorf("error setting up directory: %v", err)
|
||||||
|
@ -14,13 +14,15 @@ import (
|
|||||||
func ConvertToMarkdown(c *Config, filename string) ([]byte, error) {
|
func ConvertToMarkdown(c *Config, filename string) ([]byte, error) {
|
||||||
var stderr bytes.Buffer
|
var stderr bytes.Buffer
|
||||||
|
|
||||||
tmpDir, err := os.MkdirTemp(os.TempDir(), "cpolis_images")
|
articleID := uuid.New()
|
||||||
|
articleFileName := fmt.Sprint("/tmp/", articleID, ".md")
|
||||||
|
|
||||||
|
tmpDir, err := os.MkdirTemp("/tmp", "cpolis_images")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("error creating temporary directory: %v", err)
|
return nil, fmt.Errorf("error creating temporary directory: %v", err)
|
||||||
}
|
}
|
||||||
defer os.RemoveAll(tmpDir)
|
defer os.RemoveAll(tmpDir)
|
||||||
|
|
||||||
articleFileName := filepath.Join(os.TempDir(), fmt.Sprint(uuid.New(), ".md"))
|
|
||||||
cmd := exec.Command("pandoc", "-s", "-f", "docx", "-t", "commonmark_x", "-o", articleFileName, "--extract-media", tmpDir, filename) // TODO: Is writing to a file necessary?
|
cmd := exec.Command("pandoc", "-s", "-f", "docx", "-t", "commonmark_x", "-o", articleFileName, "--extract-media", tmpDir, filename) // TODO: Is writing to a file necessary?
|
||||||
cmd.Stderr = &stderr
|
cmd.Stderr = &stderr
|
||||||
if err = cmd.Run(); err != nil {
|
if err = cmd.Run(); err != nil {
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
package calls
|
package calls
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"path/filepath"
|
||||||
|
|
||||||
b "streifling.com/jason/cpolis/cmd/backend"
|
b "streifling.com/jason/cpolis/cmd/backend"
|
||||||
)
|
)
|
||||||
@ -12,6 +14,13 @@ func ServeAtomFeed(c *b.Config) http.HandlerFunc {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
http.ServeFile(w, r, c.AtomFile)
|
absFilepath, err := filepath.Abs(c.AtomFile)
|
||||||
|
if err != nil {
|
||||||
|
log.Println(err)
|
||||||
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
http.ServeFile(w, r, absFilepath)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package calls
|
package calls
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
@ -16,6 +17,13 @@ func ServeImage(c *b.Config, s map[string]*f.Session) http.HandlerFunc {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
http.ServeFile(w, r, filepath.Join(c.PicsDir, r.PathValue("pic")))
|
absFilepath, err := filepath.Abs(c.PicsDir)
|
||||||
|
if err != nil {
|
||||||
|
log.Println(err)
|
||||||
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
http.ServeFile(w, r, absFilepath+"/"+r.PathValue("pic"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44,15 +44,22 @@ func UploadDocx(c *b.Config, db *b.DB, s map[string]*Session) http.HandlerFunc {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
docxFilepath := filepath.Join(os.TempDir(), fmt.Sprint(uuid.New(), ".docx"))
|
docxFilename := fmt.Sprint(uuid.New(), ".docx")
|
||||||
if err = os.WriteFile(docxFilepath, buf.Bytes(), 0644); err != nil {
|
absDocxFilepath, err := filepath.Abs("/tmp/" + docxFilename)
|
||||||
|
if err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer os.Remove(docxFilepath)
|
|
||||||
|
|
||||||
mdString, err := b.ConvertToMarkdown(c, docxFilepath)
|
if err = os.WriteFile(absDocxFilepath, buf.Bytes(), 0644); err != nil {
|
||||||
|
log.Println(err)
|
||||||
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer os.Remove(absDocxFilepath)
|
||||||
|
|
||||||
|
mdString, err := b.ConvertToMarkdown(c, absDocxFilepath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
@ -60,8 +67,15 @@ func UploadDocx(c *b.Config, db *b.DB, s map[string]*Session) http.HandlerFunc {
|
|||||||
}
|
}
|
||||||
|
|
||||||
uuidName := uuid.New()
|
uuidName := uuid.New()
|
||||||
mdFilepath := filepath.Join(c.ArticleDir, fmt.Sprint(uuidName, ".md"))
|
mdFilename := fmt.Sprint(uuidName, ".md")
|
||||||
if err = os.WriteFile(mdFilepath, mdString, 0644); err != nil {
|
absMdFilepath, err := filepath.Abs(c.ArticleDir + "/" + mdFilename)
|
||||||
|
if err != nil {
|
||||||
|
log.Println(err)
|
||||||
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if err = os.WriteFile(absMdFilepath, mdString, 0644); err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
return
|
return
|
||||||
|
@ -44,11 +44,17 @@ func UploadPDF(c *b.Config, s map[string]*Session) http.HandlerFunc {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
oldFilename := strings.Join(strings.Split(header.Filename, ".")[:len(header.Filename)-1], ".")
|
oldFilename := header.Filename
|
||||||
|
oldFilename = strings.Join(strings.Split(oldFilename, ".")[:len(oldFilename)-1], ".")
|
||||||
filename := fmt.Sprint(oldFilename, ".", uuid.New(), ".pdf")
|
filename := fmt.Sprint(oldFilename, ".", uuid.New(), ".pdf")
|
||||||
filepath := filepath.Join(c.PDFDir, filename)
|
absFilepath, err := filepath.Abs(c.PDFDir + "/" + filename)
|
||||||
|
if err != nil {
|
||||||
|
log.Println(err)
|
||||||
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if err = b.WriteFile(filepath, file); err != nil {
|
if err = b.WriteFile(absFilepath, file); err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
return
|
return
|
||||||
|
Loading…
x
Reference in New Issue
Block a user