def get_or_import_file(self, options):
assert self.post_type == 'attachment'
if self.file:
return self.file
# download content into deleted temp_file
temp_file = NamedTemporaryFile(delete=True)
temp_file.write(urlopen(force_bytes(self.guid)).read())
temp_file.flush()
# create DjangoFile object
django_file = DjangoFile(temp_file, name=self.guid.split('/')[-1])
# choose folder
if self.parent:
folder = self.parent.get_or_create_folder(options)
else:
folder = options.file_folder
# import file
self.file = FileImporter().import_file(file_obj=django_file, folder=folder)
# set date and owner
self.file.created_at = self.pub_date
self.file.owner = self.created_by.user
self.file.save()
# return imported file
self.save()
return self.file
评论列表
文章目录