Пример #1
0
 def test_old_and_delete_bin(self):
     earlier_by_89_days = datetime.utcnow() - timedelta(days = 89)
     binary_1 = Binary(owner=self.binowner,
                       content_key="",
                       content_type="text/plain/1",
                       last_access=earlier_by_89_days)
     binary_1.save()
     
     binary_1_5 = Binary(owner=self.binowner,
                       content_key="",
                       content_type="text/plain/1.5")
     binary_1_5.save()
     
     earlier_by_91_days = datetime.utcnow() - timedelta(days = 91)
     binary_2 = Binary(owner=self.binowner,
                       content_key="",
                       content_type="text/plain/2",
                       last_access=earlier_by_91_days)
     binary_2.save()
     
     self.assertEqual(Binary.objects.count(), 3)
     
     old_data = prune._older_than_90_days()
     self.assertEqual(len(old_data), 1)
     self.assertEqual(old_data[0].content_type, "text/plain/2")
     
     prune._delete_old_Binary_objs(old_data)
     old_data_after = prune._older_than_90_days()
     self.assertEqual(len(old_data_after), 0)
Пример #2
0
def POST(bin_owner, data_id, uploaded_file):
    if uploaded_file.size > MAX_SIZE_IN_BYTES:
        return const.PREFIX_ERROR + uploaded_file.name + ' is too large', const.CONTENT_TYPE_HTML, const.HTTP_STATUS_400
    
    blob_key = None
    if data_id:
        binary = _get_binary(data_id)
        blob_key = binary.content_key
    
    blob_key = put(uploaded_file, blob_key)
    if blob_key is None:
        return const.PREFIX_POST + 'blob_key=' + blob_key, const.CONTENT_TYPE_HTML, const.HTTP_STATUS_502
    
    if data_id is None:
        binary = Binary(owner=bin_owner, content_key=blob_key,
               content_type=uploaded_file.content_type)
        binary.save()
        data_id = binary.id
    else:
        binary = _get_binary(data_id)
        binary.content_key = blob_key
        binary.save()
    
    return const.PREFIX_POST + 'data_id=' + str(data_id), const.CONTENT_TYPE_HTML, const.HTTP_STATUS_200