diff --git a/generator/main.py b/generator/main.py index 0c1e3b7..67b74fa 100644 --- a/generator/main.py +++ b/generator/main.py @@ -21,10 +21,7 @@ from GeneralFunctions.InputOutput import ( WriteTextFiles, WriteBinaryToFile ) -from GeneralFunctions.OS import ( - CallFuncInDir, - CreateDir - ) +from GeneralFunctions.OS import CreateDir """ FIXME: paths hard coded unix style & most likely will not work on winodws. @@ -42,18 +39,16 @@ class extractData: return infoFiles def copyBundle(self, bundleSrc, activityName): - CallFuncInDir( - self.websiteDir, - shutil.copy2, - self.bundlesDir+bundleSrc, - "bundles/"+activityName+".xo" + shutil.copy2( + bundleSrc, + self.websiteDir+"bundles/"+activityName+".xo" ) def createDirectories(self): - assert(CreateDir("app")) - assert(CreateDir("icons")) - assert(CreateDir("bundles")) - assert(CreateDir("js")) + assert(CreateDir(self.websiteDir+"app")) + assert(CreateDir(self.websiteDir+"icons")) + assert(CreateDir(self.websiteDir+"bundles")) + assert(CreateDir(self.websiteDir+"js")) def extractActivityInfo(self, infoFilePath, zipFile): infoList = [] @@ -85,16 +80,11 @@ class extractData: if iconAbsolutePath in bundle.namelist(): icon = bundle.read(iconAbsolutePath) iconPath = ( - "icons/" + + self.websiteDir+"icons/" + activityName + ".svg" ) - CallFuncInDir( - self.websiteDir, - WriteBinaryToFile, - iconPath, - icon - ) + WriteBinaryToFile(iconPath, icon) else: # Conitnue without icon since non-fatal error self.iconErroredBundles.append(bundlePath) @@ -105,6 +95,12 @@ class extractData: self.copyBundle(bundlePath, activityName) bundle.close() + def findBundles(self): + self.activityBundles = glob.glob( + self.bundlesDir+"**/*.xo", + recursive=True + ) + def generateAppsHtmlPages(self): iconsDir = "../icons/" bundlesDir = "../bundles/" @@ -130,7 +126,10 @@ class extractData: '">

Download

\n\n' ) - WriteTextFiles("./app/" + appInfo["name"] + ".html", html) + WriteTextFiles( + self.websiteDir+"./app/" + appInfo["name"] + ".html", + html + ) """ Only those which are specified in map will be added to index. If an entry or value does not exist in infoJSON than emprty entry will @@ -155,7 +154,6 @@ class extractData: ) i2IMap = infoToIndexMap - self.indexDictList = [] for obj in json.loads(self.infoJson): indexDict = {} @@ -228,10 +226,9 @@ class extractData: self.erroredBundles = [] self.iconErroredBundles = [] - CallFuncInDir(self.websiteDir, self.createDirectories) + self.createDirectories() - os.chdir(bundlesDir) - self.activityBundles = glob.glob("**/*.xo", recursive=True) + self.findBundles() self.purgeBundlesNotZipFile() @@ -241,8 +238,6 @@ class extractData: self.generateIndex() - os.chdir(websiteDir) - self.generateAppsHtmlPages() self.writeFiles() @@ -262,15 +257,24 @@ class extractData: """ Files which are not continously written during the process Eg. Html, icon and bundles are written while processing each bundle """ - WriteTextFiles("info.json", self.infoJson) - WriteTextFiles("./js/index.js", self.indexJs) + WriteTextFiles(self.websiteDir+"info.json", self.infoJson) + WriteTextFiles(self.websiteDir+"js/index.js", self.indexJs) WriteTextFiles( - "bundlesNotExactlyOneInfoFile.txt", + self.websiteDir+"bundlesNotExactlyOneInfoFile.txt", self.bundlesNotExactlyOneInfoFile ) - WriteTextFiles("bundlesNotZipFiles.txt", self.bundlesNotZipFiles) - WriteTextFiles("erroredBundles.txt", self.erroredBundles) - WriteTextFiles("iconErroredBundles.txt", self.iconErroredBundles) + WriteTextFiles( + self.websiteDir+"bundlesNotZipFiles.txt", + self.bundlesNotZipFiles + ) + WriteTextFiles( + self.websiteDir+"erroredBundles.txt", + self.erroredBundles + ) + WriteTextFiles( + self.websiteDir+"iconErroredBundles.txt", + self.iconErroredBundles + ) def processArguments():