Diff of /trunk/cforge/cforge/Package/CFORGE/Scripts/action.svn.checkout.py [r22] .. [r23]  Maximize  Restore

Switch to unified view

a/trunk/cforge/cforge/Package/CFORGE/Scripts/action.svn.checkout.py b/trunk/cforge/cforge/Package/CFORGE/Scripts/action.svn.checkout.py
1
# Example Batch:
1
# Example Batch:
2
# set WD=%~d0%~p0
2
# set WD=%~d0%~p0
3
# set USER=<username>
3
# set USER=<username>
4
# set PASS=<password>
4
# set PASS=<password>
5
# set URL=https://forge.codesys.com/svn/drv,gpio-mod,code/trunk/GPIOMods
5
# set URL=https://forge.codesys.com/svn/drv,gpio-mod,code/trunk/GPIOMods
6
# "C:\Program Files (x86)\3S CODESYS-V3.5.12.0\CODESYS\Common\CODESYS.exe" --profile="CODESYS V3.5 SP12" --runscript="%WD%\action.svn.checkout.py" --scriptargs="%USER% %PASS% %URL% %WD%" --noUI
6
# "C:\Program Files (x86)\3S CODESYS-V3.5.12.0\CODESYS\Common\CODESYS.exe" --profile="CODESYS V3.5 SP12" --runscript="%WD%\action.svn.checkout.py" --scriptargs="%URL% %USER% %PASS% %WD%" --noUI
7
7
8
import sys
8
import sys
9
import os.path
9
import os.path
10
10
import pysvn
11
username=sys.argv[1]
11
12
password=sys.argv[2]
12
if len(sys.argv) <= 1:
13
    print("usage: <url> [<user> <pass> <working dir>]")
14
    sys.exit()
15
16
url = sys.argv[1]
13
url=sys.argv[3]
17
14
path=sys.argv[4]
18
if len(sys.argv) > 3:
19
    username = sys.argv[2]
15
parts=os.path.basename(url).split(".")
20
    password = sys.argv[3]
16
filebase=(parts[-1] if parts[-1] != "" else parts[-2])
21
else:
22
    credentials = system.ui.query_credentials("Enter SVN credentials")
23
    username = credentials[0]
24
    password = credentials[1]
25
26
if len(sys.argv) > 4:
27
    path = sys.argv[4]
28
else:
29
    path = system.ui.browse_directory_dialog("Choose a checkout folder")
17
30
18
def set_username(req):
31
def set_username(req):
19
    print_all(req)
20
    req.username = username
32
    req.username = username
21
    req.password = password
33
    req.password = password
22
    req.save = True # Optional
34
    req.save = True # Optional
23
35
24
svn.auth_username_password += set_username
36
svn.auth_username_password += set_username
25
37
pysvn.svn_checkout_non_codesys(username, password, url, path)
26
# checkout as a library
38
cdsprojects = pysvn.svn_get_directories_with_codesys_projects(username, password, url)
27
svn.checkout(url, path, filebase + ".library")
39
28
40
for p in cdsprojects:
29
# save as a library if, we find a "Project Information"
41
    dirbase = path + "\\" + p.rstrip('/').replace("/", "\\")
30
# otherwhise we asume, that this is a project file
42
    filebase = os.path.basename(dirbase)
31
proj = projects.primary
43
    dir = os.path.dirname(dirbase)
44
    svn.checkout(url + "/" + p, dir, filebase + ".library")
45
    proj = projects.primary
32
if proj.find("Project Information"):
46
    if proj.find("Project Information"):
33
    proj.save_as(path + '\\' + filebase + ".library")
47
        proj.save_as(dirbase + ".library")
34
else:
48
    else:
35
    proj.save_as(path + '\\' + filebase + ".project")
49
        proj.save_as(dirbase + ".project")
36
50
    proj.close()
51
system.exit()
52
53