| 17 | |
| 18 | |
| 19 | class FileSamples(): |
| 20 | def __init__(self, account): |
| 21 | self.account = account |
| 22 | |
| 23 | def run_all_samples(self): |
| 24 | self.service = self.account.create_file_service() |
| 25 | |
| 26 | self.create_file() |
| 27 | self.delete_file() |
| 28 | self.file_metadata() |
| 29 | self.file_properties() |
| 30 | self.file_exists() |
| 31 | self.resize_file() |
| 32 | self.copy_file() |
| 33 | self.file_range() |
| 34 | |
| 35 | self.file_with_bytes() |
| 36 | self.file_with_stream() |
| 37 | self.file_with_path() |
| 38 | self.file_with_text() |
| 39 | |
| 40 | def _get_resource_reference(self, prefix): |
| 41 | return '{}{}'.format(prefix, str(uuid.uuid4()).replace('-', '')) |
| 42 | |
| 43 | def _get_file_reference(self, prefix='file'): |
| 44 | return self._get_resource_reference(prefix) |
| 45 | |
| 46 | def _create_share(self, prefix='share'): |
| 47 | share_name = self._get_resource_reference(prefix) |
| 48 | self.service.create_share(share_name) |
| 49 | return share_name |
| 50 | |
| 51 | def _create_directory(self, share_name, prefix='dir'): |
| 52 | dir_name = self._get_resource_reference(prefix) |
| 53 | self.service.create_directory(share_name, dir_name) |
| 54 | return dir_name |
| 55 | |
| 56 | def _get_random_bytes(self, size): |
| 57 | rand = random.Random() |
| 58 | result = bytearray(size) |
| 59 | for i in range(size): |
| 60 | result[i] = rand.randint(0, 255) |
| 61 | return bytes(result) |
| 62 | |
| 63 | def create_file(self): |
| 64 | share_name = self._create_share() |
| 65 | directory_name = self._create_directory(share_name) |
| 66 | |
| 67 | # Basic |
| 68 | file_name1 = self._get_file_reference() |
| 69 | self.service.create_file(share_name, directory_name, file_name1, 512) |
| 70 | |
| 71 | # Properties |
| 72 | settings = ContentSettings(content_type='html', content_language='fr') |
| 73 | file_name2 = self._get_file_reference() |
| 74 | self.service.create_file(share_name, directory_name, file_name2, 512, content_settings=settings) |
| 75 | |
| 76 | # Metadata |
no outgoing calls