WebBrowser/Tools/WebBrowserTools.py

branch
QtWebEngine
changeset 4763
8ad353f31184
parent 4741
f9e1adc69076
child 4783
7de17766a5df
equal deleted inserted replaced
4762:ea40955a0937 4763:8ad353f31184
11 try: 11 try:
12 str = unicode # __IGNORE_EXCEPTION__ 12 str = unicode # __IGNORE_EXCEPTION__
13 except NameError: 13 except NameError:
14 pass 14 pass
15 15
16 from PyQt5.QtCore import QFile, QByteArray 16 import os
17
18 from PyQt5.QtCore import QFile, QByteArray, QUrl
17 19
18 20
19 def readAllFileContents(filename): 21 def readAllFileContents(filename):
20 """ 22 """
21 Function to read the string contents of the given file. 23 Function to read the string contents of the given file.
58 for ch in string: 60 for ch in string:
59 if ch.isspace(): 61 if ch.isspace():
60 return True 62 return True
61 63
62 return False 64 return False
65
66
67 def ensureUniqueFilename(name, appendFormat="({0})"):
68 """
69 Module function to generate an unique file name based on a pattern.
70
71 @param name desired file name (string)
72 @param appendFormat format pattern to be used to make the unique name
73 (string)
74 @return unique file name
75 """
76 if not os.path.exists(name):
77 return name
78
79 tmpFileName = name
80 i = 1
81 while os.path.exists(tmpFileName):
82 tmpFileName = name
83 index = tmpFileName.rfind(".")
84
85 appendString = appendFormat.format(i)
86 if index == -1:
87 tmpFileName += appendString
88 else:
89 tmpFileName = tmpFileName[:index] + appendString + \
90 tmpFileName[index:]
91 i += 1
92
93 return tmpFileName
94
95
96 def getFileNameFromUrl(url):
97 """
98 Module function to generate a file name based on the given URL.
99
100 @param url URL (QUrl)
101 @return file name (string)
102 """
103 fileName = url.toString(QUrl.RemoveFragment | QUrl.RemoveQuery |
104 QUrl.RemoveScheme | QUrl.RemovePort)
105 if fileName.find("/") != -1:
106 pos = fileName.rfind("/")
107 fileName = fileName[pos:]
108 fileName = fileName.replace("/", "")
109
110 fileName = filterCharsFromFilename(fileName)
111
112 if not fileName:
113 fileName = filterCharsFromFilename(url.host().replace(".", "_"))
114
115 return fileName
116
117
118 def filterCharsFromFilename(name):
119 """
120 Module function to filter illegal characters.
121
122 @param name name to be sanitized (string)
123 @return sanitized name (string)
124 """
125 return name\
126 .replace("/", "_")\
127 .replace("\\", "")\
128 .replace(":", "")\
129 .replace("*", "")\
130 .replace("?", "")\
131 .replace('"', "")\
132 .replace("<", "")\
133 .replace(">", "")\
134 .replace("|", "")

eric ide

mercurial