Example #1
0
def createaccount():
    '''
    This method creates an entry in the user table.
    TODO - It should eventually be replaced with a
    a generic insert function
    '''
    #Retrieve parameters
    user = request.args.get('user')
    passwd = request.args.get('passwd')
    uniqueId = request.args.get('id')
    if (user == None):
        user = False
    if (passwd == None):
        passwd = False

    handler = SQLiteHandler('PM-Web.db')
    var = ""
    if (user == False and passwd == False):
        #return str(handler.selectFromTable('UserTable', '*'))
        return str("-1")
    try:
        handler.insertIntoTable(
            'UserTable',
            'firstname,lastname,email,password,bio,projectlist,picture',
            'null,null,"' + user + '","' + passwd + '",null,null,null')
    except:
        return '1 - User already exists in database'

    return '0 - User added to database'
Example #2
0
def select():
    ''' 
    This route is going to search for a record based on
    the parameters given and return the record's entire 
    contents that is stored in the database.

    @param - which record to select from record=
    @param - a search value under seach=
    @param - which table to search
    '''
    searchRecord = request.args.get('record')
    searchString = request.args.get('search')
    tableString = request.args.get('table')
    if (searchString == None or tableString == None or searchRecord == None):
        return "-1"

    handler = SQLiteHandler('PM-Web.db')
    whereClause = searchRecord + ' = "' + searchString + '"'
    user = handler.selectFromTableWhere(tableString, '*', whereClause)

    #Nothing was found
    if (user == []):
        return "0"
    else:
        return str(user).strip('[(').strip(')]')
Example #3
0
def insert():
    '''
    This route is going to insert a value into an input table.
    This value will be a row, and syntax must be valid SQL syntax
    for this operation to complete.

    @param SQLString
    @param table
    '''
    valueString = request.args.get('valuestring')
    columnString = request.args.get('columnstring')
    table = request.args.get('table')

    if (valueString == None or table == None or columnString == None):
        return "2"

    handler = SQLiteHandler('PM-Web.db')

    print table, columnString, valueString

    try:
        handler.insertIntoTable(table, columnString, valueString)
    except:
        return "0"

    # Otherwise
    return "1"
Example #4
0
def getall():
    '''
    This route returns a comma seperated list of
    all users in the database.
    '''
    table = request.args.get('table')
    handler = SQLiteHandler('PM-Web.db')
    if (not table == None):
        try:
            users = handler.selectFromTable(table, "*")
        except:
            users = []
    else:
        users = handler.selectFromTable("UserTable", "*")

    return str(users)
Example #5
0
def update():
    '''
    This route is going to take the get parameters and
    update a specific record inside the database.

    @param table - which table to update the row in
    @param updateString - the entire updatestring to rebuild the row with
    '''
    table = request.args.get('table')
    updateString = request.args.get('updatestring').replace("**", " ")
    if (table == None or updateString == None):
        return "2"
    try:
        handler = SQLiteHandler('PM-Web.db')
        update = handler.updateRow(table, updateString)
    except:
        return "UpdateString: " + updateString

    return "1"
Example #6
0
def login():
    #Retrieve parameters
    user = request.args.get('user')
    passwd = request.args.get('passwd')
    if (user == None):
        user = False
    if (passwd == None):
        passwd = False

    handler = SQLiteHandler('PM-Web.db')
    var = ""
    if (user == False and passwd == False):
        return str("-1")

    try:
        user = handler.selectFromTableWhere(
            'UserTable', "*",
            'email = "' + user + '" AND ' + 'password = "******"')
        if user == []:
            return "0"
        else:
            return "1"
    except:
        return str("-1")
Example #7
0
def remove():
    currentProject = request.args.get('projectid')
    addedUser = request.args.get('addeduser')
    if (currentProject == None or addedUser == None):
        return "2"
    handler = SQLiteHandler('PM-Web.db')
    currentMemberList = handler.selectFromTableWhere(
        "projecttable", "*", "ProjectID=" + str(currentProject))
    memberListasList = list(currentMemberList[0])

    message = ""

    # Update the project's memberlist
    initialMemberList = memberListasList[2]

    newMemberList = initialMemberList.replace(addedUser, "")

    try:
        updateString = 'MemberList="' + \
                       str(newMemberList) + '" WHERE ProjectId="' + \
                       str(currentProject) + '"'
        handler.updateRow("ProjectTable", updateString)
    except:
        return "0 - Failed to update project's memberlist" + initialMemberList

    # Update the added user's projectlist
    addedUserProjectList = handler.selectFromTableWhere(
        "usertable", "*", "email=\"" + str(addedUser) + "\"")
    projectListasList = list(addedUserProjectList[0])
    userProjList = projectListasList[6]

    newProjectList = userProjList.replace(currentProject, "")

    try:
        updateString = 'ProjectList="' + \
                       str(newProjectList) + '" WHERE Email="' + \
                       str(addedUser) + '"'
        handler.updateRow("UserTable", updateString)
    except:
        return "0 - Failed to update user's projectlist"

    return "Successfully removed from the project"
def main():
    test = SQLiteHandler("test-db")
    print(test.checkTableExists('Cars'))
    print(test.createTable("Students", '(id text, age real)'))
    print(test.getTables())
    print(test.getRowsFromTable('Cars'))
from SQLiteHandler import SQLiteHandler
from AssignmentHandler import AssignmentHandler
import tkinter  # note that module name has changed from Tkinter in Python 2 to tkinter in Python 3
from tkinter import *
from io import BytesIO
import sympy as sp
from PIL import Image, ImageTk

#=============TESTING========================
sqlh = SQLiteHandler('mathWorksheet.db')

