Exemplo n.º 1
0
def installSpace(space):
    from models import core
    import simplejson as json
    fh = open(os.path.join("spaces", space, "attrs.json"))
    data = json.loads(fh.read())
    data["type"] = "space"
    db = core.connect()
    if db.get(space):
        del db[space]
    db[space] = data
Exemplo n.º 2
0
def installSpace(space):
    from models import core
    import simplejson as json
    fh = open(os.path.join("spaces", space, "attrs.json"))
    data = json.loads(fh.read())
    data["type"] = "space"
    db = core.connect()
    if db.get(space):
        del db[space]
    db[space] = data
Exemplo n.º 3
0
 def index(self):
     """
     Serves the status page for developers.
     """
     import models.core
     t = Template(filename="html/index.mako", lookup=lookup)
     try:
         server = core.sharedServer()
         server.version
     except Exception:
         return self.statusPage(status="err", details="couchdb")
     try:
         db = core.connect()
         db["_design/users"]
     except:
         return self.statusPage(status="err", details="initdb")
     return self.statusPage()
Exemplo n.º 4
0
def sync(createAdmin=True):
    import models.core as core
    from models.ssuser import SSUser
    from models.shift import Shift
    from models.group import Group
    from models.permission import Permission
    from models.comment import Comment
    from models.favorite import Favorite
    from models.follow import Follow
    from models.message import Message
    Lucene = core.lucene()

    # master ---------------------------------
    master = core.connect("shiftspace/master")

    if createAdmin and not master.get("admins"):
        master["admins"] = adminDoc
        master["shiftspace"] = adminUser

    installDefaultSpaces()

    AutocompleteByUser.sync(master)
    AutocompleteByGroup.sync(master)
    AutocompleteByTag.sync(master)
    Spaces.sync(master)

    SSUser.all.sync(master)
    SSUser.all_by_joined.sync(master)
    SSUser.by_name.sync(master)

    Follow.following_by_created.sync(master)
    Follow.following_count.sync(master)
    Follow.followers_by_created.sync(master)
    Follow.followers_count.sync(master)

    Group.all.sync(master)
    Group.by_short_name.sync(master)
    Group.by_long_name.sync(master)
    Group.by_visible_and_created.sync(master)

    Permission.all_members.sync(master)
    Permission.member_count.sync(master)
    Permission.admins.sync(master)
    Permission.admin_count.sync(master)
    Permission.by_user.sync(master)
    Permission.by_group.sync(master)
    Permission.is_member.sync(master)
    Permission.by_user_and_group.sync(master)
    Permission.readable_by_user_and_created.sync(master)
    Permission.by_joinable.sync(master)
    Permission.by_readable.sync(master)
    Permission.by_writeable.sync(master)
    Permission.by_adminable.sync(master)

    Lucene.users.sync(master)

    # shared ---------------------------------
    shared = core.connect("shiftspace/shared")
    SpaceStats.sync(shared)
    SpaceByUserStats.sync(shared)

    Message.count_by_user.sync(shared)
    Message.system_count.sync(shared)
    Message.read_count_by_user.sync(shared)

    Shift.all.sync(shared)
    Shift.by_user_and_created.sync(shared)
    Shift.count_by_user_and_published.sync(shared)
    Shift.count_by_domain.sync(shared)

    Group.shift_count.sync(shared)

    Comment.count_by_shift.sync(shared)
    Comment.by_user_and_created.sync(shared)

    Favorite.by_user_and_created.sync(shared)
    Favorite.count_by_shift.sync(shared)

    Lucene.shifts.sync(shared)
    Lucene.groups.sync(shared)
    Lucene.messages.sync(shared)
    Lucene.comments.sync(shared)

    print "Databases sync'ed"
Exemplo n.º 5
0
def sync(createAdmin=True):
    import models.core as core
    from models.ssuser import SSUser
    from models.shift import Shift
    from models.group import Group
    from models.permission import Permission
    from models.comment import Comment
    from models.favorite import Favorite
    from models.follow import Follow
    from models.message import Message
    Lucene = core.lucene()

    # master ---------------------------------
    master = core.connect("shiftspace/master")
    
    if createAdmin and not master.get("admins"):
        master["admins"] = adminDoc
        master["shiftspace"] = adminUser

    installDefaultSpaces()

    AutocompleteByUser.sync(master)
    AutocompleteByGroup.sync(master)
    AutocompleteByTag.sync(master)
    Spaces.sync(master)

    SSUser.all.sync(master)
    SSUser.all_by_joined.sync(master)
    SSUser.by_name.sync(master)

    Follow.following_by_created.sync(master)
    Follow.following_count.sync(master)
    Follow.followers_by_created.sync(master)
    Follow.followers_count.sync(master)

    Group.all.sync(master)
    Group.by_short_name.sync(master)
    Group.by_long_name.sync(master)
    Group.by_visible_and_created.sync(master)

    Permission.all_members.sync(master)
    Permission.member_count.sync(master)
    Permission.admins.sync(master)
    Permission.admin_count.sync(master)
    Permission.by_user.sync(master)
    Permission.by_group.sync(master)
    Permission.is_member.sync(master)
    Permission.by_user_and_group.sync(master)
    Permission.readable_by_user_and_created.sync(master)
    Permission.by_joinable.sync(master)
    Permission.by_readable.sync(master)
    Permission.by_writeable.sync(master)
    Permission.by_adminable.sync(master)

    Lucene.users.sync(master)
    
    # shared ---------------------------------
    shared = core.connect("shiftspace/shared")
    SpaceStats.sync(shared)
    SpaceByUserStats.sync(shared)

    Message.count_by_user.sync(shared)
    Message.system_count.sync(shared)
    Message.read_count_by_user.sync(shared)
    
    Shift.all.sync(shared)
    Shift.by_user_and_created.sync(shared)
    Shift.count_by_user_and_published.sync(shared)
    Shift.count_by_domain.sync(shared)

    Group.shift_count.sync(shared)
    
    Comment.count_by_shift.sync(shared)
    Comment.by_user_and_created.sync(shared)
    
    Favorite.by_user_and_created.sync(shared)
    Favorite.count_by_shift.sync(shared)
    
    Lucene.shifts.sync(shared)
    Lucene.groups.sync(shared)
    Lucene.messages.sync(shared)
    Lucene.comments.sync(shared)
    
    print "Databases sync'ed"