Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # coding: utf-8
- import sys, glob, serial
- from os import geteuid, system
- """ Use as module and not as sript, pls, remember as MODULE! e.g: from ports import serial_ports """
- euid = geteuid()
- def serial_ports():
- if sys.platform.startswith('win'):
- ports = ['COM%s' % (i+1) for i in range(256)]
- elif sys.platform.startswith('linux') or sys.platform.startswith('cygwin'):
- ports = glob.glob('/dev/tty[A-Za-z]*')
- elif sys.platform.startswith('darwin'):
- ports = glob.glob('/dev/tty.*')
- else:
- raise EnvironmentError('\033[1;31mPlataformada não suportada\n')
- result = []
- for port in ports:
- try:
- s = serial.Serial(port)
- s.close()
- result.append(port)
- except (OSError, serial.SerialException):
- pass
- return result
- if __name__ == '__main__':
- if sys.platform.startswith('linux') or sys.platform.startswith('cygwin'):
- if euid == 0:
- print("\033[1;32mExecutando...\n")
- ports_available = serial_ports()
- print("Portas disponíveis: {}" .format(ports_available))
- else:
- print("\033[1;31mErro, abra-me como root!\n")
- enter_root = input("Se quiser entrar como root agora digite (S/n): ")
- enter_root = enter_root.lower()
- if enter_root == 's':
- system('sudo -s')
- ports_available = serial_ports()
- print("Portas disponíveis: {}" .format(ports_available))
- else:
- print("Tudo bem. Estamos finalizando o programa\n")
- quit()
- else:
- print("\033[1;31mAinda não testado em outros sistemas...\n")
Advertisement
Add Comment
Please, Sign In to add comment