From: Steven Black Date: Sun, 6 Mar 2016 01:28:32 +0000 (-0500) Subject: Issue #92: fix - update.info is now treated as a list. X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=3de2d618c8c128bc2fb75b0ab69093eea11326bf;p=stevenblack-hosts.git Issue #92: fix - update.info is now treated as a list. Can now have several URLs, one per line, in update.info files. --- diff --git a/updateHostsFile.py b/updateHostsFile.py index deb0e6e57..1f9ed779c 100644 --- a/updateHostsFile.py +++ b/updateHostsFile.py @@ -212,21 +212,37 @@ def updateAllSources(): allsources = list(set(SOURCES) | set(EXTENSIONS)) for source in allsources: if os.path.isdir(source): - updateURL = getUpdateURLFromFile(source) - if updateURL is None: + updateURLs = getUpdateURLsFromFile(source) + if not len(updateURLs): continue - print ("Updating source " + os.path.basename(source) + " from " + updateURL) - # Cross-python call - updatedFile = getFileByUrl(updateURL) - - try: - updatedFile = updatedFile.replace('\r', '') #get rid of carriage-return symbols - # This is cross-python code - dataFile = open(os.path.join(DATA_PATH, source, DATA_FILENAMES), 'wb') - writeData(dataFile, updatedFile) - dataFile.close() - except: - print ("Skipping.") + + for updateURL in updateURLs: + print ("Updating source " + os.path.basename(source) + " from " + updateURL) + # Cross-python call + updatedFile = getFileByUrl(updateURL) + try: + updatedFile = updatedFile.replace('\r', '') #get rid of carriage-return symbols + # This is cross-python code + dataFile = open(os.path.join(DATA_PATH, source, DATA_FILENAMES), 'wb') + writeData(dataFile, updatedFile) + dataFile.close() + except: + print ("Skipping.") + +def getUpdateURLsFromFile(source): + pathToUpdateFile = os.path.join(DATA_PATH, source, UPDATE_URL_FILENAME) + if os.path.exists(pathToUpdateFile): + updateFile = open(pathToUpdateFile, 'r') + retURLs = updateFile.readlines() + # .strip() + updateFile.close() + else: + retURL = None + printFailure('Warning: Can\'t find the update file for source ' + source + '\n' + + 'Make sure that there\'s a file at ' + pathToUpdateFile) + return retURLs +# End Update Logic + def getUpdateURLFromFile(source): pathToUpdateFile = os.path.join(DATA_PATH, source, UPDATE_URL_FILENAME)