Formatted python code using flake8 w/ default configuration
This commit is contained in:
parent
5e9ae7f2f0
commit
89f91410e9
@ -8,6 +8,7 @@ else:
|
|||||||
PathSlash = '/'
|
PathSlash = '/'
|
||||||
FileProtocol = "file:" + 2*PathSlash
|
FileProtocol = "file:" + 2*PathSlash
|
||||||
|
|
||||||
|
|
||||||
def ConvertToStandardPathFormat(Path):
|
def ConvertToStandardPathFormat(Path):
|
||||||
""" Example,
|
""" Example,
|
||||||
Input: '"file:///some/path/somefile.extension"
|
Input: '"file:///some/path/somefile.extension"
|
||||||
@ -18,6 +19,7 @@ def ConvertToStandardPathFormat(Path):
|
|||||||
Path = Path[len(FileProtocol):]
|
Path = Path[len(FileProtocol):]
|
||||||
return Path
|
return Path
|
||||||
|
|
||||||
|
|
||||||
def GetTextAfter(Text, ReadlinesTextFile):
|
def GetTextAfter(Text, ReadlinesTextFile):
|
||||||
for Lines in range(len(ReadlinesTextFile)):
|
for Lines in range(len(ReadlinesTextFile)):
|
||||||
Line = ReadlinesTextFile[Lines].strip('\n')
|
Line = ReadlinesTextFile[Lines].strip('\n')
|
||||||
@ -25,18 +27,21 @@ def GetTextAfter(Text, ReadlinesTextFile):
|
|||||||
return Line[len(Text):]
|
return Line[len(Text):]
|
||||||
return ''
|
return ''
|
||||||
|
|
||||||
|
|
||||||
def SingleQuoteString(String):
|
def SingleQuoteString(String):
|
||||||
if len(String) > 0:
|
if len(String) > 0:
|
||||||
if String[0] != '\'' or String[-1] != '\'':
|
if String[0] != '\'' or String[-1] != '\'':
|
||||||
String = '\'' + String + '\''
|
String = '\'' + String + '\''
|
||||||
return String
|
return String
|
||||||
|
|
||||||
|
|
||||||
def DoubleQuoteString(String):
|
def DoubleQuoteString(String):
|
||||||
if len(String) > 0:
|
if len(String) > 0:
|
||||||
if String[0] != '"' or String[-1] != '"':
|
if String[0] != '"' or String[-1] != '"':
|
||||||
String = '"' + String + '"'
|
String = '"' + String + '"'
|
||||||
return String
|
return String
|
||||||
|
|
||||||
|
|
||||||
def ListIntoString(List, QuoteItems=0, Seprator=' '):
|
def ListIntoString(List, QuoteItems=0, Seprator=' '):
|
||||||
if QuoteItems == 2:
|
if QuoteItems == 2:
|
||||||
for i in range(len(List)):
|
for i in range(len(List)):
|
||||||
@ -49,36 +54,42 @@ def ListIntoString(List, QuoteItems=0, Seprator=' '):
|
|||||||
Stringoflist = (Seprator).join(List)
|
Stringoflist = (Seprator).join(List)
|
||||||
return Stringoflist
|
return Stringoflist
|
||||||
|
|
||||||
|
|
||||||
# strip=0 => remove both ' & ", 1 => remove ', 2 => remove "
|
# strip=0 => remove both ' & ", 1 => remove ', 2 => remove "
|
||||||
def UnquoteString(String, strip=0):
|
def UnquoteString(String, strip=0):
|
||||||
while True:
|
while True:
|
||||||
if (
|
if (
|
||||||
strip != 2
|
strip != 2 and
|
||||||
and String.startswith('"')
|
String.startswith('"') and
|
||||||
and String.endswith('"')):
|
String.endswith('"')
|
||||||
|
):
|
||||||
String = String.strip('"')
|
String = String.strip('"')
|
||||||
elif (
|
elif (
|
||||||
strip != 1
|
strip != 1
|
||||||
and String.startswith("'")
|
and String.startswith("'")
|
||||||
and String.endswith("'")):
|
and String.endswith("'")
|
||||||
|
):
|
||||||
String = String.strip("'")
|
String = String.strip("'")
|
||||||
else:
|
else:
|
||||||
break
|
break
|
||||||
return String
|
return String
|
||||||
|
|
||||||
|
|
||||||
def StandardVariableName(Variable):
|
def StandardVariableName(Variable):
|
||||||
Variable = Variable.casefold()
|
Variable = Variable.casefold()
|
||||||
Variable = Variable.replace('_', '').replace(' ', '')
|
Variable = Variable.replace('_', '').replace(' ', '')
|
||||||
return Variable
|
return Variable
|
||||||
|
|
||||||
#def DictionaryToJsonStr(Dict, BaseIndentation=0):
|
"""
|
||||||
#BI = '\t'*BaseIndentation
|
def DictionaryToJsonStr(Dict, BaseIndentation=0):
|
||||||
#JsonStr = BI+'{\n'
|
BI = '\t'*BaseIndentation
|
||||||
#for k, v in Dict.items():
|
JsonStr = BI+'{\n'
|
||||||
#JsonStr += BI+'\t"'+k+'" : "'+v+'",\n'
|
for k, v in Dict.items():
|
||||||
#JsonStr = JsonStr[:-2]
|
JsonStr += BI+'\t"'+k+'" : "'+v+'",\n'
|
||||||
#JsonStr += '\n'+BI+'}'
|
JsonStr = JsonStr[:-2]
|
||||||
#return JsonStr
|
JsonStr += '\n'+BI+'}'
|
||||||
|
return JsonStr
|
||||||
|
"""
|
||||||
|
|
||||||
def StringToKeyValuePair(String, Seprator):
|
def StringToKeyValuePair(String, Seprator):
|
||||||
SepratorAt = String.find(Seprator)
|
SepratorAt = String.find(Seprator)
|
||||||
@ -89,14 +100,17 @@ def StringToKeyValuePair(String, Seprator):
|
|||||||
else:
|
else:
|
||||||
return "", String
|
return "", String
|
||||||
|
|
||||||
|
|
||||||
def FormatStrForDictinary(String):
|
def FormatStrForDictinary(String):
|
||||||
String = String.strip(" \n\r")
|
String = String.strip(" \n\r")
|
||||||
return UnquoteString(String)
|
return UnquoteString(String)
|
||||||
|
|
||||||
|
|
||||||
def StrListToDictionary(
|
def StrListToDictionary(
|
||||||
List,
|
List,
|
||||||
Seprator='=',
|
Seprator='=',
|
||||||
FormatFunction = FormatStrForDictinary):
|
FormatFunction=FormatStrForDictinary
|
||||||
|
):
|
||||||
Dictionary = {}
|
Dictionary = {}
|
||||||
for i in List:
|
for i in List:
|
||||||
k, v = StringToKeyValuePair(i, Seprator)
|
k, v = StringToKeyValuePair(i, Seprator)
|
||||||
|
@ -2,6 +2,7 @@ from os.path import isfile as DoesFileExist
|
|||||||
|
|
||||||
from .DataStructureManupulations import ConvertToStandardPathFormat
|
from .DataStructureManupulations import ConvertToStandardPathFormat
|
||||||
|
|
||||||
|
|
||||||
def ReadTextFile(FilePath):
|
def ReadTextFile(FilePath):
|
||||||
FilePath = ConvertToStandardPathFormat(FilePath)
|
FilePath = ConvertToStandardPathFormat(FilePath)
|
||||||
if DoesFileExist(FilePath) is True:
|
if DoesFileExist(FilePath) is True:
|
||||||
@ -12,10 +13,12 @@ def ReadTextFile(FilePath):
|
|||||||
else:
|
else:
|
||||||
return ''
|
return ''
|
||||||
|
|
||||||
|
|
||||||
def ReadlinesTextFile(FilePath):
|
def ReadlinesTextFile(FilePath):
|
||||||
String = ReadTextFile(FilePath)
|
String = ReadTextFile(FilePath)
|
||||||
return String.split('\n')
|
return String.split('\n')
|
||||||
|
|
||||||
|
|
||||||
def WriteTextFiles(FilePath, Text):
|
def WriteTextFiles(FilePath, Text):
|
||||||
if type(Text) != str:
|
if type(Text) != str:
|
||||||
Text = '\n'.join(Text)
|
Text = '\n'.join(Text)
|
||||||
@ -23,6 +26,7 @@ def WriteTextFiles(FilePath, Text):
|
|||||||
File.write(Text)
|
File.write(Text)
|
||||||
File.close()
|
File.close()
|
||||||
|
|
||||||
|
|
||||||
def WriteBinaryToFile(Filepath, Data):
|
def WriteBinaryToFile(Filepath, Data):
|
||||||
File = open(Filepath, 'wb')
|
File = open(Filepath, 'wb')
|
||||||
File.write(Data)
|
File.write(Data)
|
||||||
|
@ -3,6 +3,6 @@ from urllib.request import urlopen
|
|||||||
|
|
||||||
HttpsContext = ssl.create_default_context()
|
HttpsContext = ssl.create_default_context()
|
||||||
|
|
||||||
|
|
||||||
def Download(Url):
|
def Download(Url):
|
||||||
return urlopen(Url, context=HttpsContext).read()
|
return urlopen(Url, context=HttpsContext).read()
|
||||||
|
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
|
|
||||||
def CallFuncInDir(Directory, Function, *args, **kwArgs):
|
def CallFuncInDir(Directory, Function, *args, **kwArgs):
|
||||||
CurrentDir = os.getcwd()
|
CurrentDir = os.getcwd()
|
||||||
os.chdir(Directory)
|
os.chdir(Directory)
|
||||||
Function(*args, **kwArgs)
|
Function(*args, **kwArgs)
|
||||||
os.chdir(CurrentDir)
|
os.chdir(CurrentDir)
|
||||||
|
|
||||||
|
|
||||||
# return True if operation succesful and False if failed
|
# return True if operation succesful and False if failed
|
||||||
def CreateDir(Directory):
|
def CreateDir(Directory):
|
||||||
if not os.path.isfile(Directory):
|
if not os.path.isfile(Directory):
|
||||||
|
@ -6,10 +6,6 @@ All sub-directories of bundles directory will be scanned for activity
|
|||||||
bundles i.e. .xo files.
|
bundles i.e. .xo files.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
""" FIXME: paths hard coded unix style & most likely will not work on winodws.
|
|
||||||
Use code written for IMM to handle it.
|
|
||||||
"""
|
|
||||||
|
|
||||||
import glob
|
import glob
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
@ -19,8 +15,6 @@ from urllib.parse import quote as strToHtmlFmt
|
|||||||
import zipfile
|
import zipfile
|
||||||
|
|
||||||
from GeneralFunctions.DataStructureManupulations import (
|
from GeneralFunctions.DataStructureManupulations import (
|
||||||
GetTextAfter,
|
|
||||||
UnquoteString,
|
|
||||||
StrListToDictionary
|
StrListToDictionary
|
||||||
)
|
)
|
||||||
from GeneralFunctions.InputOutput import (
|
from GeneralFunctions.InputOutput import (
|
||||||
@ -32,6 +26,12 @@ from GeneralFunctions.OS import (
|
|||||||
CreateDir
|
CreateDir
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
""" FIXME: paths hard coded unix style & most likely will not work on winodws.
|
||||||
|
Use code written for IMM to handle it.
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
class extractData:
|
class extractData:
|
||||||
|
|
||||||
def findInfoFiles(self, bundle):
|
def findInfoFiles(self, bundle):
|
||||||
@ -56,7 +56,7 @@ class extractData:
|
|||||||
assert(CreateDir("js"))
|
assert(CreateDir("js"))
|
||||||
|
|
||||||
def extractActivityInfo(self, infoFilePath, zipFile):
|
def extractActivityInfo(self, infoFilePath, zipFile):
|
||||||
infoList, infoDict = [], {}
|
infoList = []
|
||||||
infoList = zipFile.read(
|
infoList = zipFile.read(
|
||||||
infoFilePath).decode("utf-8").split('\n')
|
infoFilePath).decode("utf-8").split('\n')
|
||||||
return StrListToDictionary(infoList)
|
return StrListToDictionary(infoList)
|
||||||
@ -116,8 +116,8 @@ class extractData:
|
|||||||
'</title>\n<meta charset="utf-8"/>\n<link rel="stylesheet" '
|
'</title>\n<meta charset="utf-8"/>\n<link rel="stylesheet" '
|
||||||
'type="text/css" href="../css/main.css"/>\n</head>\n<body>\n'
|
'type="text/css" href="../css/main.css"/>\n</head>\n<body>\n'
|
||||||
'</body>\n<h1>' + appInfo["name"] + '</h1>\n<p><img src="' +
|
'</body>\n<h1>' + appInfo["name"] + '</h1>\n<p><img src="' +
|
||||||
str(iconsDir+pathName+'.svg')+'"></img></p>\n<div id=summary>'
|
str(iconsDir + pathName + '.svg') + '"></img></p>\n'
|
||||||
'<h2>Summary</h2>\n<p>'+appInfo["summary"]+
|
'<div id=summary><h2>Summary</h2>\n<p>' + appInfo["summary"] +
|
||||||
'</p>\n</div>\n<div id=description><h2>Description</h2>\n<p>' +
|
'</p>\n</div>\n<div id=description><h2>Description</h2>\n<p>' +
|
||||||
appInfo["description"] + '</p>\n</div>\n<div id=tags><h2>Tags'
|
appInfo["description"] + '</p>\n</div>\n<div id=tags><h2>Tags'
|
||||||
'</h2>\n<ul>\n'
|
'</h2>\n<ul>\n'
|
||||||
@ -125,7 +125,8 @@ class extractData:
|
|||||||
for tag in appInfo["tags"]:
|
for tag in appInfo["tags"]:
|
||||||
html += '<li>' + tag + '</li>\n'
|
html += '<li>' + tag + '</li>\n'
|
||||||
html += (
|
html += (
|
||||||
'</ul>\n</div>\n<a href="'+str(bundlesDir+pathName+'.xo')+
|
'</ul>\n</div>\n<a href="' +
|
||||||
|
str(bundlesDir + pathName + '.xo') +
|
||||||
'"><h2>Download<h2></a>\n</body>\n</html>'
|
'"><h2>Download<h2></a>\n</body>\n</html>'
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -136,7 +137,8 @@ class extractData:
|
|||||||
be created for it.
|
be created for it.
|
||||||
appends keys rather than replacing where mutiple map to same
|
appends keys rather than replacing where mutiple map to same
|
||||||
"""
|
"""
|
||||||
def generateIndex(self,
|
def generateIndex(
|
||||||
|
self,
|
||||||
infoToIndexMap={
|
infoToIndexMap={
|
||||||
"name": ("name", str),
|
"name": ("name", str),
|
||||||
"summary": ("summary", str),
|
"summary": ("summary", str),
|
||||||
@ -145,7 +147,8 @@ class extractData:
|
|||||||
"tags": ("tags", list),
|
"tags": ("tags", list),
|
||||||
"categories": ("tags", list),
|
"categories": ("tags", list),
|
||||||
"category": ("tags", list)
|
"category": ("tags", list)
|
||||||
}):
|
}
|
||||||
|
):
|
||||||
unexpectedInputError = (
|
unexpectedInputError = (
|
||||||
"main.py generateIndex() : expect only str, list or tuple as "
|
"main.py generateIndex() : expect only str, list or tuple as "
|
||||||
"kwargs -> value[1] but found "
|
"kwargs -> value[1] but found "
|
||||||
@ -197,7 +200,11 @@ class extractData:
|
|||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
self.indexDictList.append(indexDict)
|
self.indexDictList.append(indexDict)
|
||||||
self.indexJs = "search.assignIndex("+json.dumps(self.indexDictList, indent=4)+")"
|
self.indexJs = (
|
||||||
|
"search.assignIndex(" +
|
||||||
|
json.dumps(self.indexDictList, indent=4) +
|
||||||
|
")"
|
||||||
|
)
|
||||||
|
|
||||||
def generateInfoJson(self):
|
def generateInfoJson(self):
|
||||||
self.infoJson = json.dumps(self.bundlesInfoList, indent=4)
|
self.infoJson = json.dumps(self.bundlesInfoList, indent=4)
|
||||||
@ -265,6 +272,7 @@ class extractData:
|
|||||||
WriteTextFiles("erroredBundles.txt", self.erroredBundles)
|
WriteTextFiles("erroredBundles.txt", self.erroredBundles)
|
||||||
WriteTextFiles("iconErroredBundles.txt", self.iconErroredBundles)
|
WriteTextFiles("iconErroredBundles.txt", self.iconErroredBundles)
|
||||||
|
|
||||||
|
|
||||||
def processArguments():
|
def processArguments():
|
||||||
variables = {}
|
variables = {}
|
||||||
if len(sys.argv) == 3:
|
if len(sys.argv) == 3:
|
||||||
@ -282,9 +290,11 @@ def processArguments():
|
|||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
return variables
|
return variables
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
variables = processArguments()
|
variables = processArguments()
|
||||||
extractData(variables["bundlesDir"], variables["websiteDir"])
|
extractData(variables["bundlesDir"], variables["websiteDir"])
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main();
|
main()
|
||||||
|
Loading…
Reference in New Issue
Block a user