9 |
9 |
10 import os |
10 import os |
11 |
11 |
12 from PyQt5.QtCore import QObject, QDate, QDateTime, QTime |
12 from PyQt5.QtCore import QObject, QDate, QDateTime, QTime |
13 |
13 |
14 from E5Network.E5UrlInfo import E5UrlInfo |
14 from E5Network.E5UrlInfo import E5UrlInfo, E5UrlPermission |
15 |
15 |
16 |
16 |
17 class FtpDirLineParserError(Exception): |
17 class FtpDirLineParserError(Exception): |
18 """ |
18 """ |
19 Exception class raised, if a parser issue was detected. |
19 Exception class raised, if a parser issue was detected. |
78 |
78 |
79 modeString = modeString.lower() |
79 modeString = modeString.lower() |
80 |
80 |
81 permission = 0 |
81 permission = 0 |
82 if modeString[1] != '-': |
82 if modeString[1] != '-': |
83 permission |= E5UrlInfo.ReadOwner |
83 permission |= E5UrlPermission.READ_OWNER |
84 if modeString[2] != '-': |
84 if modeString[2] != '-': |
85 permission |= E5UrlInfo.WriteOwner |
85 permission |= E5UrlPermission.WRITE_OWNER |
86 if modeString[3] != '-': |
86 if modeString[3] != '-': |
87 permission |= E5UrlInfo.ExeOwner |
87 permission |= E5UrlPermission.EXE_OWNER |
88 if modeString[4] != '-': |
88 if modeString[4] != '-': |
89 permission |= E5UrlInfo.ReadGroup |
89 permission |= E5UrlPermission.READ_GROUP |
90 if modeString[5] != '-': |
90 if modeString[5] != '-': |
91 permission |= E5UrlInfo.WriteGroup |
91 permission |= E5UrlPermission.WRITE_GROUP |
92 if modeString[6] != '-': |
92 if modeString[6] != '-': |
93 permission |= E5UrlInfo.ExeGroup |
93 permission |= E5UrlPermission.EXE_GROUP |
94 if modeString[7] != '-': |
94 if modeString[7] != '-': |
95 permission |= E5UrlInfo.ReadOther |
95 permission |= E5UrlPermission.READ_OTHER |
96 if modeString[8] != '-': |
96 if modeString[8] != '-': |
97 permission |= E5UrlInfo.WriteOther |
97 permission |= E5UrlPermission.WRITE_OTHER |
98 if modeString[9] != '-': |
98 if modeString[9] != '-': |
99 permission |= E5UrlInfo.ExeOther |
99 permission |= E5UrlPermission.EXE_OTHER |
100 urlInfo.setPermissions(permission) |
100 urlInfo.setPermissions(permission) |
101 |
101 |
102 if modeString[0] == "d": |
102 if modeString[0] == "d": |
103 urlInfo.setDir(True) |
103 urlInfo.setDir(True) |
104 urlInfo.setFile(False) |
104 urlInfo.setFile(False) |
290 urlInfo.setName(name) |
290 urlInfo.setName(name) |
291 |
291 |
292 ext = os.path.splitext(name.lower())[1] |
292 ext = os.path.splitext(name.lower())[1] |
293 urlInfo.setSymLink(ext == ".lnk") |
293 urlInfo.setSymLink(ext == ".lnk") |
294 |
294 |
295 permissions = (E5UrlInfo.ReadOwner | E5UrlInfo.WriteOwner | |
295 permissions = ( |
296 E5UrlInfo.ReadGroup | E5UrlInfo.WriteGroup | |
296 E5UrlPermission.READ_OWNER | E5UrlPermission.WRITE_OWNER | |
297 E5UrlInfo.ReadOther | E5UrlInfo.WriteOther) |
297 E5UrlPermission.READ_GROUP | E5UrlPermission.WRITE_GROUP | |
|
298 E5UrlPermission.READ_OTHER | E5UrlPermission.WRITE_OTHER |
|
299 ) |
298 if ext in [".exe", ".com", ".bat", ".cmd"]: |
300 if ext in [".exe", ".com", ".bat", ".cmd"]: |
299 permissions |= ( |
301 permissions |= ( |
300 E5UrlInfo.ExeOwner | E5UrlInfo.ExeGroup | E5UrlInfo.ExeOther |
302 E5UrlPermission.EXE_OWNER | |
|
303 E5UrlPermission.EXE_GROUP | |
|
304 E5UrlPermission.EXE_OTHER |
301 ) |
305 ) |
302 urlInfo.setPermissions(permissions) |
306 urlInfo.setPermissions(permissions) |
303 |
307 |
304 return urlInfo |
308 return urlInfo |
305 |
309 |