wrapper-bar 0.1.5

Creator: bradpython12

Last updated:

Add to Cart

Description:

wrapperbar 0.1.5

Overview
Wrapper-Bar is a python module to help wrap commands with the progress bar. Wrapper-Bar helps in wrapping shell commands, or even python scripts with a progress bar and ETA.
Following v0.1.5 onwards, It allows wrapping downloads too. It could be a direct download link or from github releases (both public and private repositoies)
Badges







Table of Contents

Installation
Usage
Uninstall
Yanked Versions

Installation
To install wrapper-bar, use pip.
pip install wrapper-bar==0.1.5

Usage


Import the Wrapper class.
>>> from wrapper_bar.wrapper import Wrapper



Initialize the Wrapper Class.
>>> wrapControl = Wrapper(*params) # for parameters, check docstring.



Docstring
# to check docstring, in terminal/CMD, run:
$ pydoc wrapper_bar.wrapper.Wrapper



Methods


decoy
>>> wrapControl.decoy(*params) # parameters are in the docstring.
# decoy is for creating empty progressbar.



shellWrapper
>>> wrapControl.shellWrapper(*params) # parameters are in the docstring.
# shellWrapper can wrap list of shell commands across the progressbar.



pyWrapper
>>> wrapControl.pyWrapper(*params) # parameters are in the docstring.
# pyWrapper can wrap list of python scripts across the progressbar.



pyShellWrapper
>>> wrapControl.pyShellWrapper(*params) # parametes are in the docstring.
# pyShellWrapper can wrap inline python code across a progressbar.

Working of pyShellWrapper:


pyShellWrapper takes two compulsory parameters => pythoncodes and dependencies. To explain them, let us see below
# pythoncodes and dependencies can have any python code except
# return, print or yield statements as they will interfere with
# the progress bar.

# let us take this as an example:
>>> pythoncodes = ["""a = b+c""", """b=c+d"""]

# Now for the above python codes, values of 'b', 'c' and 'd'
# are a dependency. Therefore

>>> dependencies = ["""b=10""", """c=10\nd=20\n"""]

# try to keep one statement only inside """...""",
# but if need be, then you can also put multiple
# statements followed by '\n'. Like """c=10\nd=20\n"""

# and now we will execute them with the loading bar as the
# front.

>>> from wrapper_bar.wrapper import Wrapper
>>> w = Wrapper("Loading:")
>>> w.pyShellWrapper(pythoncodes, dependencies) # this will output the following:
Loading: |▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓|Time: 0:00:10

# To fetch the outputs, we will use a property 'pyShellWrapperResults'
# defined under the `Wrapper Class`

>>> a = w.pyShellWrapperResults['a'] # this will be 20
>>> b = w.pyShellWrapperResults['b'] # this will be 30





downloadWrapper [v0.1.5]
>>> wrapControl.downloadWrapper(*params) # parameters are in the docstring.
# downloadWrapper can wrap downloads from either a direct link or from github release (both public and private)

working of downloadWrapper:


Download files with a direct link using downloadWrapper:
# for direct download, following parameters are mandatory
# - link
# - download_to
# - download_filename (optional, if not left empty,
# it will be derived from the link, if that fails,
# it will raise an Exception.)
# - type (possible values: ['direct', 'github_release']).
# We will choose 'direct' here.

>>> from wrapper_bar.wrapper import Wrapper
>>> wrapControl = Wrapper()
>>> wrapControl.downloadWrapper(link = "https://...",
... download_to = "<download-dir>",
... download_filename = "file.zip",
... type = 'direct')

# the above code will output the following
file.zip: 100%|███████████████████████████████████████████| 45.1M/45.1M



Download files from a Github Release:


Public
# for downloading from a public repository release,
# following params are necessary
# - link (put your repository link here)
# - download_to
# - download_filename (optional, if not left empty,
# it will be derived from the link, if that fails,
# it will raise an Exception.)
# - type (possible values: ['direct', 'github_release']).
# We will choose 'github_release' here.

>>> from wrapper_bar.wrapper import Wrapper
>>> wrapControl = Wrapper()
>>> wrapControl.downloadWrapper(link = "https://github.com/d33pster/Friday",
... download_to = "<download-dir>",
... download_filename = "bot.zip",
... type = 'github_release')

# this will output the following output
bot.zip: 100%|███████████████████████████████████████████| 45.1M/45.1M



Private
# for private repos, params needed:
# - link (put your repository link here)
# - download_to
# - download_filename (optional, if not left empty,
# it will be derived from the link, if that fails,
# it will raise an Exception.)
# - type (possible values: ['direct', 'github_release']).
# We will choose 'github_release' here.
# - private_repo (set it to true)
# - github_api_token (generate one, and put it here).
# Wrapper Bar doesn't store it or use it for misuse (you can check the code.)
# - github_release: by default it is set to 'latest', but you can put release tags here as you need, like v1.0, v2.4.3, and so on.

>>> from wrapper_bar.wrapper import Wrapper
>>> wrapControl = Wrapper()
>>> wrapControl.downloadWrapper(link = "https://github.com/d33pster/Fridat",
... download_to = "<download-dir>",
... download_filename = "bot.zip",
... type = 'github_release'
... private_repo = True, github_api_token = "__your_token__")

# this will output the following:
bot.zip: 100%|███████████████████████████████████████████| 45.1M/45.1M









Uninstall
To uninstall wrapper-bar, use pip.
pip uninstall wrapper-bar

Yanked Versions

v0.1.2

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files:

Customer Reviews

There are no reviews.