def __init__(self, load_file, save_file, diff): global field, player1_roster, player2_roster, save_file_name,difficulty field = Field.Field(load_file, save_file) player1_roster = Roster.Roster(load_file, "player1") player2_roster = Roster.Roster(load_file, "player2") save_file_name = save_file difficulty = diff
def students_list(filename, startbool): """ This function is called in main.py and uses Roster.py to import a list of student objects from a given file. The purpose of this function is to check to see if the program has interacted with the same roster before and to check if there are any files made for that roster and imports it. If the program did not close properly, a file that contains the last interaction will be loaded to continue where its left off. Chooses the appropriate file to import Returns a list of objects from the imported file Args: student_roster: object for Roster startbool: to diffrentate wether user is changing file isQueue: to see if a queue file associated with the roster given exists interruptedQ: to see if a queue that is from a previous run that did not exit properly filename: a string of the filename GLOBAL: QUEUE_PATH -- a string containing the path of a file's queue. """ if CONFIG.DEBUG: print("Running students_list") student_roster = Roster.Roster() # queue are saved in _queue.csv while running global QUEUE_PATH queue_file = filename.split('.') student_roster = Roster.Roster() QUEUE_PATH = str(queue_file[0] + "_queue.csv") if filename != CONFIG.DATA_PATH: isQueue = os.path.exists(QUEUE_PATH) else: isQueue = False # this file will only exist if the program was not closed properly # it gets deleted at exit interruptedQ = os.path.exists('_queue.csv') # checks if there is an updated queue if startbool and interruptedQ: student_roster.import_roster('_queue.csv') elif isQueue: student_roster.import_roster(QUEUE_PATH) student_roster.students = randomizer(student_roster.students) else: student_roster.import_roster(filename) # send list to randomize student_roster.students = randomizer(student_roster.students) return student_roster.students
def signIn(self): #sets jabber ID self.jid = xmpp.protocol.JID(self.jid) #Creates a client self.client = xmpp.Client(self.jid.getDomain(), debug=[]) if self.client.connect() == "": #print "not connected" return False if self.client.auth(self.jid.getNode(), self.pwd) == None: #print "authentication failed" #print self.pwd #print self.jid return False #Shows server client is online self.client.sendInitPresence() self.roster = Roster.Roster(self.client) self.roster.start() self.roster.getContactList() #must do this QtCore.QObject.connect(self.roster, QtCore.SIGNAL("buddyRequest"), self.buddyRequest) self.receiveThread = ReceiveMessage.ReceiveMessage( self.client, self.contactList()) self.receiveThread.start() self.presence = xmpp.protocol.Presence() QtCore.QObject.connect(self.receiveThread, QtCore.SIGNAL("message"), self.receiveMessage) self.statusCheck = JabberContacts.JabberContacts(self.client) self.statusCheck.start() QtCore.QObject.connect(self.statusCheck, QtCore.SIGNAL("updateBuddyStatus"), self.updateBuddies) return True
def _load(self, name=None): """load course from repository. Parameters ---------- name : str (Default value = None) Returns ------- """ if name is None: name = self.name pfile = os.path.join(m.repository, "courses", "{0}.pickle".format(name)) with open(pfile, "rb") as f: load_dict = pickle.load(f) self.roster_file = load_dict['roster_file'] self.assignments = load_dict['assignments'] self.grades = load_dict['grades'] if self.roster_file is not None: self.roster = Roster.Roster(self.roster_file)
def add_roster(self, roster): """Add an existing roster from the repository. Parameters ---------- roster : str Name of roster to add to the current course Returns ------- """ rfile = os.path.join(m.repository, "rosters", "{0}.pickle".format(roster)) if os.path.isfile(rfile): self.roster = Roster.Roster(rfile) self.roster_file = rfile for student in self.roster.studentlist: self.grades['Students'][student['Last Name'], student['First Name']] = { 'Scores': [], 'Total': 0., 'Weighted Total': 0., 'Percent': None, 'Weighted Percent': None } else: print "roster/{0} does not exist.".format(roster)
def execute(args, chatter=2): """Executes a command on the input type""" name = args.NAME if (name is None) and (args.mode == "ql"): inter = interactive.interface("execute") name = inter.request("{0} name".format(args.TYPE)) elif name is None: raise IOError("Cannot execute command on {0} without a name.".format( args.TYPE)) if args.TYPE == 'course': course = Course.Course(name) course._load(name) f = getattr(course, args.command) positional_args, varargs, keywords, defaults = inspect.getargspec(f) method_args = [vars(args)[a] for a in positional_args[1:]] if varargs is not None: for va in vars(args)[varargs]: method_args.append(va) return_args = f(*method_args) course._save() return return_args if args.TYPE == 'roster': roster = Roster.Roster(name) f = getattr(roster, args.command) positional_args, varargs, keywords, defaults = inspect.getargspec(f) method_args = [vars(args)[a] for a in argspec[0][1:]] if varargs is not None: for va in vars(args)[varargs]: method_args.append(va) return_args = f(*method_args) roster._save(name) return return_args
def testMethods(): user = TestUser.TestUser("*****@*****.**", "0103turkey") print "Signing in........" print " " user.signIn() #print "Showing all contact information from roster: " #print " " myClient = user.getClient() print "Getting all contact information from roster: " print " " roster = Roster.Roster(myClient) roster.getContactList() print "Showing all contact information from roster: " print " " roster.printContacts()
def old_execute(args, chatter=2): """Executes a command on the input type""" name = args.NAME if (name is None) and (args.mode == "ql"): inter = interactive.interface("execute") name = inter.request("{0} name".format(args.TYPE)) elif name is None: raise IOError("Cannot execute command on {0} without a name.".format( args.TYPE)) print args.command if args.TYPE == "course": course = Course.Course(name) course._load() try: func = getattr(course, args.command[0]) return_values = func(*args.command[1:]) course.save() except AttributeError: if chatter > 0: print "{0} has no method {1}. Available options are: ".format( args.TYPE, args.command[0]) print ' '.join([ method[0] for method in inspect.getmembers( course, predicate=inspect.ismethod) ][1:]) return_values = None elif args.TYPE == "roster": roster = Roster.Roster(name) roster.loadPickle(name) try: func = getattr(roster, args.command[0]) return_values = func(*args.command[1:]) roster.save(name) except AttributeError: if chatter > 0: print "{0} has no method {1}. Available options are: ".format( args.TYPE, args.command[0]) print ' '.join([ method[0] for method in inspect.getmembers( roster, predicate=inspect.ismethod) ][1:]) return_values = None return return_values
def import_roster(self, filename, fieldnames=None, nameformat='onecolumn', idcolumn=None): """import a .csv or .pickle roster to a course. Parameters ---------- filename : str Full path to input roster file fieldnames : list Fieldnames for input roster (Default value = None) nameformat : str Format for input names (Default value = 'onecolumn') idcolumn : int Index of column containing ID numbers (Default value = None) Returns ------- """ self.roster = Roster.Roster(filename, fieldnames=fieldnames, nameformat=nameformat, idcolumn=idcolumn, name=self.name) try: self.roster._save(self.name) self.roster_file = os.path.join(m.repository, "rosters", "{0}.pickle".format(self.name)) except RosterSaveError: print "Could not save roster to repository because a roster by the same name already exists." self.roster_file = filename for student in self.roster.studentlist: self.grades['Students'][student['Last Name'], student['First Name']] = { 'Scores': [], 'Total': 0., 'Weighted Total': 0., 'Percent': None, 'Weighted Percent': None }
def createRoster(self): ''' Same functionality as CourseSelect.createRoster(), but here we pass the course name in) ''' # Hide this Frame self.master.withdraw() root = Tk() root.title("Course Info") #Center frame to window. w=200 h=210 ws = root.winfo_screenwidth() # width of the screen hs = root.winfo_screenheight() x = (ws/2) - (w/2) y = (hs/2) - (h/2) root.geometry("%dx%d+%d+%d" % (w, h, x, y)) app = Roster(master=root, name=self.name) app.mainloop() root.destroy() self.master.deiconify()
def create(args, chatter=2): """Create a resource""" name = args.NAME if (name is None) and (args.mode == "ql"): inter = interactive.interface("create") name = inter.request("{0} name".format(args.TYPE)) inter.close() elif name is None: raise IOError("Cannot create {0} without a name.".format(args.TYPE)) args.NAME = name resources = get(args, chatter=0) resource_list = [resources ] if not hasattr(resources, '__iter__') else resources if name in resource_list: print "{0}/{1} already exists. Try a different name or delete the other one.".format( args.TYPE, name) return None if args.TYPE == 'course': if args.mode == 'gui': print "not yet" else: new_course = Course.Course(name) new_course._save() print "created {0}/{1}".format(args.TYPE, name) return new_course elif args.TYPE == 'roster': if args.mode == 'gui': print "not yet" else: new_roster = Roster.Roster(name=name) new_roster._save(name) print "created {0}/{1}".format(args.TYPE, name) return new_roster else: print "not yet"
def signIn(self): checkJID = self.jid.split('@') print checkJID[0] print checkJID[1] if checkJID[1] == "gmail.com" or checkJID[1] == "jabber.sfu.ca": self.port = 5223 print self.port if self.port == None: #self.jid = xmpp.protocol.JID(self.jid) self.client = xmpp.Client(checkJID[1],debug = []) if self.client.connect() == "": print "connect error" return False if self.client.auth(checkJID[0],self.pwd) == None: print "auth error" return False else: if checkJID[1] == "gmail.com": temp_ = "talk.google.com" else: temp_ = checkJID[1] self.client = xmpp.Client(checkJID[1],debug = []) if self.client.connect(server=(temp_,self.port)) == "": print "connect error" return False if self.client.auth(checkJID[0],self.pwd) == None: print "auth error" return False """checkJID = self.jid.split('@') if checkJID[1] == 'jabber.org': #sets jabber ID self.jid = xmpp.protocol.JID(self.jid) #Creates a client self.client = xmpp.Client(self.jid.getDomain(), debug = []) if self.client.connect() == "": #print "not connected" return False if self.client.auth(self.jid.getNode(), self.pwd) == None: #print "authentication failed" #print self.pwd #print self.jid return False elif checkJID[1] == 'jabber.sfu.ca': #Creates a client self.client = xmpp.Client('jabber.sfu.ca', 5223 , debug = []) if self.client.connect() == "": #print "not connected" return False if self.client.auth(checkJID[0], self.pwd) == None: #print "authentication failed" #print self.pwd #print self.jid return False elif checkJID[1] == 'gmail.com': self.client = xmpp.Client('gmail.com', 5223 , debug = []) if self.client.connect(server = ('talk.google.com',5223)) == "": #print "not connected" return False if self.client.auth(checkJID[0], self.pwd) == None: #print "authentication failed" #print self.pwd #print self.jid return False""" #Shows server client is online self.client.sendInitPresence() self.roster = Roster.Roster(self.client) self.roster.start() self.roster.getContactList() #must do this QtCore.QObject.connect(self.roster,QtCore.SIGNAL("buddyRequest"),self.buddyRequest) self.vcard = VcardThread.VcardThread(self.client) self.vcard.start() self.vcard.startAvatars() QtCore.QObject.connect(self.vcard,QtCore.SIGNAL("avatarsDone"),self.returnAvatars) #time.sleep(5) self.receiveThread = ReceiveMessage.ReceiveMessage(self.client,self.contactList()) self.receiveThread.start() self.presence = xmpp.protocol.Presence() QtCore.QObject.connect(self.receiveThread,QtCore.SIGNAL("message"),self.receiveMessage) self.statusCheck = JabberContacts.JabberContacts(self.client) self.statusCheck.start() QtCore.QObject.connect(self.statusCheck,QtCore.SIGNAL("updateBuddyStatus"),self.updateBuddies) return True
unitDirection = ray.direction.unit() t = (unitDirection.y + 1.0) / 2 return Vector3(1.0, 1.0, 1.0) * (1.0 - t) + Vector3(0.1, 0.2, 0.8) * t frames = 1 width = 600 height = 600 samples = 2 pic = Picture(width, height * frames) check = Checker(Vector3(0.0, 0.0, 0.3), Vector3(0.9, 0.9, 0.8)) gold = Colour(Vector3(0.8, 0.6, 0.4)) blue = Colour(Vector3(0.8, 0.3, 0.3)) roster = Roster() brick = Lambert(blue) grass = Lambert(check) mirror = Metal(gold) roster.add(Sphere(brick, Vector3(0.0, 0.0, 0.0), 0.5)) roster.add(Sphere(grass, Vector3(0.0, -100.5, 0.0), 100.0)) roster.add(Sphere(mirror, Vector3(1.0, 0.0, 0.0), 0.5)) roster.add(Sphere(mirror, Vector3(-1.0, 0.0, 0.0), 0.5)) for f in range(frames): eye = Eye(Vector3(2.0, 0.0 + float(f) * 0.5, 10.0), Vector3(0.0, 0.0, -1.0), Vector3(0.0, 1.0, 0.0), math.pi / 2, float(width) / float(height)) for x in range(width): for y in range(height):