48 lines
1.0 KiB
Python
Executable File
48 lines
1.0 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
import sys
|
|
import getopt
|
|
|
|
import ws2801
|
|
import server
|
|
import color_mode
|
|
|
|
def helpmenu():
|
|
print("Options:")
|
|
print("-h show help")
|
|
print("-s <color> color in hex")
|
|
print("-c <speed> colorcycle")
|
|
|
|
def main(argv):
|
|
|
|
if not sys.stdin.isatty():
|
|
color_mode.visualizer()
|
|
sys.exit()
|
|
|
|
try:
|
|
opts, args = getopt.getopt(argv,"hds:c:r")
|
|
except getopt.GetoptError:
|
|
print("ws2801.py: invalid option")
|
|
print("Try 'ws2801.py -h' for help")
|
|
sys.exit(2)
|
|
|
|
for opt, arg in opts:
|
|
if opt == "-h":
|
|
helpmenu()
|
|
sys.exit()
|
|
elif opt == "-s":
|
|
r,g,b = ws2801.hex_to_rgb(arg)
|
|
ws2801.set_color(r,g,b)
|
|
sys.exit()
|
|
elif opt == "-c":
|
|
color_mode.color_cycle(arg)
|
|
sys.exit()
|
|
elif opt == "-d":
|
|
server.start()
|
|
sys.exit()
|
|
|
|
helpmenu()
|
|
sys.exit()
|
|
|
|
if __name__ == "__main__":
|
|
main(sys.argv[1:])
|