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.2.tar.gz (10.5 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for maya-cmds-help-0.6.2.tar.gz
Algorithm Hash digest
SHA256 fa3b1caa470aeb2ef718eabed59c2ac652c9513c6646e9df3cf90cb4e56590be
MD5 6eb9c7ca3443d43035c0abaa1b217ff4
BLAKE2b-256 2a5f47b67770a5431318f655349d052597d7b79bd72c3f46435448ffcca4bc26

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