| 35 | |
| 36 | # Get file from the data api |
| 37 | def getFile(self, as_path=False): |
| 38 | exists, error = self.existsWithError() |
| 39 | if not exists: |
| 40 | raise DataApiError('unable to get file {} - {}'.format(self.path, error)) |
| 41 | # Make HTTP get request |
| 42 | response = self.client.getHelper(self.url) |
| 43 | with tempfile.NamedTemporaryFile(delete=False) as f: |
| 44 | for block in response.iter_content(1024): |
| 45 | if not block: |
| 46 | break |
| 47 | f.write(block) |
| 48 | f.flush() |
| 49 | if as_path: |
| 50 | return f.name |
| 51 | else: |
| 52 | return open(f.name) |
| 53 | |
| 54 | def getAsZip(self): |
| 55 | """Download/decompress file/directory and return path to file/directory. |