Merge branch 'fix-pdfinfo'

This commit is contained in:
David Howden
2017-05-01 21:56:23 +10:00
4 changed files with 15 additions and 21 deletions
+3 -4
View File
@@ -31,20 +31,19 @@ func ConvertDoc(r io.Reader) (string, map[string]string, error) {
}
// Parse meta output
info := make(map[string]string)
for _, line := range strings.Split(string(metaStr), "\n") {
if parts := strings.SplitN(line, "=", 2); len(parts) > 1 {
info[strings.TrimSpace(parts[0])] = strings.TrimSpace(parts[1])
meta[strings.TrimSpace(parts[0])] = strings.TrimSpace(parts[1])
}
}
// Convert parsed meta
if tmp, ok := info["Last Modified"]; ok {
if tmp, ok := meta["Last Modified"]; ok {
if t, err := time.Parse(time.RFC3339, tmp); err == nil {
meta["ModifiedDate"] = fmt.Sprintf("%d", t.Unix())
}
}
if tmp, ok := info["Created"]; ok {
if tmp, ok := meta["Created"]; ok {
if t, err := time.Parse(time.RFC3339, tmp); err == nil {
meta["CreatedDate"] = fmt.Sprintf("%d", t.Unix())
}
+3 -3
View File
@@ -37,17 +37,17 @@ func ConvertDocx(r io.Reader) (string, map[string]string, error) {
}
defer rc.Close()
info, err := XMLToMap(rc)
meta, err = XMLToMap(rc)
if err != nil {
return "", nil, fmt.Errorf("error parsing '%v': %v", f.Name, err)
}
if tmp, ok := info["modified"]; ok {
if tmp, ok := meta["modified"]; ok {
if t, err := time.Parse(time.RFC3339, tmp); err == nil {
meta["ModifiedDate"] = fmt.Sprintf("%d", t.Unix())
}
}
if tmp, ok := info["created"]; ok {
if tmp, ok := meta["created"]; ok {
if t, err := time.Parse(time.RFC3339, tmp); err == nil {
meta["CreatedDate"] = fmt.Sprintf("%d", t.Unix())
}
+4 -8
View File
@@ -28,23 +28,19 @@ func ConvertPDF(r io.Reader) (string, map[string]string, error) {
}
// Parse meta output
info := make(map[string]string)
for _, line := range strings.Split(string(metaStr), "\n") {
if parts := strings.SplitN(line, ":", 2); len(parts) > 1 {
info[strings.TrimSpace(parts[0])] = strings.TrimSpace(parts[1])
meta[strings.TrimSpace(parts[0])] = strings.TrimSpace(parts[1])
}
}
// Convert parsed meta
if tmp, ok := info["Author"]; ok {
meta["Author"] = tmp
}
if tmp, ok := info["ModDate"]; ok {
// Convert parsed dates into unix timestamps
if tmp, ok := meta["ModDate"]; ok {
if t, err := time.Parse(time.ANSIC, tmp); err == nil {
meta["ModifiedDate"] = fmt.Sprintf("%d", t.Unix())
}
}
if tmp, ok := info["CreationDate"]; ok {
if tmp, ok := meta["CreationDate"]; ok {
if t, err := time.Parse(time.ANSIC, tmp); err == nil {
meta["CreatedDate"] = fmt.Sprintf("%d", t.Unix())
}
+5 -6
View File
@@ -23,10 +23,10 @@ func ConvertRTF(r io.Reader) (string, map[string]string, error) {
}
// Step through content looking for meta data and stripping out comments
info := make(map[string]string)
meta := make(map[string]string)
for _, line := range strings.Split(string(tmpOutput), "\n") {
if parts := strings.SplitN(line, ":", 2); len(parts) > 1 {
info[strings.TrimSpace(parts[0])] = strings.TrimSpace(parts[1])
meta[strings.TrimSpace(parts[0])] = strings.TrimSpace(parts[1])
}
if len(line) > 4 && line[:4] != "### " {
output += line + "\n"
@@ -34,16 +34,15 @@ func ConvertRTF(r io.Reader) (string, map[string]string, error) {
}
// Identify meta data
meta := make(map[string]string)
if tmp, ok := info["AUTHOR"]; ok {
if tmp, ok := meta["AUTHOR"]; ok {
meta["Author"] = tmp
}
if tmp, ok := info["### creation date"]; ok {
if tmp, ok := meta["### creation date"]; ok {
if t, err := time.Parse("02 January 2006 15:04", tmp); err == nil {
meta["CreatedDate"] = fmt.Sprintf("%d", t.Unix())
}
}
if tmp, ok := info["### revision date"]; ok {
if tmp, ok := meta["### revision date"]; ok {
if t, err := time.Parse("02 January 2006 15:04", tmp); err == nil {
meta["ModifiedDate"] = fmt.Sprintf("%d", t.Unix())
}