Skip to main content

A client library for Orange cloud

Project description

https://img.shields.io/pypi/v/orangecloud-client.svg https://img.shields.io/github/license/antechrestos/orangecloud-client.svg

This library is a python implementation of the orange cloud api It brings:

Dependencies

It is based on:

Installing

From pip

$ pip install orangecloud-client

From sources

To build the library run :

$ python setup.py install

Run the OAuth Grant code process

To start using it you must create a developer account on the orange partner platform. Then create an application. But beware on one things: the redirect url must differ from any localhost or local url. Since we want to trick it, do as follow:

  • pick a domain name such http://my-own-cloud.io:8080 (do not use https as it cannot be handled later)

  • create the application

  • map the domain my-own-cloud.io on localhost in your host file ( /etc/hosts for linux,

    %systemroot%\system32\drivers\etc\ for windows)

  • run the following code

# provide the client id and client secret got on your application page
api_manager = ApiManager(client_id, client_secret)
# in this example the redirect url  is http://myowncloud.io:8080 and /etc/hosts contains the line
# 127.0.0.1       myowncloud.io
redirect_uri = 'http://myowncloud.io:8080'
url_to_open = api_manager.init_authorize_code_process(redirect_uri=redirect_uri, state='1234')
print 'Open this URL: %s' % url_to_open
code = api_manager.wait_and_terminate_authorize_code_process()
api_manager.init_with_authorize_code(redirect_uri=redirect_uri, code=code)
print 'refresh_token got %s' % api_manager.refresh_token

This will run a local http server listening to your domain, print an url to open. Open it in your browser, log in using your cloud account, consent the access for your application. You will be then redirected to your local http server. The code will be then extracted and exchanged for a token. You can save your refresh token. Next time you can instantiate the ApiManager as follows:

api_manager = ApiManager(client_id, client_secret)
api_manager.init_with_token(refresh_token)

You are now fully able to use the api.

API

The api brings the following domains.

Freeespace

The only operation on this endpoint is the get one that returns the available free space.

Folders

This endpoint let you:

  • get the information about a folder (See the `documentation <https://developer.orange.com/apis/cloud-france/api-reference>`_ about the `query parameters`)

  • create a folder in the cloud

  • delete a folder from the cloud

  • move a folder from one folder to another

  • rename a folder

  • copy a folder in another folder

Files

This endpoint let you:

  • get the information about a file.

  • delete a file from the cloud

  • move a file from one folder to another

  • rename a file

  • copy a file in another folder

  • upload a file on the cloud

  • download a file from the cloud

Command Line interface

To run the client, enter the following command :

$ orangecloud-client

At first execution, it will ask you ask. Please note that your credentials won’t be saved on your disk: only tokens will be kept for further use. Please not that the command shell runs an interactive shell to interact with the cloud. Other commands are single command and return after finished.

Issues and contributions

Please submit issue/pull request.

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

orangecloud-client-0.0.2.tar.gz (12.0 kB view details)

Uploaded Source

File details

Details for the file orangecloud-client-0.0.2.tar.gz.

File metadata

File hashes

Hashes for orangecloud-client-0.0.2.tar.gz
Algorithm Hash digest
SHA256 1d23b82e74e14c24f1778595f63c1380b6c6d3e2cff80058189cfb141b39f3f7
MD5 1526fe6f5be075209d2fff69c6af88fd
BLAKE2b-256 b3fe42c152488267ded8461a2c427ed8ca673d12bb4e1d9b343d687b6c88d0a9

See more details on using hashes here.

Supported by

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