Exemplo n.º 1
0
    def __init__(self, mysqldb, mongodb, f=None):
        self.db = mysqldb
        self.p = Profile(self.db)
        self.i = ProfileImages(self.db, f)
        self.f = Friends(self.db, f)
        self.bu = BadgesUsers(self.db, f)
        self.s = Status(mongodb)

        conf = confegg.get_config()
        self.images_path = conf['env']['static_url_path'] + conf['images'][
            'images_root']
Exemplo n.º 2
0
class Recommended(Document):
    __database__ = confegg.get_config()['mongo']['database']
    __collection__ = "recommended"

    structure = {
        "user_id": int,
        "recommended": [{
            "user_id": int,
            "score": float,
        }]
    }

    required_fields = ['user_id']
    use_schemaless = True
Exemplo n.º 3
0
class StatusModel(Document):
    __database__ = confegg.get_config()['mongo']['database']
    __collection__ = "status"
    
    structure = {
        "user_id": int,
        "statuses": [ {
            "status_id": int,
            "status": unicode,
            "datetime": datetime.datetime,
        } ],
        "last_status_id": int,
        "last_status": unicode,
        "last_status_datetime": datetime.datetime,
    }

    required_fields = [ 'user_id' ]
    use_schemaless = True
Exemplo n.º 4
0
class Basket(Document):
    __database__ = confegg.get_config()['mongo']['database']
    __collection__ = "baskets"

    structure = {
        "user_id":
        int,
        "baskets": [{
            "basket_id": int,
            "basket_name": unicode,
            "basket_order_id": int,
            "users": [{
                "user_id": int,
                "user_order_id": int,
            }],
        }]
    }

    required_fields = ['user_id']
    use_schemaless = True
Exemplo n.º 5
0
 def set_default_headers(self):
     conf = confegg.get_config()
     self.set_header('Access-Control-Allow-Origin', conf['client_url'])
     self.set_header('Access-Control-Allow-Credentials', 'true')
Exemplo n.º 6
0
        if debugconstants.eggPrivileges:
            # check privileges
            # only user can delete it's status
            if int(self.current_user) != user_id:
                self.write(egg_errors.PrivilegeException().get_json())
                return

        try:
            self.dbp.delete_status(user_id, status_id)
        except egg_errors.BaseException as e:
            self.write(e.get_json())


