|
|
|
@ -71,7 +71,11 @@ func (c *chromium) BrowsingData() (*browingdata.Data, error) { |
|
|
|
|
|
|
|
|
|
func (c *chromium) copyItemToLocal() error { |
|
|
|
|
for i, path := range c.itemPaths { |
|
|
|
|
// var dstFilename = item.TempName()
|
|
|
|
|
if fileutil.FolderExists(path) { |
|
|
|
|
if err := fileutil.CopyDir(path, i.String()); err != nil { |
|
|
|
|
return err |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
var filename = i.String() |
|
|
|
|
// TODO: Handle read file error
|
|
|
|
|
d, err := ioutil.ReadFile(path) |
|
|
|
@ -83,6 +87,7 @@ func (c *chromium) copyItemToLocal() error { |
|
|
|
|
return err |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -91,7 +96,11 @@ func (c *chromium) getItemPath(profilePath string, items []item.Item) (map[item. |
|
|
|
|
parentDir := fileutil.ParentDir(profilePath) |
|
|
|
|
baseDir := fileutil.BaseDir(profilePath) |
|
|
|
|
err := filepath.Walk(parentDir, chromiumWalkFunc(items, itemPaths, baseDir)) |
|
|
|
|
if err != nil { |
|
|
|
|
return itemPaths, err |
|
|
|
|
} |
|
|
|
|
fillLocalStoragePath(itemPaths, item.ChromiumLocalStorage) |
|
|
|
|
return itemPaths, nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func chromiumWalkFunc(items []item.Item, itemPaths map[item.Item]string, baseDir string) filepath.WalkFunc { |
|
|
|
@ -110,3 +119,12 @@ func chromiumWalkFunc(items []item.Item, itemPaths map[item.Item]string, baseDir |
|
|
|
|
return err |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func fillLocalStoragePath(itemPaths map[item.Item]string, storage item.Item) { |
|
|
|
|
if p, ok := itemPaths[item.ChromiumHistory]; ok { |
|
|
|
|
lsp := filepath.Join(filepath.Dir(p), storage.FileName()) |
|
|
|
|
if fileutil.FolderExists(lsp) { |
|
|
|
|
itemPaths[item.ChromiumLocalStorage] = lsp |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|