107 lines
2.9 KiB
Python
107 lines
2.9 KiB
Python
|
from sys import platform as OperatingSystem
|
||
|
|
||
|
Quotes = '"\''
|
||
|
|
||
|
if OperatingSystem == "win32":
|
||
|
PathSlash = '\\'
|
||
|
else:
|
||
|
PathSlash = '/'
|
||
|
FileProtocol = "file:" + 2*PathSlash
|
||
|
|
||
|
def ConvertToStandardPathFormat(Path):
|
||
|
""" Example,
|
||
|
Input: '"file:///some/path/somefile.extension"
|
||
|
Output: /some/path/somefile.extension
|
||
|
"""
|
||
|
Path = Path.strip(Quotes)
|
||
|
if Path.startswith(FileProtocol):
|
||
|
Path = Path[len(FileProtocol):]
|
||
|
return Path
|
||
|
|
||
|
def GetTextAfter(Text, ReadlinesTextFile):
|
||
|
for Lines in range(len(ReadlinesTextFile)):
|
||
|
Line = ReadlinesTextFile[Lines].strip('\n')
|
||
|
if Line.startswith(Text):
|
||
|
return Line[len(Text):]
|
||
|
return ''
|
||
|
|
||
|
def SingleQuoteString(String):
|
||
|
if len(String) > 0:
|
||
|
if String[0] != '\'' or String[-1] != '\'':
|
||
|
String = '\'' + String + '\''
|
||
|
return String
|
||
|
|
||
|
def DoubleQuoteString(String):
|
||
|
if len(String) > 0:
|
||
|
if String[0] != '"' or String[-1] != '"':
|
||
|
String = '"' + String + '"'
|
||
|
return String
|
||
|
|
||
|
def ListIntoString(List, QuoteItems=0, Seprator=' '):
|
||
|
if QuoteItems == 2:
|
||
|
for i in range(len(List)):
|
||
|
Quoteditem = DoubleQuoteString(List[i])
|
||
|
List[i] = Quoteditem
|
||
|
elif QuoteItems == 1:
|
||
|
for i in range(len(List)):
|
||
|
Quoteditem = SingleQuoteString(List[i])
|
||
|
List[i] = Quoteditem
|
||
|
Stringoflist = (Seprator).join(List)
|
||
|
return Stringoflist
|
||
|
|
||
|
# strip=0 => remove both ' & ", 1 => remove ', 2 => remove "
|
||
|
def UnquoteString(String, strip=0):
|
||
|
while True:
|
||
|
if (
|
||
|
strip != 2
|
||
|
and String.startswith('"')
|
||
|
and String.endswith('"')):
|
||
|
String = String.strip('"')
|
||
|
elif (
|
||
|
strip != 1
|
||
|
and String.startswith("'")
|
||
|
and String.endswith("'")):
|
||
|
String = String.strip("'")
|
||
|
else:
|
||
|
break
|
||
|
return String
|
||
|
|
||
|
def StandardVariableName(Variable):
|
||
|
Variable = Variable.casefold()
|
||
|
Variable = Variable.replace('_', '').replace(' ', '')
|
||
|
return Variable
|
||
|
|
||
|
#def DictionaryToJsonStr(Dict, BaseIndentation=0):
|
||
|
#BI = '\t'*BaseIndentation
|
||
|
#JsonStr = BI+'{\n'
|
||
|
#for k, v in Dict.items():
|
||
|
#JsonStr += BI+'\t"'+k+'" : "'+v+'",\n'
|
||
|
#JsonStr = JsonStr[:-2]
|
||
|
#JsonStr += '\n'+BI+'}'
|
||
|
#return JsonStr
|
||
|
|
||
|
def StringToKeyValuePair(String, Seprator):
|
||
|
SepratorAt = String.find(Seprator)
|
||
|
if SepratorAt >= 0:
|
||
|
Key = String[:SepratorAt]
|
||
|
Value = String[SepratorAt+1:]
|
||
|
return Key, Value
|
||
|
else:
|
||
|
return "", String
|
||
|
|
||
|
def FormatStrForDictinary(String):
|
||
|
String = String.strip(" \n\r")
|
||
|
return UnquoteString(String)
|
||
|
|
||
|
def StrListToDictionary(
|
||
|
List,
|
||
|
Seprator = '=',
|
||
|
FormatFunction = FormatStrForDictinary):
|
||
|
Dictionary = {}
|
||
|
for i in List:
|
||
|
k, v = StringToKeyValuePair(i, Seprator)
|
||
|
k, v = FormatFunction(k), FormatFunction(v)
|
||
|
if len(k) > 0:
|
||
|
Dictionary[k] = v
|
||
|
return Dictionary
|