Surprise! We've been running on hardware provided by BuyVM for a few months and wanted to show them a little appreciation.
Running a paste site comes with unique challenges, ones that aren't always obvious and hard to control. As such, BuyVM offered us a home where we could worry less about the hosting side of things and focus on maintaining a clean and useful service! Go check them out and show them some love!
Description: LoginSYSTEM
Submitted on December 4, 2016 at 09:07 AM

Section 1 (Python)


###Eklenecekler:################################################
#1-Mysql ile senkronizasyon                                    #
#2-Chat sistemi                                                #
#3-Arayüz													   #
#4-Şifreleme(encryption)                                       #
#5-???                         								   #
################################################################








import os
import getpass
#import base64
import string
import time
#from tkinter import * ##soon
#import chat ##soon
#import chatserver ##soon
os.system('cls' if os.name=="nt" else 'clear')
class bcolors:
    HEADER = '\033[95m'
    WARNING = '\033[93m'
    OKBLUE = '\033[94m'
    ENDC = '\033[0m'
    OKGREEN = '\033[92m'
    FAIL = '\033[91m'

version = bcolors.OKBLUE + "8.0 Alpha" + bcolors.ENDC



#def encryption():
    #Working on it.


def changepass():

    username = input("Please enter your username: ")
    if os.path.isfile(username + ".txt") == False:
        print("Wrong username. Try again.")

        changepass()
    else:
        with open(username + ".txt", "r") as f:
            password = getpass.getpass("Enter old password: ")
            if not password:
                print("Try again.")
                f.close()
                changepass()
            if password == f.read():
                print("Passwords match. Now you can change password. Select new password to yourself.")
                f.close()
                changed = getpass.getpass(">>> ")
                if not changed:
                    print("You can not leave password empty")
                    time.sleep(1)
                    os.system('cls' if os.name == "nt" else 'clear')
                    loggedin()
                else:
                    with open(username + ".txt", "w") as s:
                        s.truncate()
                        s.write(changed)
                        s.close()
                        print("Pass change succesful! Redirecting to your account.")
                        s.close()
                        time.sleep(1)
                        os.system('cls' if os.name == "nt" else 'clear')
                        loggedin()
            else:
                print(bcolors.FAIL + "Your password doesnt match." + bcolors.ENDC)
                loggedin()

def loggedin():
    whattodo = input("Options is:\n1.Chat\n2.Change password\n3.Switch account\n4.Exit\n")
    if whattodo == "1":
        print("\ncoming soon\n")
        time.sleep(2)
        loggedin()
    elif whattodo == "2":
        changepass()
    elif whattodo == "3":
        print("Goodbye!")
        login()
    elif whattodo == "4":
        print("Goodbye!")
        exit()
    else:
        print("Wrong button!")
        loggedin()


def comingsoon():
    print("----------------------------------------")
    print("|            Coming Soon               |")
    print("----------------------------------------")


def login():
    print (bcolors.OKGREEN + "----------------------------------------")
    print ("|                Login                 |")
    print ("----------------------------------------" + bcolors.ENDC)
    k_name = input(bcolors.OKGREEN + "Enter username: " + bcolors.ENDC)
    if os.path.exists(k_name + ".txt") == False:
        print (bcolors.FAIL +"Username not found." + bcolors.ENDC)
        create()
    else:
        k_pass = getpass.getpass(bcolors.OKGREEN + "Enter password: " + bcolors.ENDC)
        with open(k_name + ".txt", "r") as f:
            if k_pass == f.read():
                print(bcolors.OKBLUE + "\nWelcome ", k_name + bcolors.ENDC)
                f.close()
                loggedin()
            else:
                print(bcolors.FAIL + "Password is wrong " + bcolors.ENDC)
                create()



def create():
    print("You using login system %s" % version)
    print(bcolors.WARNING + "Alpha version (bugs not fixed && features not added)" + bcolors.ENDC)
    print(bcolors.OKGREEN + "----------------------------------------")
    print("|                 Lobby                |")
    print( "----------------------------------------" + bcolors.ENDC)
    starting = input(bcolors.OKGREEN + "To create user type R, to login type L: " + bcolors.ENDC).upper()
    if starting == "R":
        name = input("Enter username: ")
        if len(name) > 16:
            print("\rUsername cannot be longer than 16 characters!")
            time.sleep(2)
            os.system('cls' if os.name=="nt" else 'clear')
            create()
        else:
            if os.path.isfile(name + ".txt") == True:
                print(bcolors.FAIL + "Username already taken, please try another one." + bcolors.ENDC)
                name = None
                create()
            else:
                password = getpass.getpass("Enter password: ")
                if not password:
                    print("You can not leave password empty!")
                    time.sleep(1)
                    os.system('cls' if os.name == "nt" else 'clear')
                    create()
                else:
                    password2 = getpass.getpass("Verify: ")
            if password == password2:
                newfile = open(name + ".txt", "a")
                newfile.write(password)
                newfile.close()
                print(bcolors.OKBLUE + "User created. Redirecting you to login." + bcolors.ENDC)
                time.sleep(2)
                os.system('cls' if os.name == "nt" else 'clear')
                login()
            elif password != password2:
                print(bcolors.FAIL + "Passwords doesn't match." + bcolors.ENDC)
                input("Press enter to continue")
                create()

    elif starting == "L":
        login()
    elif starting == "NEW":
        comingsoon()
    else:
        print(bcolors.FAIL + "\nWrong button\n" + bcolors.ENDC)
        create()

create()