File: recursive.nsi

package info (click to toggle)
openms 2.4.0-real-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 646,136 kB
  • sloc: cpp: 392,260; xml: 215,373; python: 10,976; ansic: 3,325; php: 2,482; sh: 901; ruby: 399; makefile: 141; perl: 85
file content (65 lines) | stat: -rw-r--r-- 1,242 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Name "Inetc Recursive Dir Upload Test"
OutFile "recursive.exe"
RequestExecutionLevel user

!include "MUI2.nsh"
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"
!include "FileFunc.nsh"
!insertmacro GetFileAttributes

var url
var path

Function dirul

  Push $0 ; search handle
  Push $1 ; file name
  Push $2 ; attributes

  FindFirst $0 $1 "$path\*"
loop:
  StrCmp $1 "" done
  ${GetFileAttributes} "$path\$1" DIRECTORY $2
  IntCmp $2 1 isdir
retry:
  Inetc::put $url/$1 "$path\$1" /end
  Pop $2
  DetailPrint "$2 $path\$1"
  StrCmp $2 "OK" cont
  MessageBox MB_YESNO "$path\$1 file upload failed. Retry?" IDYES retry
  Abort "terminated by user"
  Goto cont
isdir:
  StrCmp $1 . cont
  StrCmp $1 .. cont
  Push $path
  Push $url
  StrCpy $path "$path\$1"
  StrCpy $url "$url/$1"
  Call dirul
  Pop $url
  Pop $path
cont:
  FindNext $0 $1
  Goto loop
done:
  FindClose $0

  Pop $2
  Pop $1
  Pop $0

FunctionEnd


Section "Dummy Section" SecDummy

  SetDetailsView hide
  StrCpy $path "$EXEDIR"
; put is dir in the user's ftp home, use //put for root-relative path
  StrCpy $url ftp://takhir:pwd@localhost/put
  Call dirul
  SetDetailsView show

SectionEnd