Advertisement
Techmo

PCOS

Feb 6th, 2014
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. __author__ = 'Brad'
  2. import time
  3. import os
  4. import platform
  5. import subprocess
  6. import smtplib
  7.  
  8. #external file applications
  9. from eret import errorcodes
  10.  
  11. def cls():
  12.     os.system("clear")
  13. def mail():
  14.     print("PCOS Email Client v0.3")
  15.     print("--------------------------")
  16.     gmail_user = raw_input("Enter your email: ")
  17.     gmail_pwd = raw_input("Enter your email password: ")
  18.     FROM = gmail_user
  19.     TO = [raw_input("Enter recipient email: ")] #must be a list
  20.     SUBJECT = raw_input("Enter email subject: ")
  21.     TEXT = raw_input("Enter message: ")
  22.  
  23.      # Prepare actual message
  24.     message = """\From: %s\nTo: %s\nSubject: %s\n\n%s
  25.    """ % (FROM, ", ".join(TO), SUBJECT, TEXT)
  26.     try:
  27.         #server = smtplib.SMTP(SERVER)
  28.         server = smtplib.SMTP("smtp.gmail.com", 587) #or port 465 doesn't seem to work!
  29.         server.ehlo()
  30.         server.starttls()
  31.         server.login(gmail_user, gmail_pwd)
  32.         server.sendmail(FROM, TO, message)
  33.         #server.quit()
  34.         server.close()
  35.         print 'successfully sent the mail'
  36.     except:
  37.         print (errorcodes(2))
  38.     osScreen2()
  39. def count():
  40.     cls()
  41.     cend = float(raw_input("Count to what number?: "))
  42.     cls()
  43.     crate = float(raw_input("Count by?: "))
  44.     cls()
  45.     cstart = float(raw_input("Count from?: "))
  46.     cls()
  47.     choice = raw_input("Write to file?(Y/N): ").lower()
  48.     cls()
  49.     if choice == "y":
  50.         fname = raw_input("Enter the name of the file to write to: ")
  51.         cls()
  52.         open(fname, "w").close()
  53.         cfile = open(fname, "r+")
  54.     x = cstart
  55.     while x <= cend:
  56.         if choice == "y":
  57.             cfile.write(str(x) + ", ")
  58.             cfile.flush()
  59.         else:
  60.             print(x)
  61.         print(x)
  62.         x += crate
  63.     osScreen2()
  64. def calculator():
  65.     cls()
  66.     function = raw_input("add, subtract, multiply, or divide?: ")
  67.     if function == "add":
  68.         cls()
  69.         print("Insert first number: ")
  70.         x = float(raw_input())
  71.         cls()
  72.         print("Insert second number: ")
  73.         y = float(raw_input())
  74.         cls()
  75.         add = float(x) + float(y)
  76.         print(str(x) + " + " + str(y) + " = " + str(add))
  77.     elif function == "subtract":
  78.         cls()
  79.         x = float(raw_input("Insert first number: "))
  80.         cls()
  81.         y = float(raw_input("Insert second number: "))
  82.         cls()
  83.         add = float(x) - float(y)
  84.         print(str(x) + " - " + str(y) + " = " + str(add))
  85.     elif function == "multiply":
  86.         cls()
  87.         x = int(raw_input("Insert first factor: "))
  88.         cls()
  89.         y = int(raw_input("Insert second factor: "))
  90.         cls()
  91.         add = float(x) * float(y)
  92.         print(str(x) + " x " + str(y) + " = " + str(add))
  93.     elif function == "divide":
  94.         cls()
  95.         x = float(raw_input("Insert numerator: "))
  96.         cls()
  97.         y = float(raw_input("Insert denominator: "))
  98.         cls()
  99.         add = float(x) / float(y)
  100.         print(str(x) + " / " + str(y) + " = " + str(add))
  101.     else:
  102.         print("invalid operation")
  103.         calculator()
  104.     osScreen2()
  105. def view():
  106.     name = raw_input("Insert the name of the file you would like to open(inlude any extensions): ")
  107.  
  108.     if name == "pass.txt" or name == "state.txt":
  109.             print(errorcodes(1))
  110.             view()
  111.  
  112.     else:
  113.         try:
  114.             fdata = open(name, "r+").read()
  115.         except IOError:
  116.             cls()
  117.             print("Invalid file name")
  118.             time.sleep(2)
  119.             cls()
  120.             view()
  121.         cls()
  122.         print("The file contains:")
  123.         print("")
  124.         print(fdata)
  125.         osScreen2()
  126. def rstusr():
  127.     cls()
  128.     f1 = open("usr.txt", "r+")
  129.     username = f1.read()
  130.     us1 = raw_input("Enter your old username: ")
  131.     if us1 == username:
  132.         cls()
  133.         dp = raw_input("Enter your new username: ")
  134.         open("usr.txt", 'w').close()
  135.         f3 = open("usr.txt", "r+")
  136.         f3.write(dp)
  137.         f3.flush()
  138.         cls()
  139.         print("Username Reset")
  140.         time.sleep(1)
  141.         cls()
  142.         osScreen2()
  143.     else:
  144.         cls()
  145.         print("Username does not exist")
  146.         time.sleep(1)
  147.         osScreen()
  148.  
  149. def new():
  150.     name = raw_input("Insert name of new file (use .txt if you want a text file): ")
  151.     if name == "pass.txt" or name == "state.txt":
  152.         print(errorcodes(1))
  153.         new()
  154.     else:
  155.         open(name, "w").close()
  156.         file1 = open(name, "r+")
  157.         cls()
  158.         print("PyEdit v0.1.1")
  159.         print("Enter text to be written to file then press 'Enter'")
  160.         print(" ")
  161.         print(" ")
  162.         data = raw_input()
  163.         file1.write(data)
  164.         file1.flush()
  165.         file1.close()
  166.         osScreen2()
  167.  
  168.  
  169. # the say command-------------------------
  170. def say():
  171.     sent = raw_input("Say what?: ")
  172.     print(sent)
  173.     osScreen2()
  174. def cpuname():
  175.     if platform.system() == "Windows":
  176.         return platform.processor()
  177.     elif platform.system() == "Darwin":
  178.         return subprocess.check_output(['/usr/sbin/sysctl', "-n", "machdep.cpu.brand_string"]).strip()
  179.     elif platform.system() == "Linux":
  180.         command = "cat /proc/cpuinfo"
  181.         return subprocess.check_output(command, shell=True).strip()
  182.     return ""
  183. def sysinfo():
  184.     print("OS name: " + platform.release())
  185.     print("OS type: " + platform.system())
  186.     print("OS version: " + platform.version())
  187.     print("CPU: " + cpuname())
  188.     print("CPU type: " + platform.machine())
  189.     print("Python version: " + platform.python_version())
  190.     print("Network name: " + platform.node())
  191.     osScreen2()
  192. #--------------------------the resetpw command--------------------------
  193. def pwreset():
  194.     cls()
  195.     f1 = open("pass.txt", "r+")
  196.     password = f1.read()
  197.     ps = raw_input("Enter your old password: ")
  198.     if ps == password:
  199.         cls()
  200.         dp = raw_input("Enter your new password: ")
  201.         open("pass.txt", 'w').close()
  202.         f2 = open("pass.txt", "r+")
  203.         f2.write(dp)
  204.         f2.flush()
  205.         open("state.txt", "w").close()
  206.         oss = open("state.txt", "r+")
  207.         oss.write("osState: 0")
  208.         cls()
  209.         print("Password Reset")
  210.         time.sleep(1)
  211.         cls()
  212.         osScreen2()
  213.     else:
  214.         cls()
  215.         print("Passcode Incorrect")
  216.         time.sleep(1)
  217.         osScreen()
  218. #--------------------------------------------------------------------------
  219. #---------------the coms command-------------------------------------------
  220. def commands():
  221.     print("commands: exit, mail, resetpw, rstusr,  coms, clearsc, say, calc, new, view, sysinf, count")
  222. # -------------------the loading account screen ----------------------------
  223. def loadOS():
  224.     cls()
  225.     print("loading your POS account.")
  226.     time.sleep(1)
  227.     cls()
  228.     print("loading your POS account..")
  229.     time.sleep(1)
  230.     cls()
  231.     print("loading your POS account...")
  232.     time.sleep(1)
  233.     osScreen()
  234. #------------------------------------------------------------------------------
  235. #---------------the command interpreter----------------------------------------
  236. def osScreen():
  237.     cls()
  238.     print("PCOS V 0.2.3 on " + platform.system() + " version: " + platform.version())
  239.     print("for a list of commands type 'coms'")
  240.     osScreen2()
  241. def osScreen2():
  242.     command = raw_input("> ")
  243.     if command == "exit":
  244.         exit()
  245.     elif command == "resetpw":
  246.         pwreset()
  247.         osScreen2()
  248.     elif command == "coms":
  249.         commands()
  250.         osScreen2()
  251.     elif command == "mail":
  252.         mail()
  253.     elif command == "count":
  254.         count()
  255.     elif command == "clearsc":
  256.         cls()
  257.         osScreen2()
  258.     elif command == "say":
  259.         say()
  260.     elif command == "rstusr":
  261.         rstusr()
  262.     elif command == "calc":
  263.         calculator()
  264.     elif command == "sysinf":
  265.         sysinfo()
  266.     elif command == "new":
  267.         new()
  268.     elif command == "view":
  269.         view()
  270.     else:
  271.         print("Unknown command")
  272.         osScreen2()
  273. def first():
  274.     try:
  275.         f1 = open("pass.txt")
  276.         setpass = f1.read()
  277.         f1.close()
  278.         print("Welcome to POS")
  279.         print("--------------")
  280.         state = open("state.txt", "r+")
  281.         st = state.read()
  282.         if st == "osState: 1":
  283.             print("WARNING: using default os passcode")
  284.             print("----------------------------------")
  285.         us = raw_input("Enter Username: ")
  286.         if us in open("usr.txt").read():
  287.             cls()
  288.             print("Welcome to POS")
  289.             print("--------------")
  290.             if st == "osState: 1":
  291.                 print("WARNING: using default os passcode")
  292.                 print("----------------------------------")
  293.             password = raw_input("Enter Password: ")
  294.  
  295.             if password == setpass:
  296.                 loadOS()
  297.             else:
  298.                 cls()
  299.                 print("Code Incorrect")
  300.                 time.sleep(3)
  301.                 first()
  302.         else:
  303.             cls()
  304.             print("User does not exist")
  305.             time.sleep(3)
  306.             cls()
  307.             first()
  308.     except IOError:
  309.         print("Creating system files...")
  310.         time.sleep(3)
  311.         cls()
  312.         open("pass.txt", "w").close()
  313.         p1 = open("pass.txt", "r+")
  314.         p1.write("password")
  315.         p1.flush()
  316.         open("usr.txt", "w").close()
  317.         p1 = open("usr.txt", "r+")
  318.         p1.write("user")
  319.         p1.flush()
  320.         open("state.txt", "w").close()
  321.         f1 = open("state.txt", "r+")
  322.         f1.write("osState: 1")
  323.         f1.flush()
  324.         print("done")
  325.         time.sleep(1)
  326.         cls()
  327.         first()
  328. first()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement