2024-03-08 11:07:41 +11:00
|
|
|
"""
|
2024-03-11 20:32:23 +09:00
|
|
|
**Custom Commands**
|
2024-03-08 11:07:41 +11:00
|
|
|
|
|
|
|
|
Registering commands makes it possible to conveniently expose command line
|
|
|
|
|
functionality via commands passed to (``-c`` / ``--command``).
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
import sys
|
|
|
|
|
import os
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def sysinfo_command(argv):
|
|
|
|
|
import tempfile
|
|
|
|
|
import sys_info
|
|
|
|
|
|
|
|
|
|
if argv and argv[0] == "--help":
|
|
|
|
|
print("Print system information & exit!")
|
|
|
|
|
return 0
|
|
|
|
|
|
|
|
|
|
with tempfile.TemporaryDirectory() as tempdir:
|
|
|
|
|
filepath = os.path.join(tempdir, "system_info.txt")
|
|
|
|
|
sys_info.write_sysinfo(filepath)
|
|
|
|
|
with open(filepath, "r", encoding="utf-8") as fh:
|
|
|
|
|
sys.stdout.write(fh.read())
|
|
|
|
|
return 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cli_commands = []
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def register():
|
|
|
|
|
cli_commands.append(bpy.utils.register_cli_command("sysinfo", sysinfo_command))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def unregister():
|
|
|
|
|
for cmd in cli_commands:
|
|
|
|
|
bpy.utils.unregister_cli_command(cmd)
|
|
|
|
|
cli_commands.clear()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
register()
|