mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
72 lines
2.5 KiB
ReStructuredText
72 lines
2.5 KiB
ReStructuredText
|
: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:
|