Skip to main content

An API wrapper for Gofile API

Project description

Gofile2

from gofile2 import Gofile

g_a = await Gofile.initialize()
await g_a.upload("/home/itz-fork/photo.png")
await g_a.done()

An API Wrapper for Gofile API.

About API

Gofile is in BETA version and this API will evolve over time. Check regularly if changes have been made.

Current version is compatible with 2023-04-20

Installation

Install via pypi Downloads

pip3 install gofile2

To install development version Gofile2, run the following command

pip install git+https://github.com/Itz-fork/Gofile2.git

Usage

1. Import Gofile2 in your python file

Asynchronous version

from gofile2 import Gofile

Synchronous version

from gofile2 import Sync_Gofile

2. Create an instance of Gofile2

Asynchronous version

g_a = await Gofile.initialize()

Synchronous version

g_a = Sync_Gofile()

Above code will login as guest account. Keep in mind that only get_server, upload and upload_folder functions works in this mode. If you want to use other functions you will need to have a premium account (as of 2023-04-20) token. If you need to login to your own account then pass your api token as token argument like below code.

g_a = await Gofile.initialize(token="your_gofile_api_token_here")

3. Everything Done! Now Play with it!

# Get current server
await g_a.get_server()

# Upload a folder
await g_a.upload_folder(path="path_to_your_folder")

# Upload a file
await g_a.upload(file="path_to_your_file")

# Get account info
await g_a.get_account()

# Get content details
await g_a.get_content(contentId="id_of_the_file_or_folder")

# Create folder
await g_a.create_folder(parentFolderId="your_root_folder_id", folderName="Folder Name")

# Set options
await g_a.set_option(contentId="id_of_the_contentr", option="your_option", value="your_value")

# Copy file or folder to another folder
await g_a.copy_content(contentsId="id_of_the_file_or_folder", folderIdDest="id_of_the_destination_folder")

# Delete file or folder
await g_a.delete_content(contentsId="id_of_the_file_or_folder")

# After everything, send close Gofile client
await g_a.done()

Docs

  • initialize (token: Optional[str] = None) -> Gofile

    • Create a Gofile2 object
    • token: Optional[str] - The access token of an account. Can be retrieved from the profile page
  • _api_request (method: str, endpoint: str, params: Optional[Dict[str, Any]] = None, data: Optional[FormData] = None, need_token: bool = True) -> Dict[str, Any]

    • Make an API request to Gofile server
    • method: str - The HTTP method to use for the request
    • endpoint: str - The API endpoint to request
    • params: Optional[Dict[str, Any]] - The query parameters to include in the request
    • data: Optional[FormData] - The form data to include in the request
    • need_token: bool - Whether a token is required for the request
  • validate_token (token: str) -> None

    • Validate gofile token
    • token: str - The token to validate
  • get_server () -> str

    • Get the best server available to receive files
  • get_account () -> Dict[str, Any]

    • Get information about the account
  • get_content (contentId: str) -> Dict[str, Any]

    • Get information about the content
    • contentId: str - The ID of the file or folder
  • upload (file: str, folderId: str) -> Dict[str, Any]

    • Upload a file to Gofile server
    • file: str - Path to file that want to be uploaded
    • folderId: str - The ID of a folder. If you're using the folderId, make sure that you initialize the Gofile class with a token
  • upload_folder (path: str, folderId: Optional[str] = None, delay: int = 3) -> List[Dict[str, Any]]

    • Upload a folder to Gofile server
    • path: str - Path to folder that you want to be uploaded
    • folderId: Optional[str] - The ID of a folder. If you're using the folderId, make sure that you initialize the Gofile class with a token
    • delay: int - Time interval between file uploads (in seconds)
  • create_folder (parentFolderId: str, folderName: str) -> None

    • Create a new folder
    • parentFolderId: str - The parent folder ID
    • folderName: str - The name of the folder that wanted to create
  • set_option (contentId: str, option: str, value: str) -> None

    • Set an option on a content
    • contentId: str - The content ID
    • option: str - Option that you want to set. Can be "public", "password", "description", "expire" or "tags"
    • value: str - The value of the option to be defined.
  • copy_content (contentsId: str, folderIdDest: str) -> None

    • Copy one or multiple contents to another folder
    • contentsId: str - The ID(s) of the file or folder (Separate each one by comma if there are multiple IDs)
    • folderIdDest: str - Destination folder ID
  • delete_content (contentsId: str) -> None

    • Delete one or multiple files/folders
    • contentsId: str - The ID(s) of the file or folder (Separate each one by comma if there are multiple IDs)
  • done () -> None

    • Close the session

Automatically generated on 2024:01:05:13:41:40

Thanks to

  • gofile - Base Project & Inspiration ❤️ (Gofile2 is a Re-built version of this)
  • Itz-fork (me) - For Fixing & Improving this project

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gofile2-1.5.2.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

gofile2-1.5.2-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file gofile2-1.5.2.tar.gz.

File metadata

  • Download URL: gofile2-1.5.2.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for gofile2-1.5.2.tar.gz
Algorithm Hash digest
SHA256 2663b70c489ae21aa00c0313da9e8fa3dd9400cfb8e432f052e9ab3af8370aa8
MD5 b2963c32eb7068c4847519577d39ee36
BLAKE2b-256 c8a8126693398b7253cfc022e623df1316345b31de00e24c7b260b30ea167ba9

See more details on using hashes here.

File details

Details for the file gofile2-1.5.2-py3-none-any.whl.

File metadata

  • Download URL: gofile2-1.5.2-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for gofile2-1.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 37262120458c3fbbb14e98398e6f4d3cbdc5dcfc0e9af887eb9c83b924cac2e3
MD5 e674765f48ff78e4180773fabbe2ca20
BLAKE2b-256 14fb5b9230ff5b6846a289467b16235266eb0524ea3e3b9446346a57882753f3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page