def get(self): self.response.headers["Content-Type"] = "text/html" user_id = self.request.GET.get("user_id") otheruserprofile = True follow_text = "Follow" if user_id != None: myuser_key = ndb.Key("MyUser", user_id) myuser = myuser_key.get() tweets = Tweet.query(Tweet.user_id == myuser.key.id()).fetch(50) if user_id == str(Services().get_login_user().key.id()): otheruserprofile = False if user_id in Services().get_login_user().user_following: follow_text = "Unfollow" template_values = { "myuser": myuser, "tweets": tweets, "follow": follow_text, "otheruserprofile": otheruserprofile } template = JINJA_ENVIRONMENT.get_template("editprofile.html") self.response.write(template.render(template_values))
def post(self): self.response.headers["Content-Type"] = "text/html" share_text = self.request.get("share_text") share_image = self.request.get("share_image") if share_text != None or share_text != "": share_type = self.request.get("share_type") if share_type == "Update": edit_tweet_id = self.request.get("edit_tweet_id") edit_tweet = Services().get_tweet(tweet_id=edit_tweet_id) edit_tweet.share_text = share_text edit_tweet.put() else: myuser = Services().get_login_user() tweet = Tweet(share_text=share_text, user_id=myuser.key.id(), user_name=myuser.user_name, time=datetime.datetime.now()) tweet.put() myuser.tweet_ids.append(tweet.key.id()) myuser.put() self.redirect("/")
def test_disciplines_with_grades(self): services = Services() repo = services.repository services = Services() repo = services.repository services.add(["student", "1", "stud 1"]) services.add(["student", "2", "stud 2"]) services.add(["student", "3", "stud 3"]) services.add(["discipline", "1", "discipline 1"]) services.add(["discipline", "2", "discipline 2"]) self.assertEqual(repo.get_students_count(), 3) self.assertEqual(repo.get_disciplines_count(), 2) self.assertRaises(Exception, lambda: services.see_grades()) services.grade(["1", "1", "10"]) services.grade(["2", "1", "10"]) services.grade(["2", "1", "1"]) services.grade(["2", "1", "4"]) services.grade(["2", "2", "5"]) services.grade(["3", "1", "1"]) services.grade(["3", "1", "2"]) services.grade(["3", "1", "3"]) services.grade(["3", "1", "4"]) services.grade(["3", "2", "5"]) self.assertEqual(repo.get_grades_count(), 10) self.assertIn("\n", services.see_grades())
def post(self): self.response.headers["Content-Type"] = "text/html" file = self.request.get("textfile") openFile = open(file) readLine = openFile.readline() while readLine: text_word = (readLine.strip('\n\r')).lower() sorted_key = Services().sorted_key(word=text_word) list_word = Anagram.query() list_word = list_word.filter( Anagram.anagram_key == sorted_key, Anagram.user_id == Services().get_current_user_id()) list_word = list_word.fetch() valid_permutation = Services().validpermutations(text=sorted_key) if len(valid_permutation) > 0: if len(list_word) > 0: anagram = list_word[0] if text_word not in anagram.inputed_words: inputed_words = anagram.inputed_words inputed_words.append(text_word) anagram.inputed_words = inputed_words anagram.inputed_words_count = anagram.inputed_words_count + 1 anagram.put() else: new_anagram = Anagram( anagram_key=sorted_key, anagram_words=Services().possiblepermutations( text=sorted_key), inputed_words=[text_word], inputed_words_count=1, word_length=len(text_word), user_id=Services().get_current_user_id()) new_anagram.put() readLine = openFile.readline() openFile.close() message = "Upload completed" template_values = {'message': message} template = JINJA_ENVIRONMENT.get_template("importdata.html") self.response.write(template.render(template_values))
def toRDF(self): """ Print a message into RDF in XML format """ #rdf graph store = Graph() #namespaces from namespaces import SWAML, RDFS, FOAF store.bind('swaml', SWAML) store.bind('foaf', FOAF) store.bind('rdfs', RDFS) #message node message = URIRef(self.getUri()) store.add((message, RDF.type, SWAML["Message"])) try: #sender sender = BNode() store.add((message, SWAML["sender"], sender)) store.add((sender, RDF.type, FOAF["Person"])) name = self.getFromName() if (len(name) > 0): store.add((sender, FOAF["name"], Literal(name))) mail = self.getFromMail() store.add((sender, FOAF["mbox_sha1sum"], Literal(Services().getShaMail(mail)))) foafResource = Services().getFoaf(mail) if (foafResource != None): store.add((sender, RDFS["seeAlso"], URIRef(foafResource))) #mail details store.add((message, SWAML['id'], Literal(self.getSwamlId()))) store.add((message, SWAML['to'], Literal(self.getTo()))) store.add((message, SWAML['subject'], Literal(self.getSubject()))) store.add((message, SWAML['date'], Literal(self.getDate()))) store.add( (message, SWAML['inReplyTo'], Literal(self.getInReplyTo()))) #store.add((message, SWAML['body'], Literal(self.getBody()))) store.add((message, SWAML['body'], Literal(u'FIXME'))) except UnicodeDecodeError, detail: print 'Error proccesing message ' + str( self.getId()) + ': ' + str(detail)
def post(self): self.response.headers["Content-Type"] = "text/html" if self.request.get("addword") == "Add Word": user_word = self.request.get("word").lower() if Services().get_current_user() == None or user_word == None or user_word == "" : self.redirect("/addword") return current_user_id = Services().get_current_user_id() sorted_key = Services().sorted_key(word =user_word) list_word = Anagram.query() list_word = list_word.filter(Anagram.anagram_key == sorted_key,Anagram.user_id == current_user_id) list_word = list_word.fetch() valid_permutation = Services().validpermutations(text=sorted_key) if len(valid_permutation) == 0: self.redirect("/addword") return if len(list_word) > 0: anagram = list_word[0] if user_word in anagram.inputed_words: self.redirect("/addword") return inputed_words = anagram.inputed_words inputed_words.append(user_word) anagram.inputed_words = inputed_words anagram.inputed_words_count = anagram.inputed_words_count + 1 anagram.put() else: new_anagram = Anagram(anagram_key=sorted_key, anagram_words = Services().possiblepermutations(text=sorted_key), inputed_words = [user_word], inputed_words_count = 1, word_length = len(user_word), user_id = current_user_id) new_anagram.put() self.redirect("/")
def __init__(self, token): self.device = Device(token) self.analysis = Analysis(analysis, token) self.account = Account(token) self.services = Services(token) # Token here corresponds to Third Party API_KEY self.extra = Extra(token)
def test_grade(self): services = Services() repo = services.repository services.add(["student", "1", "stud 1"]) services.add(["discipline", "1", "discipline 1"]) self.assertEqual(repo.get_students_count(), 1) self.assertEqual(repo.get_disciplines_count(), 1) self.assertRaises(Exception, lambda: services.grade([])) self.assertRaises(Exception, lambda: services.grade(["", "", ""])) self.assertRaises(Exception, lambda: services.grade(["abc", "abc", "abc"])) self.assertRaises(Exception, lambda: services.grade(["0", "abc", "abc"])) self.assertRaises(Exception, lambda: services.grade(["1", "abc", "abc"])) self.assertRaises(Exception, lambda: services.grade(["1", "0", "abc"])) self.assertRaises(Exception, lambda: services.grade(["1", "1", "abc"])) self.assertRaises(Exception, lambda: services.grade(["1", "1", "0"])) self.assertRaises(Exception, lambda: services.grade(["1", "1", "11"])) services.grade(["1", "1", "1"]) services.grade(["1", "1", "10"]) services.grade(["1", "1", "5"]) self.assertEqual(repo.get_grades_count(), 3)
def gen_services(options): return Services(seed=int(options.seed), number=int(options.num_services), time=list(map(int, options.ss.split(','))), duration_min=list(map(int, options.sd.split(','))), duration_km=list(map(int, options.skm.split(','))), num_passangers=list(map(int, options.sp.split(','))))
def test_add_discipline(self): services = Services() repo = services.repository self.assertRaises(Exception, lambda: services.add([])) self.assertRaises(Exception, lambda: services.add(["", "", ""])) self.assertRaises(Exception, lambda: services.add(["abc", "abc", "abc"])) self.assertRaises(Exception, lambda: services.add(["discipline", "abc", "abc"])) self.assertRaises(Exception, lambda: services.add(["discipline", "0", "abc"])) services.add(["discipline", "0", "test"]) discipline1 = repo.get_discipline(0) self.assertEqual(discipline1.id, 0) self.assertEqual(discipline1.name, "test") self.assertEqual(repo.get_disciplines_count(), 1) self.assertRaises(Exception, lambda: services.add(["discipline", "0", "testing"])) services.add(["discipline", "1", "test"]) discipline2 = repo.get_discipline(1) self.assertEqual(discipline2.id, 1) self.assertEqual(discipline2.name, "test") self.assertEqual(repo.get_disciplines_count(), 2) self.assertNotEqual(discipline1, discipline2)
def test_update_discipline(self): services = Services() repo = services.repository services.add(["discipline", "1", "discipline test"]) self.assertEqual(repo.get_disciplines_count(), 1) discipline = repo.get_discipline(1) self.assertEqual(discipline.id, 1) self.assertEqual(discipline.name, "discipline test") self.assertRaises(Exception, lambda: services.update([])) self.assertRaises(Exception, lambda: services.update(["", "", ""])) self.assertRaises(Exception, lambda: services.update(["abc", "abc", "abc"])) self.assertRaises( Exception, lambda: services.update(["discipline", "abc", "abc"])) self.assertRaises(Exception, lambda: services.update(["discipline", "0", "abc"])) self.assertRaises(Exception, lambda: services.update(["discipline", "1", "abc"])) services.update(["discipline", "1", "test"]) self.assertEqual(discipline.id, 1) self.assertEqual(discipline.name, "test") self.assertEqual(repo.get_disciplines_count(), 1)
def __init__(self, name, mail): """Subscriber constructor""" self.__class__.id += 1 self.setName(name) self.setMail(mail) self.setFoaf(Services().getFoaf(mail)) self.mails = []
def test_address_not_existent(self): test_services = Services(True) test_services.drivers.data.append(Driver("Ion", 10, 10)) self.assertRaises( Exception, lambda: test_services.get_closest_drivers_for_address("test"))
def test_add_student(self): services = Services() repo = services.repository self.assertRaises(Exception, lambda: services.add([])) self.assertRaises(Exception, lambda: services.add(["", "", ""])) self.assertRaises(Exception, lambda: services.add(["abc", "abc", "abc"])) self.assertRaises(Exception, lambda: services.add(["student", "abc", "abc"])) self.assertRaises(Exception, lambda: services.add(["student", "0", "abc"])) services.add(["student", "0", "test"]) student1 = repo.get_student(0) self.assertEqual(student1.id, 0) self.assertEqual(student1.name, "test") self.assertEqual(repo.get_students_count(), 1) self.assertRaises(Exception, lambda: services.add(["student", "0", "testing"])) services.add(["student", "1", "test"]) student2 = repo.get_student(1) self.assertEqual(student2.id, 1) self.assertEqual(student2.name, "test") self.assertEqual(repo.get_students_count(), 2) self.assertNotEqual(student1, student2)
def test_update_student(self): services = Services() repo = services.repository services.add(["student", "1", "student test"]) self.assertEqual(repo.get_students_count(), 1) student = repo.get_student(1) self.assertEqual(student.id, 1) self.assertEqual(student.name, "student test") self.assertRaises(Exception, lambda: services.update([])) self.assertRaises(Exception, lambda: services.update(["", "", ""])) self.assertRaises(Exception, lambda: services.update(["abc", "abc", "abc"])) self.assertRaises(Exception, lambda: services.update(["student", "abc", "abc"])) self.assertRaises(Exception, lambda: services.update(["student", "0", "abc"])) self.assertRaises(Exception, lambda: services.update(["student", "1", "abc"])) services.update(["student", "1", "test"]) self.assertEqual(student.id, 1) self.assertEqual(student.name, "test") self.assertEqual(repo.get_students_count(), 1)
def run_filter_above_test(): expenses = [] services = Services(expenses) try: services.filter_above([""]) assert False except: assert True try: services.filter_above(["abc"]) assert False except: assert True services.filter_above(["0"]) services.add(["8", "4", "transport"]) assert len(expenses) == 1 services.add(["7", "2", "transport"]) assert len(expenses) == 2 services.add(["6", "1", "transport"]) assert len(expenses) == 3 services.add(["5", "2", "cloathing"]) assert len(expenses) == 4 services.filter_above(["1"]) assert len(expenses) == 3
def test_remove_student(self): services = Services() repo = services.repository services.add(["discipline", "0", "discipline test"]) services.add(["student", "1", "student 1 test"]) services.add(["student", "2", "student 2 test"]) services.grade(["1", "0", "10"]) services.grade(["1", "0", "6"]) services.grade(["2", "0", "9"]) services.grade(["2", "0", "7"]) services.grade(["2", "0", "8"]) self.assertEqual(repo.get_students_count(), 2) self.assertEqual(repo.get_disciplines_count(), 1) self.assertEqual(repo.get_grades_count(), 5) self.assertRaises(Exception, lambda: services.remove([])) self.assertRaises(Exception, lambda: services.remove(["", ""])) self.assertRaises(Exception, lambda: services.remove(["abc", "abc"])) self.assertRaises(Exception, lambda: services.remove(["student", "abc"])) self.assertRaises(Exception, lambda: services.remove(["student", "0"])) services.remove(["student", "2"]) self.assertEqual(repo.get_students_count(), 1) self.assertEqual(repo.get_disciplines_count(), 1) self.assertEqual(repo.get_grades_count(), 2) self.assertRaises(Exception, lambda: services.remove(["student", "2"]))
def test_preload(self): services = Services() repo = services.repository services.preload_list() self.assertEqual(repo.get_students_count(), 10) self.assertEqual(repo.get_disciplines_count(), 10) self.assertEqual(repo.get_grades_count(), 10)
def post(self): self.response.headers["Content-Type"] = "text/html" user_id = self.request.get("user_id") if self.request.get("update_user") == "Update": if self.request.get("date") == "" or user_id == "": self.redirect("/editprofile") return myuser = Services().get_login_user() user_first_name = self.request.get("user_first_name") user_last_name = self.request.get("user_last_name") dob = datetime.strptime(self.request.get("date"), '%Y-%m-%d') myuser.first_name = user_first_name myuser.last_name = user_last_name myuser.dob = dob myuser.put() self.redirect("/") elif self.request.get("follow_user") == "Follow" or self.request.get( "follow_user") == "Unfollow": myuser = Services().get_login_user() if self.request.get("follow_user") == "Follow": myuser.user_following.append(user_id) else: user_following = myuser.user_following user_following.remove(user_id) myuser.user_following = user_following myuser.put() self.redirect("/editprofile?user_id={}".format(user_id)) if self.request.get("cancel"): self.redirect("/")
def __init__(self, driver): self.driver = driver self.services = Services(self.driver) self.createapp_xpath = '// *[ @ id = "link-create"]' self.start_xpath = '//*[@id="intro-dialog-cont"]/div[2]/button' self.newpage_xpath = '//*[@id="add-page"]' self.entername_xpath = '//*[@id="create-dialog"]/form/p/input' self.text = "TEST" self.createbutton_xpath = '/html/body/div[20]/div[3]/button[1]' self.clicknewpage_xpath = '//*[@id="accordion"]/h3[4]/a'
def get(self): self.response.headers["Content-Type"] = "text/html" inputed_word = self.request.GET.get("input_word") sorted_key = Services().sorted_key(word=inputed_word) list_sorted_keys = [] anagram_query = Anagram.query( Anagram.user_id == Services().get_current_user_id()) possible_combination_key = Services().possibleAllCountPermutations( text=sorted_key) anagram_models = [] for word in possible_combination_key: query = anagram_query.filter(Anagram.anagram_key == word).fetch( projection=[Anagram.inputed_words]) if len(query) > 0: for anagram in query: anagram_models.extend(anagram.inputed_words) dictionary_words = {} for word in anagram_models: if len(word) in dictionary_words: dict_words = dictionary_words[len(word)] dict_words.append(word) dictionary_words[len(word)] = dict_words else: dictionary_words[len(word)] = [word] template_values = { "inputword": inputed_word, "dictionary_words": dictionary_words } template = JINJA_ENVIRONMENT.get_template("subanagram.html") self.response.write(template.render(template_values))
def get(self): self.response.headers["Content-Type"] = "text/html" user = Services().get_current_user() word_model = Anagram.query() anagram_model = None if user: url = users.create_logout_url(self.request.uri) myuser_key = ndb.Key("MyUser", Services().get_current_user_id()) myuser = myuser_key.get() if myuser == None: myuser = MyUser(id=user.user_id()) myuser.put() anagram_query = Anagram.query(Anagram.user_id == Services().get_current_user_id()) inputed_word = self.request.get("input_word").lower() if len(inputed_word) > 0: if self.request.GET.get("search") == "Search Word": anagram_query = anagram_query.filter(Anagram.inputed_words.IN([inputed_word])) anagram_model = anagram_query.fetch() else: url = users.create_login_url(self.request.uri) template_values = { "url": url, "user": user, "anagram_model":anagram_model } template = JINJA_ENVIRONMENT.get_template("main.html") self.response.write(template.render(template_values))
def test_student(self): stud= StudentsRepo() assig= AssignmentRepo() grade= GradeRepo() serv=Services(stud,assig,grade) auxlist = serv.students.Get_list() serv.add_new_student("Filip",912) self.assertTrue(auxlist[0].get_name() == "Filip" and auxlist[0].get_group() == 912) serv.add_new_student("Adi",913) #TEST FOR THE ADD FUNCTION self.assertTrue(auxlist[1].get_name() == "Adi" and auxlist[1].get_group() == 913) serv.remove_the_students(913,None) # TEST FOR THE REMOVE FUNCTION self.assertTrue(auxlist[1] == None) serv.find_update_person(0,"Adi",914,"3") self.assertTrue(auxlist[0].get_name() == "Adi" and auxlist[0].get_group() == 914)
def test_assignment(self): stud = StudentsRepo() assig = AssignmentRepo() grade = GradeRepo() serv = Services(stud, assig, grade) auxlist = serv.assignments.Get_list() serv.add_new_assignment("Stay",12) self.assertTrue(auxlist[0].get_description() == "Stay" and auxlist[0].get_deadline() == 12) serv.add_new_assignment("Walk",9) self.assertTrue(auxlist[1].get_description() == "Walk" and auxlist[1].get_deadline() == 9) serv.remove_the_assignment("Walk",None) self.assertTrue(auxlist[1] == None) serv.find_update_assignment("1",0,"Eat",8) self.assertTrue(auxlist[0].get_description() == "Eat" and auxlist[0].get_deadline() == 12)
def post(self): blobinfo = None if len(self.get_uploads()) > 0: upload_file = self.get_uploads()[0] blobinfo = blobstore.BlobInfo(upload_file.key()) share_text = self.request.get("share_text") share_type = self.request.get("share_type") if share_type == "Update": edit_tweet_id = self.request.get("edit_tweet_id") edit_tweet = Services().get_tweet(tweet_id=edit_tweet_id) edit_tweet.share_text = share_text edit_tweet.time = datetime.datetime.now() if blobinfo != None: edit_tweet.avatar = upload_file.key() edit_tweet.put() else: myuser = Services().get_login_user() tweet = Tweet(share_text=share_text, user_id=myuser.key.id(), user_name=myuser.user_name, time=datetime.datetime.now()) if blobinfo != None: tweet.avatar = upload_file.key() tweet.put() myuser.tweet_ids.append(tweet.key.id()) myuser.put() self.redirect("/")
def run_add_test(): expenses = [] services = Services(expenses) try: services.add(["", "", ""]) assert False except: assert True assert len(expenses) == 0 try: services.add(["abc", "abc", "abc"]) assert False except: assert True assert len(expenses) == 0 try: services.add(["0", "0", "abc"]) assert False except: assert True assert len(expenses) == 0 try: services.add(["32", "abc", "abc"]) assert False except: assert True assert len(expenses) == 0 try: services.add(["30", "abc", "abc"]) assert False except: assert True assert len(expenses) == 0 services.add(["28", "64", "food"]) assert len(expenses) == 1 expense = expenses[0] assert expense.cost == 64 assert expense.category == "food" assert expense.day == 28
def index(): s = Services('http://www.ipma.pt') placeRef = flask.request.args.get('placeRef') if placeRef: w = s.get_place_weather(1) if w is None: flask.abort(404) # not found else: selectedPlace = PlaceWeather("some-description", w) else: selectedPlace = None places = Services.placeMap.values() rvalue = flask.render_template('index.jinja', places=places, selectedPlace=selectedPlace) return rvalue
def test_search(self): services = Services() repo = services.repository services.add(["student", "1", "stud 1"]) services.add(["student", "2", "stud 2"]) services.add(["discipline", "1", "discipline"]) self.assertEqual(repo.get_students_count(), 2) self.assertEqual(repo.get_disciplines_count(), 1) self.assertRaises(Exception, lambda: services.search([])) self.assertRaises(Exception, lambda: services.search([""])) self.assertRaises(Exception, lambda: services.search(["magic"])) self.assertNotIn('|', services.search(["stud"])) self.assertIn('|', services.search(["1"]))
def __init__(self, templatelookup, test, filedir): self.templatelookup = templatelookup self.test = test # Allocate objects for all of the control panel's main features. self.traffic = NetworkTraffic(filedir, templatelookup) self.network = NetworkConfiguration(templatelookup, test) self.mesh = MeshConfiguration(templatelookup, test) self.services = Services(templatelookup, test) self.gateways = Gateways(templatelookup, test) # Location of the network.sqlite database, which holds the configuration # of every network interface in the node. if test: # self.netconfdb = '/home/drwho/network.sqlite' self.netconfdb = 'var/db/controlpanel/network.sqlite' logging.debug("Location of NetworkConfiguration.netconfdb: %s", self.netconfdb) else: self.netconfdb = '/var/db/controlpanel/network.sqlite'
def setup(): """Setup the main application and the web server tree. Steps: 1. Set global Engine configuration. 2. Mount the applications on the tree. 3. Set additional configuration for services app. Note that HTTP configuration is set when importing from lib. """ confDir = os.path.join(APP_DIR, 'etc') engineConfPath = os.path.join(confDir, 'engine.conf') rootApp = cherrypy.tree.mount(Root(), '/', config=engineConfPath) servicesApp = cherrypy.tree.mount(Services(), '/services') for s in ['services.conf', 'services.local.conf']: sPath = os.path.join(confDir, s) if os.access(sPath, os.R_OK): servicesApp.merge(sPath)