Example #1
0
    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()
Example #2
0
	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()
Example #3
0
	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()