def downloadMetaData(self, simulateDownload=False): """ Download metadata """ #used for test if simulateDownload is True: time.sleep(constConfig.TEST_THREAD_SLEEP_TIME) return downStatus self.d.downTime = timezone.now() # get root directory root = self.service.metadata("/", include_deleted=True, include_media_info=True) # get others directory fileMetaData = self.recurseDropTree(root, 5) self.metadata = fileMetaData meta = base64.b64encode(json.dumps(fileMetaData)) metaTime = timezone.now() metaHash = crypto.rsaSignatureSHA256( meta + crypto.HASH_SEPARATOR + format(metaTime, "U"), settings.PRIV_KEY) #store the data storeFM = FileMetadata(metadata=meta, tokenID=self.t, metaTime=metaTime, metadataHash=metaHash) storeFM.save() self.d.threadStatus = constConfig.THREAD_DOWN_META self.d.save()
def downloadMetaData(self,simulateDownload = False): """ Download metadata """ #used for test if simulateDownload is True: time.sleep(constConfig.TEST_THREAD_SLEEP_TIME) return downStatus self.d.downTime = timezone.now() # get root directory root = self.service.metadata("/",include_deleted=True,include_media_info=True) # get others directory fileMetaData = self.recurseDropTree(root,5) self.metadata = fileMetaData meta = base64.b64encode(json.dumps(fileMetaData)) metaTime = timezone.now() metaHash = crypto.rsaSignatureSHA256(meta+crypto.HASH_SEPARATOR+format(metaTime,"U"),settings.PRIV_KEY) #store the data storeFM = FileMetadata(metadata=meta,tokenID=self.t,metaTime=metaTime,metadataHash=metaHash) storeFM.save() self.d.threadStatus = constConfig.THREAD_DOWN_META self.d.save()
def downloadMetaData(self,simulateDownload = False): """ Download the metadata """ #used for tests if simulateDownload is True: #simulate the download by waiting 10 seconds time.sleep(constConfig.TEST_THREAD_SLEEP_TIME) return downStatus #download self.d.downTime = timezone.now() result = [] page_token = None while True: param = {} if page_token: param['pageToken'] = page_token param['maxResults'] = 500 files = self.service.files().list(**param).execute() result.extend(files['items']) page_token = files.get('nextPageToken') if not page_token: break self.metadata = result meta = base64.b64encode(json.dumps(self.metadata)) metaTime = timezone.now() txt = meta+crypto.HASH_SEPARATOR+format(metaTime,"U") metaHash = crypto.rsaSignatureSHA256(txt,settings.PRIV_KEY) storeFM = FileMetadata(metadata=meta,tokenID=self.t,metaTime=metaTime,metadataHash=metaHash) storeFM.save() self.d.threadStatus = constConfig.THREAD_DOWN_META self.d.save()