| 361 | } |
| 362 | |
| 363 | func (node *Node) SetExpiration(expire string) (err error) { |
| 364 | parts := ExpireRegex.FindStringSubmatch(expire) |
| 365 | if len(parts) == 0 { |
| 366 | return errors.New("expiration format is invalid") |
| 367 | } |
| 368 | var expireTime time.Duration |
| 369 | expireNum, _ := strconv.Atoi(parts[1]) |
| 370 | currTime := time.Now() |
| 371 | |
| 372 | switch parts[2] { |
| 373 | case "M": |
| 374 | expireTime = time.Duration(expireNum) * time.Minute |
| 375 | case "H": |
| 376 | expireTime = time.Duration(expireNum) * time.Hour |
| 377 | case "D": |
| 378 | expireTime = time.Duration(expireNum*24) * time.Hour |
| 379 | } |
| 380 | |
| 381 | node.Expiration = currTime.Add(expireTime) |
| 382 | return |
| 383 | } |
| 384 | |
| 385 | func (node *Node) SetAttributes(attr file.FormFile) (err error) { |
| 386 | defer attr.Remove() |