Skip to content

Commit

Permalink
Fixed the bug in the diffing and storing due to which subsequent down…
Browse files Browse the repository at this point in the history
…loads would start downloading old files again.
  • Loading branch information
abhat@J9978R1-ABHAT.corp.zynga.com authored and abhat@J9978R1-ABHAT.corp.zynga.com committed May 1, 2012
1 parent 358db70 commit b53ff34
Showing 1 changed file with 33 additions and 1 deletion.
34 changes: 33 additions & 1 deletion download.py
Original file line number Diff line number Diff line change
Expand Up @@ -2240,6 +2240,37 @@ def removeAlreadyDownloaded(allClasses):
return allClasses

return diffAllClasses(previousAllClasses, allClasses)

def mergeAllClasses(previousAllClasses, diffedAllClasses):
for diffedWeeklyTopic, diffedWeekClasses in diffedWeekClasses.items():
if diffedWeeklyTopic in previousAllClasses:
diffedWeekClasses = diffedAllClasses[diffedWeeklyTopic]
previousWeekClasses = previousAllClasses[diffedWeeklyTopic]

for diffedClassName, diffedClassContents in diffedWeekClasses:
if diffedClassName == 'classNames':
previousAllClasses[diffedWeeklyTopic][diffedClassName] = diffedWeekClasses[diffedClassName]
continue

if diffedClassName in previousWeekClasses:
previousWeekClasses[diffedClassName] = previousWeekClasses[diffedClassName] + diffedClassContents
else:
previousWeekClasses[diffedClassName] = diffedClassContents
else:
previousAllClasses[diffedWeeklyTopic] = diffedAllClasses[diffedWeeklyTopic]

return previousAllClasses


def mergeWithPreviousDownloaded(allClasses):
pickleAllClasses = PickleAllClasses()
previousAllClasses = pickleAllClasses.get()

#This is the first download
if not previousAllClasses:
return allClasses

return mergeAllClasses(previousAllClasses, allClasses)

def main():
config = Config()
Expand All @@ -2253,7 +2284,7 @@ def main():

allClasses = removeAlreadyDownloaded(allClasses)

#pprint.pprint(allClasses)
pprint.pprint(allClasses)
#pprint.pprint(weeklyTopics)
#downloader.download('https://class.coursera.org/compilers/lecture/download.mp4?lecture_id=13', '.')

Expand Down Expand Up @@ -2291,6 +2322,7 @@ def main():

os.chdir('..')

allClasses = mergeAllClasses(allClasses)
pickleAllClasses = PickleAllClasses()
pickleAllClasses.save(allClasses)

Expand Down

0 comments on commit b53ff34

Please sign in to comment.