top = tkinter.Tk()

svar = IntVar()
cvar = IntVar()
student_buttons = []
class_buttons = []

current_class = '0'
current_student = '0'

ass_box = Listbox(top, width=70)
ass_box_available = Listbox(top, width=70)


def remove_assignment(event):
    global current_class
    print("class", current_class, "    student", current_student)


def add_assignment(event):
Example #10
0
def genericSelect():
    table = request.args.get('table')
    where = request.args.get('where')
    handler = SQLiteHandler('PM-Web.db')
    return str(handler.selectFromTableWhere(table, "*", where))
Example #11
0
				elements = lines.split(self.separator)
				for iterator in range(length):
					self.dict[iterator].append(elements[iterator]) 
			if	type(lines) is tuple:
				for iterator in range(length):
					self.dict[iterator].append(lines[iterator])
		return self.dict

if __name__ == '__main__':

## UseCase: Read records from CSV file and convert to columns
	fileHandle = open('C:\\Python25\\input.csv', 'r')
	convert = Convertor(fileHandle.readlines() , ',')
	fileHandle.close()
	dict = convert.convertToColumns()
	print "First column in file records ", dict[0]
	

## UseCase: Read records from a SQLite database
	from SQLiteHandler import SQLiteHandler
	sql = SQLiteHandler('C:\\db')
	sql.connect()
	rows = sql.execute(" select * from data")
	sql.commit()
	sql.close()
	convert = Convertor(rows.fetchall(), ',')
	dict = convert.convertToColumns()
	print "First column in DB records ", dict[0]
	

Example #12
0
 def __init__(self):
     self.sql = SQLiteHandler(os.path.join(CURRENT_DIR, DATABASE_NAME))
     self.sql.connect()
Example #13
0
class FileSystem(object):
    pwd = ''
    backslashes_regexp = re.compile(r"[/]{0,}$", re.IGNORECASE)

    def __init__(self):
        self.sql = SQLiteHandler(os.path.join(CURRENT_DIR, DATABASE_NAME))
        self.sql.connect()

    def __del__(self):
        self.sql.close()

    def cd(self, dir_name):
        dir_name = self.backslashes_regexp.sub(dir_name, '')
        if len(dir_name):
            abspath = u'%s%s' % (self.get_pwd(), dir_name)
        else:
            abspath = ''
        print abspath
        if self.is_dir(abspath if len(abspath) else '/'):
            self.pwd = abspath
            return True
        else:
            return False

    def get_pwd(self):
        if not self.pwd:
            self.cd('')
        return u'%s/' % self.pwd

    def ls(self, pwd=None):
        rows = self.sql.fetchAll(''' SELECT abspath FROM file WHERE abspath LIKE '%s%%' AND length>0; ''' % pwd or self.get_pwd())
        ls = []
        for row in rows:
            ls.append(row[0].rsplit('/', 1)[-1])
        return ls

    def get_file_attributes(self, abspath):
        return self.sql.fetchOne(''' SELECT attributes FROM file WHERE abspath='%s' AND length>0;''' % abspath)[0]

    def get_dir_attributes(self, abspath):
        return self.sql.fetchOne(''' SELECT attributes FROM file WHERE abspath='%s' AND length=0;''' % abspath)[0]

    def is_dir(self, abspath):
        result = self.sql.fetchOne('''SELECT COUNT(*) FROM file WHERE abspath='%s' AND length=0; ''' % abspath)
        return bool(result[0])

    def is_file(self, abspath):
        result = self.sql.fetchOne('''SELECT COUNT(*) FROM file WHERE abspath='%s' AND length>0; ''' % abspath)
        return bool(result[0])

    def exist(self, abspath, is_dir=True):
        if is_dir:
            return self.is_dir(abspath)
        else:
            return self.is_file(abspath)

    def touch(self, file_name):
        abspath = u'%s%s' % (self.get_pwd(), file_name)
        if not self.is_file(abspath):
            self.sql.execute(''' INSERT INTO file(abspath, length, attributes) VALUES ('%s', 1, '0777') ''' % abspath)
            self.sql.commit()
            return True
        return False

    def mkdir(self, dir_name, force=False):
        abspath = u'%s%s' % (self.get_pwd(), dir_name)
        if force or not self.is_dir(abspath):
            self.sql.execute(''' INSERT INTO file(abspath, length, attributes) VALUES ('%s', 0, '0644') ''' % abspath)
            self.sql.commit()
            return True
        return False

    def remove(self, abspath):
        self.sql.execute(''' DELETE FROM file WHERE abspath='%s' ''' % abspath)
        self.sql.commit()
        return True
Example #14
0
        for lines in self.records:
            if type(lines) is str:
                elements = lines.split(self.separator)
                for iterator in range(length):
                    self.dict[iterator].append(elements[iterator])
            if type(lines) is tuple:
                for iterator in range(length):
                    self.dict[iterator].append(lines[iterator])
        return self.dict


if __name__ == '__main__':

    ## UseCase: Read records from CSV file and convert to columns
    fileHandle = open('C:\\Python25\\input.csv', 'r')
    convert = Convertor(fileHandle.readlines(), ',')
    fileHandle.close()
    dict = convert.convertToColumns()
    print "First column in file records ", dict[0]

    ## UseCase: Read records from a SQLite database
    from SQLiteHandler import SQLiteHandler
    sql = SQLiteHandler('C:\\db')
    sql.connect()
    rows = sql.execute(" select * from data")
    sql.commit()
    sql.close()
    convert = Convertor(rows.fetchall(), ',')
    dict = convert.convertToColumns()
    print "First column in DB records ", dict[0]