From 260cd9a69ab73022c73351e402842aa70da91449 Mon Sep 17 00:00:00 2001 From: Les De Ridder Date: Thu, 23 Feb 2017 20:15:57 +0100 Subject: [PATCH] Refactor --- input.py | 46 ---------------------------------------------- main.py | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 46 deletions(-) delete mode 100755 input.py create mode 100755 main.py diff --git a/input.py b/input.py deleted file mode 100755 index 6c53625..0000000 --- a/input.py +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/python3 - -import sys - -filename = sys.argv[1] - -with open(filename) as file: - text = file.readlines() - -tokenised = [line.strip().split() for line in text] - -videoCount = int(tokenised[0][0]) -endpointCount = int(tokenised[0][1]) -requestDescriptionCount = int(tokenised[0][2]) -cacheCount = int(tokenised[0][3]) -cacheSize = int(tokenised[0][4]) - -videoSizes = [int(video) for video in tokenised[1]] - -endpointDatacenterLatencies = [] -endpointCacheLatencies = [] -i = 2 -for endpoint in range(0, endpointCount): - datacenterLatency = int(tokenised[endpoint + i][0]) - endpointDatacenterLatencies.append(datacenterLatency) - - endpointCacheLatencies.append({}) - endpointCacheCount = int(tokenised[endpoint + i][1]) - for cache in range(0, endpointCacheCount): - cacheId = int(tokenised[endpoint + 1 + cache + i][0]) - cacheLatency = int(tokenised[endpoint + 1 + cache + i][1]) - endpointCacheLatencies[endpoint][cacheId] = cacheLatency - i += endpointCacheCount - - -i += endpointCount - -requestDescriptions = [] -for video in range(0, videoCount): - requestDescriptions.append({}) - -for requestDescription in range(0, requestDescriptionCount): - video = int(tokenised[i + requestDescription][0]) - endpoint = int(tokenised[i + requestDescription][1]) - requestCount = int(tokenised[i + requestDescription][2]) - requestDescriptions[video][endpoint] = requestCount diff --git a/main.py b/main.py new file mode 100755 index 0000000..b18fbc4 --- /dev/null +++ b/main.py @@ -0,0 +1,54 @@ +#!/usr/bin/python3 + +import sys + +def parseInput(): + filename = sys.argv[1] + + with open(filename) as file: + text = file.readlines() + + tokenised = [line.strip().split() for line in text] + + videoCount = int(tokenised[0][0]) + endpointCount = int(tokenised[0][1]) + requestDescriptionCount = int(tokenised[0][2]) + cacheCount = int(tokenised[0][3]) + cacheSize = int(tokenised[0][4]) + + videoSizes = [int(video) for video in tokenised[1]] + + endpointDatacenterLatencies = [] + endpointCacheLatencies = [] + i = 2 + for endpoint in range(0, endpointCount): + datacenterLatency = int(tokenised[endpoint + i][0]) + endpointDatacenterLatencies.append(datacenterLatency) + + endpointCacheLatencies.append({}) + endpointCacheCount = int(tokenised[endpoint + i][1]) + for cache in range(0, endpointCacheCount): + cacheId = int(tokenised[endpoint + 1 + cache + i][0]) + cacheLatency = int(tokenised[endpoint + 1 + cache + i][1]) + endpointCacheLatencies[endpoint][cacheId] = cacheLatency + i += endpointCacheCount + + i += endpointCount + + requestDescriptions = [] + for video in range(0, videoCount): + requestDescriptions.append({}) + + for requestDescription in range(0, requestDescriptionCount): + video = int(tokenised[i + requestDescription][0]) + endpoint = int(tokenised[i + requestDescription][1]) + requestCount = int(tokenised[i + requestDescription][2]) + requestDescriptions[video][endpoint] = requestCount + + return videoCount, endpointCount, cacheCount, videoSizes, endpointDatacenterLatencies, endpointCacheLatencies, requestDescriptions + +def main(): + videoCount, endpointCount, cacheCount, videoSizes, endpointDatacenterLatencies, endpointCacheLatencies, requestDescriptions = parseInput() + +if __name__ == '__main__': + main()