if __name__ == "__main__":
    conf = confegg.get_config()

    handlers = []

    conRec = mongokit.Connection(conf['mongo']['host'], conf['mongo']['port'])
    conRec.register([StatusModel])

    status_dbp = models.status.status.Status(conRec)

    handlers.extend([
        (r"/profile/([0-9]+)/status/all", GetStatusesHandler,
         dict(dbp=status_dbp)),
        (r"/profile/([0-9]+)/status/last", GetLastStatusHandler,
         dict(dbp=status_dbp)),
        (r"/profile/([0-9]+)/status/add", AddStatusHandler,
         dict(dbp=status_dbp)),
Exemplo n.º 7
0
    def __init__(self):
        conf = confegg.get_config()

        db = sqlalchemy.create_engine("mysql://" + conf['mysql']['username'] +
                                      ":" + conf['mysql']['password'] + "@" +
                                      conf['mysql']['host'] + "/" +
                                      conf['mysql']['database'])
        db.metadata = sqlalchemy.MetaData(bind=db)
        # db.echo = "debug"

        conMongo = mongokit.Connection(conf[
                                       'mongo']['host'], conf['mongo']['port'])

        handlers = []

        images_path = conf['env'][
            'static_url_path'] + conf['images']['images_root']

        logging_file = open(conf['log'][
                            'static_path'] + conf['log']['master'], "wa")

        #
        # badges
        #

        badges_path = images_path + conf['images']['badges']

        badgesusers = BadgesUsers(db, logging_file)
        badges = Badges(db, logging_file=logging_file, images_path=badges_path)

        # koristit cemo vec gotovu listu i dict jer ce se bedzevi
        # uredjivati sa zasebnim alatom u "maintenance mode"-u
        badgeslist = badges.get_badges()
        badgestree = badges.get_badges_as_tree()

        handlers.extend([
            (r"/badges", controllers.badges.GetBadgesHandler,
                dict(badges=badges, badgeslist=badgeslist,
                     badgestree=badgestree)),
            (r"/badges/tree", controllers.badges.GetBadgesTreeHandler,
                dict(badges=badges, badgeslist=badgeslist,
                     badgestree=badgestree)),
            (r"/profile/([0-9]+)/badges",
                controllers.badges.GetBadgesForUserHandler,
                dict(badgesusers=badgesusers)),
            (r"/profile/([0-9]+)/badges/([0-9]+)",
                controllers.badges.AddChangeDeleteBadgesForUserHandler,
                dict(badgesusers=badgesusers))
        ])

        #
        # baskets
        #
        conMongo.register([Basket])
        baskets_dbp = dbproxy.DbProxy(conMongo, None)

        handlers.extend([
            (r"/profile/([0-9]+)/baskets",
                controllers.baskets.GetChangeOrderBasketsHandler,
                dict(dbp=baskets_dbp)),
            (r"/profile/([0-9]+)/basket",
                controllers.baskets.AddBasketHandler,
                dict(dbp=baskets_dbp)),
            (r"/profile/([0-9]+)/basket/([0-9]+)",
                controllers.baskets.GetDelChangeOrderBasketHandler,
                dict(dbp=baskets_dbp)),
            (r"/profile/([0-9]+)/basket/([0-9]+)/([0-9]+)",
                controllers.baskets.AddDelUserFromBasketHandler,
                dict(dbp=baskets_dbp)),
        ])

        #
        # blacklist
        #
        blacklist2db = Blacklist(db, logging_file)
        # radi brzine radimo s dict-om !!!
        blacklist2dic = blacklist2db.get_all_blacklisted_as_dict()

        handlers.extend([
            (r"/profile/([0-9]+)/blacklist",
                controllers.blacklist.GetBlacklistHandler,
                dict(blacklist2db=blacklist2db, blacklist2dic=blacklist2dic)),
            (r"/profile/([0-9]+)/blacklist/([0-9]+)",
                controllers.blacklist.AddDeleteBlacklistedForUserHandler,
                dict(blacklist2db=blacklist2db, blacklist2dic=blacklist2dic)),
        ])

        #
        # friends
        #
        friends = Friends(db, logging_file)

        handlers.extend([
            (r"/profile/([0-9]+)/friends",
                controllers.friends.GetFriendsHandler,
                dict(friends=friends)),
            (r"/profile/([0-9]+)/friends/([0-9]+)",
                controllers.friends.AddDeleteFriendHandler,
                dict(friends=friends)),
            (r"/profile/([0-9]+)/friends/approve/([0-9]+)",
                controllers.friends.ApproveFriendHandler,
                dict(friends=friends)),
        ])

        #
        # images
        #
        profileimages = ProfileImages(db, logging_file)

        handlers.extend([
            (r"/profile/([0-9]+)/photos",
                controllers.images.GetAllProfileImagesHandler,
                dict(profileimages=profileimages, images_path=images_path)),
            (r"/profile/([0-9]+)/photos/friend",
                controllers.images.GetProfileImagesByTypeHandler,
                dict(profileimages=profileimages, images_path=images_path,
                     t='friend')),
            (r"/profile/([0-9]+)/photos/profile",
                controllers.images.GetProfileImagesByTypeHandler,
                dict(profileimages=profileimages, images_path=images_path,
                     t='profile')),
            (r"/profile/([0-9]+)/photos/other",
                controllers.images.GetProfileImagesByTypeHandler,
                dict(profileimages=profileimages, images_path=images_path,
                     t='other')),
            (r"" + images_path + "/(.*)",
                tornado.web.StaticFileHandler,
                {"path": conf['env']['static_path'] +
                    conf['images']['images_root']}),
        ])

        #
        # recommended
        #
        conMongo.register([Recommended])
        recommended_dbp = models.recommended.recommended.Recommended(conMongo)

        handlers.extend([
            (r"/profile/([0-9]+)/recommended/([0-9]+)/([0-9]+)",
             controllers.recommended.GetRecommendedHandler, dict(
                 dbp=recommended_dbp)),
        ])

        #
        # events
        #
        handlers.extend([
                        (r"/event/",
                            controllers.events.EventsHandler,
                            dict(db=db)),
                       (r"/event/([0-9]+)",
                           controllers.events.EventHandler,
                           dict(db=db)),
                       (r"/event/([0-9]+)/user/([0-9]+)",
                           controllers.events.EventUserHandler,
                           dict(db=db)),
                        ])

        #
        #
        #
        conMongo.register([StatusModel])
        status_dbp = models.status.status.Status(conMongo)

        handlers.extend([
            (r"/profile/([0-9]+)/status/all",
                controllers.status.GetStatusesHandler,
                dict(dbp=status_dbp)),
            (r"/profile/([0-9]+)/status/last",
                controllers.status.GetLastStatusHandler,
                dict(dbp=status_dbp)),
            (r"/profile/([0-9]+)/status/add",
                controllers.status.AddStatusHandler,
                dict(dbp=status_dbp)),
            (r"/profile/([0-9]+)/status/([0-9]+)/delete",
                controllers.status.DeleteStatusHandler,
                dict(dbp=status_dbp)),
        ])

        #
        # profiles
        #
        profiledata = ProfileData(db, conMongo, logging_file)

        handlers.extend([
            (r"/profile/", controllers.profiles.ProfilesHandler,
                dict(db=db)),
            (r"/profile/([0-9]+)", controllers.profiles.ProfileHandler,
                dict(db=db, profiledata=profiledata)),
            (r"/profile/([0-9]+)/([0-9]+)", controllers.profiles.MultiProfileHandler,
                dict(db=db, profiledata=profiledata)),
            (r"/profile/login/", controllers.profiles.LoginHandler,
                dict(db=db)),
            (r"/profile/signup/", controllers.profiles.SignupHandler,
                dict(db=db))
        ])

        settings = dict(
            debug=debugconstants.debug,
            cookie_secret=debugconstants.cookie_secret,
        )

        tornado.web.Application.__init__(self, handlers, **settings)