Example #1
0
def tag_picture(picture_name, tag_person=None):
    if len(request.args.viewkeys()) > 0:
        if "all" in request.args:
            database.alter_picture(g.db, picture_name, public=True)
        else:
            database.alter_picture(g.db, picture_name, public=False)
        if "persons" in request.args:
            old_persons = set(map(lambda x: x["name"], database.get_all_persons_on_picture(g.db, picture_name)))
            new_persons = set(filter(lambda x: len(x)>0, map(lambda x: x.strip(), request.args["persons"].splitlines())))
            added_persons = new_persons - old_persons
            deleted_persons = old_persons - new_persons
            for person in added_persons:
                database.add_person(g.db, person)
                database.connect_person_with_picture(g.db, picture_name, person)
            for person in deleted_persons:
                database.unconnect_person_from_picture(g.db, picture_name, person)
                if len(database.get_all_pictures_of_a_person(g.db, person)) < 1:
                    database.delete_person(g.db, person)
        if "action" in request.args:
            prev, next = database.get_prev_and_next_picture_name(g.db, picture_name, tag_person)
            new_name = picture_name
            if request.args["action"] == "next":
                new_name = next
            if request.args["action"] == "prev":
                new_name = prev
            if new_name is None:
                if tag_person is not None:
                    return redirect("/private-pictures/"+str(tag_person))
                else:
                    return redirect("/tag")
            if tag_person is not None:
                return redirect("/tag/"+str(tag_person)+"/"+new_name)
            else:
                return redirect("/tag/"+new_name)

    stored_picture_data = database.get_picture_data(g.db, picture_name)
    persons_on_picture = map(lambda x: x["name"], database.get_all_persons_on_picture(g.db, picture_name))
    return render_template("tag.html",
                           picture_path = os.path.join("/pictures", picture_name),
                           picture_name = picture_name,
                           checked=stored_picture_data["public_viewable"],
                           persons = "\n".join(persons_on_picture)
                           )
Example #2
0
def person():
    if request.method == "POST":
        person = json.loads(request.data)
        db_person = db.add_person(person["Name"], person["Priority"])
        return json.dumps(db_person), 201, json_content
    elif request.method == "GET":
        people = db.get_people()
        return json.dumps(people), 200, json_content
    elif request.method == "DELETE":
        person = json.loads(request.data)
        db_person = db.delete_person(person["Name"])
        return json.dumps(db_person), json_content
Example #3
0
 def eliminar(self, id=None):
     if database.connect('start_thread'):
         database.delete_person(id)
         raise cherrypy.HTTPRedirect('/')
Example #4
0
	def eliminar(self, id=None):
		if database.connect('start_thread'):
			database.delete_person(id)
			raise cherrypy.HTTPRedirect('/')