本文整理匯總了Golang中github.com/Felamande/filesync/uri.Uri.Abs方法的典型用法代碼示例。如果您正苦於以下問題:Golang Uri.Abs方法的具體用法?Golang Uri.Abs怎麽用?Golang Uri.Abs使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/Felamande/filesync/uri.Uri
的用法示例。
在下文中一共展示了Uri.Abs方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: handleCreate
func (p *SyncPair) handleCreate(lName uri.Uri) {
rName, err := p.ToRight(lName)
if err != nil {
logger.Error(err.Error())
return
}
if !lName.ModTime().After(rName.ModTime()) {
return
}
for {
err := rName.Create(lName.IsDir(), lName.Mode())
if err == nil {
break
} else {
time.Sleep(time.Second * 1)
}
}
if rName.IsDir() {
return
}
//first time copy file.
lFd, rFd := copyFile(rName, lName)
defer lFd.Close()
defer rFd.Close()
logger.Info("Sync succesfully: " + lName.Abs() + " ==> " + rName.Abs())
}
示例2: handleRemove
func (p *SyncPair) handleRemove(lName uri.Uri) {
fmt.Println(lName.Abs(), "removed")
rName, err := p.ToRight(lName)
if err != nil {
logger.Error(err.Error())
return
}
if !rName.Exist() {
return
}
for {
err := rName.Remove()
if err != nil {
fmt.Println(err.Error())
time.Sleep(time.Second * 1)
} else {
break
}
}
fmt.Println(rName.Abs(), "removed")
err = p.watcher.Remove(lName.Abs())
if err != nil {
logger.Warn(err.Error())
}
logger.Info("Remove successfully: " + rName.Abs())
return
}
示例3: WatchLeft
func (p *SyncPair) WatchLeft(left uri.Uri) error {
for {
err := p.watcher.Add(left.Abs())
if err != nil {
err = p.watcher.Add(left.Abs())
} else {
break
}
}
return nil
}
示例4: handleWrite
func (p *SyncPair) handleWrite(lFile uri.Uri) {
var err error
rFile, err := p.ToRight(lFile)
if err != nil {
logger.Error(err.Error())
return
}
lFd, rFd := copyFile(rFile, lFile)
defer lFd.Close()
defer rFd.Close()
logger.Info("Sync file succesfully: " + lFile.Abs() + " ==> " + rFile.Abs())
}
示例5: handleRename
func (p *SyncPair) handleRename(lName uri.Uri) {
fmt.Println(lName.Abs(), "rename")
}