| :mod:`mozinfo` --- Get system information |
| ========================================= |
| |
| Throughout `mozmill <https://developer.mozilla.org/en/Mozmill>`_ |
| and other Mozilla python code, checking the underlying |
| platform is done in many different ways. The various checks needed |
| lead to a lot of copy+pasting, leaving the reader to wonder....is this |
| specific check necessary for (e.g.) an operating system? Because |
| information is not consolidated, checks are not done consistently, nor |
| is it defined what we are checking for. |
| |
| `mozinfo <https://github.com/mozilla/mozbase/tree/master/mozinfo>`_ |
| proposes to solve this problem. mozinfo is a bridge interface, |
| making the underlying (complex) plethora of OS and architecture |
| combinations conform to a subset of values of relevance to |
| Mozilla software. The current implementation exposes relevant keys and |
| values such as: ``os``, ``version``, ``bits``, and ``processor``. Additionally, the |
| service pack in use is available on the windows platform. |
| |
| |
| API Usage |
| --------- |
| |
| mozinfo is a python package. Downloading the software and running |
| ``python setup.py develop`` will allow you to do ``import mozinfo`` |
| from python. |
| `mozinfo.py <https://raw.github.com/mozilla/mozbase/master/mozinfo/mozinfo/mozinfo.py>`_ |
| is the only file contained is this package, |
| so if you need a single-file solution, you can just download or call |
| this file through the web. |
| |
| The top level attributes (``os``, ``version``, ``bits``, ``processor``) are |
| available as module globals:: |
| |
| if mozinfo.os == 'win': ... |
| |
| In addition, mozinfo exports a dictionary, ``mozinfo.info``, that |
| contain these values. mozinfo also exports: |
| |
| - ``choices``: a dictionary of possible values for os, bits, and |
| processor |
| - ``main``: the console_script entry point for mozinfo |
| - ``unknown``: a singleton denoting a value that cannot be determined |
| |
| ``unknown`` has the string representation ``"UNKNOWN"``. |
| ``unknown`` will evaluate as ``False`` in python:: |
| |
| if not mozinfo.os: ... # unknown! |
| |
| |
| Command Line Usage |
| ------------------ |
| |
| mozinfo comes with a command line program, ``mozinfo`` which may be used to |
| diagnose one's current system. |
| |
| Example output:: |
| |
| os: linux |
| version: Ubuntu 10.10 |
| bits: 32 |
| processor: x86 |
| |
| Three of these fields, os, bits, and processor, have a finite set of |
| choices. You may display the value of these choices using |
| ``mozinfo --os``, ``mozinfo --bits``, and ``mozinfo --processor``. |
| ``mozinfo --help`` documents command-line usage. |
| |
| |
| .. automodule:: mozinfo |
| :members: |