mirror of
				https://github.com/explosion/spaCy.git
				synced 2025-10-31 07:57:35 +03:00 
			
		
		
		
	Fix up/download of http and local paths
This commit is contained in:
		
							parent
							
								
									f232d8db96
								
							
						
					
					
						commit
						99d31e7662
					
				|  | @ -260,6 +260,18 @@ def upload_file(src: Path, dest: Union[str, "Pathy"]) -> None: | ||||||
|     src (Path): The source path. |     src (Path): The source path. | ||||||
|     url (str): The destination URL to upload to. |     url (str): The destination URL to upload to. | ||||||
|     """ |     """ | ||||||
|  |     import smart_open | ||||||
|  |     # This logic is pretty hacky. We'd like pathy to do this probably? | ||||||
|  |     if ":/" not in str(dest): | ||||||
|  |         # Local path | ||||||
|  |         with Path(dest).open(mode="wb") as output_file: | ||||||
|  |             with src.open(mode="rb") as input_file: | ||||||
|  |                 output_file.write(input_file.read()) | ||||||
|  |     elif str(dest).startswith("http") or str(dest).startswith("https"): | ||||||
|  |         with smart_open.open(str(dest), mode="wb") as output_file: | ||||||
|  |             with src.open(mode="rb") as input_file: | ||||||
|  |                 output_file.write(input_file.read()) | ||||||
|  |     else: | ||||||
|         dest = ensure_pathy(dest) |         dest = ensure_pathy(dest) | ||||||
|         with dest.open(mode="wb") as output_file: |         with dest.open(mode="wb") as output_file: | ||||||
|             with src.open(mode="rb") as input_file: |             with src.open(mode="rb") as input_file: | ||||||
|  | @ -274,8 +286,19 @@ def download_file(src: Union[str, "Pathy"], dest: Path, *, force: bool = False) | ||||||
|     force (bool): Whether to force download even if file exists. |     force (bool): Whether to force download even if file exists. | ||||||
|         If False, the download will be skipped. |         If False, the download will be skipped. | ||||||
|     """ |     """ | ||||||
|  |     import smart_open | ||||||
|  |     # This logic is pretty hacky. We'd like pathy to do this probably? | ||||||
|     if dest.exists() and not force: |     if dest.exists() and not force: | ||||||
|         return None |         return None | ||||||
|  |     if src.startswith("http"): | ||||||
|  |         with smart_open.open(src, mode="rb") as input_file: | ||||||
|  |             with dest.open(mode="wb") as output_file: | ||||||
|  |                 output_file.write(input_file.read()) | ||||||
|  |     elif ":/" not in src: | ||||||
|  |         with open(src, mode="rb") as input_file: | ||||||
|  |             with dest.open(mode="wb") as output_file: | ||||||
|  |                 output_file.write(input_file.read()) | ||||||
|  |     else: | ||||||
|         src = ensure_pathy(src) |         src = ensure_pathy(src) | ||||||
|         with src.open(mode="rb") as input_file: |         with src.open(mode="rb") as input_file: | ||||||
|             with dest.open(mode="wb") as output_file: |             with dest.open(mode="wb") as output_file: | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user