| ... | ... |
@@ -10,23 +10,18 @@ Parse [Raspberry Pi revision codes][]. |
| 10 | 10 |
`raspi-revcode --help`: |
| 11 | 11 |
|
| 12 | 12 |
``` |
| 13 |
-usage: |
|
| 14 |
- raspi-revcode [<code>] |
|
| 15 |
- raspi-revcode -h|--help |
|
| 16 |
- raspi-revcode --version |
|
| 13 |
+usage: raspi_revcode.py [-h] [--version] [<code>] |
|
| 17 | 14 |
|
| 18 | 15 |
Parse Raspberry Pi revision codes. |
| 19 | 16 |
|
| 20 | 17 |
positional arguments: |
| 21 |
- <code> |
|
| 22 |
- A hexadecimal revision code to parse. If not given, '/proc/cpuinfo' will be |
|
| 23 |
- used to get the revision code of the current device. |
|
| 18 |
+ <code> A hexadecimal revision code to parse. If not given, |
|
| 19 |
+ '/proc/cpuinfo' will be used to get the revision code of the |
|
| 20 |
+ current device. |
|
| 24 | 21 |
|
| 25 | 22 |
optional arguments: |
| 26 |
- -h, --help |
|
| 27 |
- Show this help message and exit. |
|
| 28 |
- --version |
|
| 29 |
- Show program's version number and exit. |
|
| 23 |
+ -h, --help show this help message and exit |
|
| 24 |
+ --version show program's version number and exit |
|
| 30 | 25 |
``` |
| 31 | 26 |
|
| 32 | 27 |
## Examples |
| ... | ... |
@@ -72,6 +67,14 @@ Overvoltage : Overvoltage disallowed |
| 72 | 67 |
|
| 73 | 68 |
## Install |
| 74 | 69 |
|
| 70 |
+`raspi-revcode` depends only on the Python standard library which means that, |
|
| 71 |
+if [Python is installed][Python download], it can run be as a standalone script |
|
| 72 |
+without installation: |
|
| 73 |
+ |
|
| 74 |
+```sh |
|
| 75 |
+./raspi_revcode.py |
|
| 76 |
+``` |
|
| 77 |
+ |
|
| 75 | 78 |
### Prerequisites |
| 76 | 79 |
|
| 77 | 80 |
Make sure [Python is installed][Python download], [`pip`][] is available and |
| ... | ... |
@@ -1,32 +1,10 @@ |
| 1 | 1 |
#!/usr/bin/env python3 |
| 2 | 2 |
|
| 3 |
-## Help |
|
| 4 |
- |
|
| 5 |
-""" |
|
| 6 |
-usage: |
|
| 7 |
- raspi-revcode [<code>] |
|
| 8 |
- raspi-revcode -h|--help |
|
| 9 |
- raspi-revcode --version |
|
| 10 |
- |
|
| 11 |
-Parse Raspberry Pi revision codes. |
|
| 12 |
- |
|
| 13 |
-positional arguments: |
|
| 14 |
- <code> |
|
| 15 |
- A hexadecimal revision code to parse. If not given, '/proc/cpuinfo' will be |
|
| 16 |
- used to get the revision code of the current device. |
|
| 17 |
- |
|
| 18 |
-optional arguments: |
|
| 19 |
- -h, --help |
|
| 20 |
- Show this help message and exit. |
|
| 21 |
- --version |
|
| 22 |
- Show program's version number and exit. |
|
| 23 |
-""" |
|
| 24 |
- |
|
| 25 | 3 |
## Imports |
| 26 | 4 |
|
| 27 | 5 |
import sys |
| 28 | 6 |
import re |
| 29 |
-import docopt |
|
| 7 |
+import argparse |
|
| 30 | 8 |
|
| 31 | 9 |
## Constants |
| 32 | 10 |
|
| ... | ... |
@@ -176,7 +154,15 @@ def parse(code): |
| 176 | 154 |
|
| 177 | 155 |
def main(): |
| 178 | 156 |
# Parse arguments. |
| 179 |
- args = docopt.docopt(__doc__, version=VERSION) |
|
| 157 |
+ parser = argparse.ArgumentParser(description=""" |
|
| 158 |
+ Parse Raspberry Pi revision codes. |
|
| 159 |
+ """); |
|
| 160 |
+ parser.add_argument('--version', action='version', version=VERSION)
|
|
| 161 |
+ parser.add_argument('<code>', nargs='?', help="""
|
|
| 162 |
+ A hexadecimal revision code to parse. If not given, '/proc/cpuinfo' |
|
| 163 |
+ will be used to get the revision code of the current device. |
|
| 164 |
+ """) |
|
| 165 |
+ args = vars(parser.parse_args()) |
|
| 180 | 166 |
# Get code string from argument. |
| 181 | 167 |
code = args['<code>'] |
| 182 | 168 |
# Get code string from system. |