123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- #! /usr/bin/env python
- # -*- coding: UTF-8 -*-
- #-----------------------------------------------------------------------------*
- import subprocess, sys, os, filecmp
- #-----------------------------------------------------------------------------*
- # FOR PRINTING IN COLOR *
- #-----------------------------------------------------------------------------*
- class bcolors:
- HEADER = '\033[95m'
- BLUE = '\033[94m'
- GREEN = '\033[92m'
- WARNING = '\033[93m'
- FAIL = '\033[91m'
- ENDC = '\033[0m'
- BOLD = '\033[1m'
- UNDERLINE = '\033[4m'
- BOLD_BLUE = '\033[1m' + '\033[94m'
- BOLD_GREEN = '\033[1m' + '\033[92m'
- BOLD_RED = '\033[1m' + '\033[91m'
- #-----------------------------------------------------------------------------*
- # runCommand *
- #-----------------------------------------------------------------------------*
- def runCommand (cmd) :
- str = "+"
- for s in cmd:
- str += " " + s
- print (bcolors.BOLD_BLUE + str + bcolors.ENDC)
- returncode = subprocess.call (cmd)
- if returncode != 0 :
- sys.exit (returncode)
- #-----------------------------------------------------------------------------*
- def udevPath ():
- return "/etc/udev/rules.d"
- #-----------------------------------------------------------------------------*
- def udevFileForTeensy ():
- return "49-teensy.rules"
- #-----------------------------------------------------------------------------*
- # MAIN *
- #-----------------------------------------------------------------------------*
- def installUDEVrulesOnLinux ():
- #------------------------------------------------------------------ Machine
- (SYSTEM_NAME, MODE_NAME, RELEASE, VERSION, MACHINE) = os.uname ()
- if SYSTEM_NAME != "Linux" :
- print (bcolors.BOLD_RED + "This script is available only for Linux" + bcolors.ENDC)
- sys.exit (1)
- #------------------------------------------------------------------ Get script absolute path
- scriptDir = os.path.dirname (os.path.abspath (__file__))
- #------------------------------------------------------------------ Install udev file for Teensy
- if not os.path.exists (udevPath () + "/" + udevFileForTeensy ()) :
- runCommand (["sudo", "cp", scriptDir + "/" + udevFileForTeensy (), udevPath () + "/" + udevFileForTeensy ()])
- runCommand (["sudo", "udevadm", "trigger"])
- elif not filecmp.cmp (scriptDir + "/" + udevFileForTeensy (), udevPath () + "/" + udevFileForTeensy ()) :
- runCommand (["sudo", "cp", scriptDir + "/" + udevFileForTeensy (), udevPath () + "/" + udevFileForTeensy ()])
- runCommand (["sudo", "udevadm", "trigger"])
- #---
- #-----------------------------------------------------------------------------*
- # MAIN *
- #-----------------------------------------------------------------------------*
- def uninstallUDEVrulesOnLinux ():
- #------------------------------------------------------------------ Machine
- (SYSTEM_NAME, MODE_NAME, RELEASE, VERSION, MACHINE) = os.uname ()
- if SYSTEM_NAME != "Linux" :
- print (bcolors.BOLD_RED + "This script is available only for Linux" + bcolors.ENDC)
- sys.exit (1)
- #------------------------------------------------------------------ Uninstall
- if os.path.exists (udevPath () + "/" + udevFileForTeensy ()) :
- runCommand (["sudo", "rm", udevPath () + "/" + udevFileForTeensy ()])
- #------------------------------------------------------------------ Uninstall
- if os.path.exists (udevPath () + "/" + udevFileForOpenOCD ()) :
- runCommand (["sudo", "rm", udevPath () + "/" + udevFileForOpenOCD ()])
- #-----------------------------------------------------------------------------*
|