Skip to main content

A module and command line tool that scrapes the online maya help docs to query an input maya.cmds command (or build stubs) for its signature in Python.

Project description

Online Documentation (ReadTheDocs)

https://badge.fury.io/py/Maya-Signature-Scraper.svg https://travis-ci.org/AndresMWeber/mayasig_cli.svg?branch=master https://coveralls.io/repos/github/AndresMWeber/mayasig_cli/badge.svg?branch=master Code Health

1 Synopsis

If you’re looking into this tool, you’re looking for a programmatic way of getting Maya function signatures. The current version of the tool has unfiltered prints as status logs…so that might be a deterrent… I personally built it so that I could compare my maya command calls against kwargs/args Maya expects to reduce errors.

Hope you’ll find it useful! Once you install you will now have a CLI tool called mayasig.

1.1 Features

  • Caching

  • Up to date with online help docs

  • Temp file generator

  • JSON file output

  • CLI access

  • Dict output

2 Installation

Windows, etc.

A universal installation method (that works on Windows, Mac OS X, Linux, …, and always provides the latest version) is to use pip:

# Make sure we have an up-to-date version of pip and setuptools:
$ pip install --upgrade pip setuptools
$ pip install maya-cmds-help

(If pip installation fails for some reason, you can try easy_install maya-cmds-help as a fallback.)

3 Usage

3.1 Bash

mayasig

Usage:
  mayasig [-m|--mayaversion VERSION] [-d|--depth DEPTH] (MAYA_CMDS ...)
  mayasig (-h|--help)
  mayasig (--version)

Options:
  -h --help                         Show this screen.
  --version                         Show version.
  -m VERSION --mayaversion VERSION  If you want to override which Maya docs we query (tested with 2015/2016/2017) [default: 2017]
  -d DEPTH --depth DEPTH            The depth verbosity of the return dictionary [default: 1]
  MAYA_CMDS                         Maya commands to query/scrape from the help and return signatures for

Examples:
  mayasig group

Help:
  For help using this tool, please open an issue on the Github repository:
  https://github.com/andresmweber/mayasig-cli

3.2 Python Package Usage

Feel free to access from the package instead via the two package-level convenience functions:

maya_signatures.CACHE
maya_signatures.query

In order to access full functionality from the scraper class you can access a package level instance of maya_signatures.commands.scrape.Scraper using:

maya_signatures.SCRAPER
import maya_signatures
maya_signatures.query('ls')
# Result:
#   storing args  ('ls',)  storing kwargs  {}
#   Successfully loaded json data, loading into cache...
#   Retrieving cached value for input http://help.autodesk.com/cloudhelp/2017/ENU/Maya-Tech-Docs/CommandsPython/ls.html
#   wrote out tmp file C:\Users\andre\dev\maya_signature_builder\scrape.json

maya_signatures.SCRAPER.build_command_stub('ls')
#  Result: def ls(*args, textures=bool, selection=bool, defaultNodes=bool, templated=bool, visible=bool, references=bool, flatten=bool, nodeTypes=bool, persistentNodes=bool, intermediateObjects=bool, long=bool, leaf=bool, recursive=bool, objectsOnly=bool, lockedNodes=bool, cameras=bool, tail=int, absoluteName=bool, lights=bool, live=bool, renderSetups=bool, containerType=str, preSelectHilite=bool, type=str, containers=bool, shortNames=bool, renderResolutions=bool, head=int, showType=bool, dependencyNodes=bool, orderedSelection=bool, renderQualities=bool, readOnly=bool, referencedNodes=bool, showNamespace=bool, invisible=bool, hilite=bool, untemplated=bool, partitions=bool, ghost=bool, uuid=bool, sets=bool, geometry=bool, assemblies=bool, noIntermediate=bool, modified=bool, allPaths=bool, shapes=bool, materials=bool, excludeType=str, planes=bool, exactType=str, renderGlobals=bool, undeletable=bool, dagObjects=bool, transforms=bool):
#              pass
maya_signatures.query('group')
#  Result: storing args  ('group',)  storing kwargs  {}
#  Successfully loaded json data, loading into cache...
#  Could not find key http://help.autodesk.com/cloudhelp/2017/ENU/Maya-Tech-Docs/CommandsPython/group.html in cached values...retrieving...
#  Trying to find command for web page:
#          http://help.autodesk.com/cloudhelp/2017/ENU/Maya-Tech-Docs/CommandsPython/group.html
#  wrote out tmp file C:\Users\andre\dev\maya_signature_builder\scrape.json
maya_signatures.SCRAPER.get_command_flags('group')
#  Result: [('name', 'n'), ('parent', 'p'), ('relative', 'r'), ('useAsGroup', 'uag'), ('world', 'w'), ('empty', 'em'), ('absolute', 'a')]

4 Version Support

This package supports the Maya 2015, 2016 and 2017 help docs so far so please be aware. I might back port a couple versions of the maya online help, but this is totally dependent on time.

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

maya-cmds-help-0.6.4.tar.gz (10.5 kB view details)

Uploaded Source

File details

Details for the file maya-cmds-help-0.6.4.tar.gz.

File metadata

File hashes

Hashes for maya-cmds-help-0.6.4.tar.gz
Algorithm Hash digest
SHA256 044eaa2d989d0774065e08f41374afe372864d51f8ca846ef8a0e0961f90ca4e
MD5 1f308ba39445b2800ca610ec0e4be897
BLAKE2b-256 475b3f7422b42f2717b5c3584383efe15e2676281a82843f7cb021dff23f5986

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