bubblegum


Namebubblegum JSON
Version 1.0.1 PyPI version JSON
download
home_pagehttps://github.com/azuline/bubblegum
SummaryA script to make and manage uploads to image hosts.
upload_time2020-12-06 17:43:51
maintainer
docs_urlNone
authorazuline
requires_python>=3.6,<4.0
licenseApache-2.0
keywords image-uploader
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # bubblegum

[![Build Status](https://travis-ci.org/azuline/bubblegum.svg?branch=master)](https://travis-ci.org/azuline/bubblegum)
[![Pypi](https://img.shields.io/pypi/v/bubblegum.svg)](https://pypi.python.org/pypi/bubblegum)
[![Pyversions](https://img.shields.io/pypi/pyversions/bubblegum.svg)](https://pypi.python.org/pypi/bubblegum)

bubblegum is a script to make and manage uploads to image hosts. Several image
hosts are supported, to which one can directly upload images or rehost images
by URL.

## Usage

Basic image uploading can be done via the `bubblegum upload` command. To upload
a local image file, run `bubblegum upload /path/to/image.png`. To rehost a URL,
run `bubblegum upload https://this.url.serves.an/image.png`.

The default image host is https://vgy.me, as it does not require client
authorization. The image host that will be used can be changed with the
`--host` flag in the upload command, e.g. `bubblegum upload --host=imgur.com
/path/to/image.png`. The default image host can also be changed in the config
file. Host options can be viewed with the `bubblegum upload --help` command.

Uploading/rehosting multiple images simultaneously is also supported, via
multiple arguments to the `upload` command. `bubblegum upload a.jpg b.png` will
upload both images simultaneously. By default, 4 workers are spawned for image
uploading. The number of workers can be increased or decreased in the config.

A history of uploaded images can be viewed with `bubblegum history`. The
outputted list can be manipulated with the `--sort`, `--limit` and `--offset`
options.

### Config

The configuration can be edited with the `bubblegum config` command. A default
configuration file is created when the script first runs.

#### Image Host Profiles

bubblegum includes loaded profiles for the following two hosts by default:

- `imgur.com` (https://imgur.com)
- `vgy.me` (https://vgy.me)

Other image host profiles can be found in the `extra_profiles/` directory.

Image host profiles can be created/added to the application by adding a profile
dictionary to the list of `profiles` in your config file. Each profile must
contain 8 key/value pairs:

- `image_host_name` - The name of the image host, for use with the `--host=`
  option.
- `image_host_url` - The URL of the host's image uploading endpoint.
- `request_headers` - Extra headers to include in the upload request.
- `upload_form_file_argument` - The name of the key for the image file in the
  form.
- `upload_form_data_argument` - A dictionary sent as the form data in a file
  upload.
- `rehost_form_url_argument` - If the host supports URL rehosting, the name of
  the key for the URL in the form. Otherwise, set it to `null`.
- `rehost_form_data_argument` - A dictionary sent as the form data in a URL
  rehost.
- `json_response` - A boolean indicating whether or not the returned data is
  JSON or not. If True, the `data response` variable will be the deserialized
  JSON. If False, the `data` request response variable will be the response
  text.
- `image_url_template` - A string of an f-string (yeah, sounds confusing) for
  the image URL. Can access the request response via the `data` variable.
- `deletion_url_template` - A string of an f-string for the deletion URL. Can
  access the request response via the `data` variable.

### Imgur

To upload to imgur, a Client ID must be created and supplied. Details on
creating a Client ID can be found at
https://apidocs.imgur.com/#authorization-and-oauth. Once created, the Client ID
can be added to the config, as the `imgur_client_id`.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/azuline/bubblegum",
    "name": "bubblegum",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6,<4.0",
    "maintainer_email": "",
    "keywords": "image-uploader",
    "author": "azuline",
    "author_email": "azuline@riseup.net",
    "download_url": "https://files.pythonhosted.org/packages/ed/02/2ee74fba4eaa9549fa5f2123be931141c3eea44ce481c4f7e830cad1d0a0/bubblegum-1.0.1.tar.gz",
    "platform": "",
    "description": "# bubblegum\n\n[![Build Status](https://travis-ci.org/azuline/bubblegum.svg?branch=master)](https://travis-ci.org/azuline/bubblegum)\n[![Pypi](https://img.shields.io/pypi/v/bubblegum.svg)](https://pypi.python.org/pypi/bubblegum)\n[![Pyversions](https://img.shields.io/pypi/pyversions/bubblegum.svg)](https://pypi.python.org/pypi/bubblegum)\n\nbubblegum is a script to make and manage uploads to image hosts. Several image\nhosts are supported, to which one can directly upload images or rehost images\nby URL.\n\n## Usage\n\nBasic image uploading can be done via the `bubblegum upload` command. To upload\na local image file, run `bubblegum upload /path/to/image.png`. To rehost a URL,\nrun `bubblegum upload https://this.url.serves.an/image.png`.\n\nThe default image host is https://vgy.me, as it does not require client\nauthorization. The image host that will be used can be changed with the\n`--host` flag in the upload command, e.g. `bubblegum upload --host=imgur.com\n/path/to/image.png`. The default image host can also be changed in the config\nfile. Host options can be viewed with the `bubblegum upload --help` command.\n\nUploading/rehosting multiple images simultaneously is also supported, via\nmultiple arguments to the `upload` command. `bubblegum upload a.jpg b.png` will\nupload both images simultaneously. By default, 4 workers are spawned for image\nuploading. The number of workers can be increased or decreased in the config.\n\nA history of uploaded images can be viewed with `bubblegum history`. The\noutputted list can be manipulated with the `--sort`, `--limit` and `--offset`\noptions.\n\n### Config\n\nThe configuration can be edited with the `bubblegum config` command. A default\nconfiguration file is created when the script first runs.\n\n#### Image Host Profiles\n\nbubblegum includes loaded profiles for the following two hosts by default:\n\n- `imgur.com` (https://imgur.com)\n- `vgy.me` (https://vgy.me)\n\nOther image host profiles can be found in the `extra_profiles/` directory.\n\nImage host profiles can be created/added to the application by adding a profile\ndictionary to the list of `profiles` in your config file. Each profile must\ncontain 8 key/value pairs:\n\n- `image_host_name` - The name of the image host, for use with the `--host=`\n  option.\n- `image_host_url` - The URL of the host's image uploading endpoint.\n- `request_headers` - Extra headers to include in the upload request.\n- `upload_form_file_argument` - The name of the key for the image file in the\n  form.\n- `upload_form_data_argument` - A dictionary sent as the form data in a file\n  upload.\n- `rehost_form_url_argument` - If the host supports URL rehosting, the name of\n  the key for the URL in the form. Otherwise, set it to `null`.\n- `rehost_form_data_argument` - A dictionary sent as the form data in a URL\n  rehost.\n- `json_response` - A boolean indicating whether or not the returned data is\n  JSON or not. If True, the `data response` variable will be the deserialized\n  JSON. If False, the `data` request response variable will be the response\n  text.\n- `image_url_template` - A string of an f-string (yeah, sounds confusing) for\n  the image URL. Can access the request response via the `data` variable.\n- `deletion_url_template` - A string of an f-string for the deletion URL. Can\n  access the request response via the `data` variable.\n\n### Imgur\n\nTo upload to imgur, a Client ID must be created and supplied. Details on\ncreating a Client ID can be found at\nhttps://apidocs.imgur.com/#authorization-and-oauth. Once created, the Client ID\ncan be added to the config, as the `imgur_client_id`.\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "A script to make and manage uploads to image hosts.",
    "version": "1.0.1",
    "split_keywords": [
        "image-uploader"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "021e35fc5ca7fdbd1f4122c937609895",
                "sha256": "52776319a63052e16b657a0021b28b7df79a07f8a469efb78c13036ec578c953"
            },
            "downloads": -1,
            "filename": "bubblegum-1.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "021e35fc5ca7fdbd1f4122c937609895",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6,<4.0",
            "size": 12786,
            "upload_time": "2020-12-06T17:43:50",
            "upload_time_iso_8601": "2020-12-06T17:43:50.293858Z",
            "url": "https://files.pythonhosted.org/packages/b1/7c/740050a4e16f86214edd899e50a2d5e261d84d98ae6c28c4aaa982a835e1/bubblegum-1.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "7837f031b477b480cc9d537001edd55d",
                "sha256": "874254677cdab3ce4ce0799bc62f5c0c2316a197c9a04e0e6f8e56a042e5f5c0"
            },
            "downloads": -1,
            "filename": "bubblegum-1.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "7837f031b477b480cc9d537001edd55d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6,<4.0",
            "size": 12261,
            "upload_time": "2020-12-06T17:43:51",
            "upload_time_iso_8601": "2020-12-06T17:43:51.492130Z",
            "url": "https://files.pythonhosted.org/packages/ed/02/2ee74fba4eaa9549fa5f2123be931141c3eea44ce481c4f7e830cad1d0a0/bubblegum-1.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2020-12-06 17:43:51",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": null,
    "github_project": "azuline",
    "error": "Could not fetch GitHub repository",
    "lcname": "bubblegum"
}
        
Elapsed time: 0.16538s