コード例 #1
0
def write_users_section (xml, \
    guid, name, username):

    prefix='profile/'
    user_attr=strf.uidstr(strf.urlparticipa(prefix,username))
    xml.write_open_tag("usuario",user_attr)
    
    # Write all user's information
    xml.write_tag("nome",name,'')
        
    accType=qry.user_acctype(xml.database, guid)
    xml.write_tag("tipo_perfil",accType,'')
    
    # Write a list of user friend's names
    #write_userfriends_subsection(xml, guid)
    
    # Write a list of all groups that the user owns or belongs
    write_usergroups_subsection(xml, guid)
    
    # Write a list, and all the info, of all posts made by the user
    write_userfiles_subsection(xml, guid)
    write_userblogs_subsection(xml, guid)
    write_userbookmarks_subsection(xml, guid)
    write_userpages_subsection(xml, guid)
    write_uservideos_subsection(xml, guid)
    write_userevents_subsection(xml, guid)
    
    xml.write_close_tag("usuario")
コード例 #2
0
def write_groupevents_subsection(xml, group_guid):
    group_events = xml.database.cursor()

    # 6 = select * from elgg_entity_subtypes where subtype='calendar_event';
    group_events.execute(qry.qry_group_posts, (
        group_guid,
        6,
    ))

    # 54 = select * from elgg_metastrings where string='event_calendar_enable';
    perm = qry.postcontent_permission(xml.database, group_guid, 54)

    xml.write_open_tag("eventos", strf.permstr(perm))

    for (post_guid, post_title, post_desc, \
            owner_id, owner_name, owner_username, time)\
        in group_events:

        # 18 = select * from elgg_metastrings where string='venue';
        venue = qry.post_content(xml.database, post_guid, 18)

        # 20 = select * from elgg_metastrings where string='start_date';
        time_start = qry.post_content(xml.database, post_guid, 20)

        # 22 = select * from elgg_metastrings where string='end_date';
        time_end = qry.post_content(xml.database, post_guid, 22)

        # 26 = select * from elgg_metastrings where string='fees';
        fees = qry.post_content(xml.database, post_guid, 26)

        # 28 = select * from elgg_metastrings where string='contact';
        contact = qry.post_content(xml.database, post_guid, 28)

        # 30 = select * from elgg_metastrings where string='organizer';
        organizer = qry.post_content(xml.database, post_guid, 30)

        prefix = 'event_calendar/view/'
        post_attr = strf.pidstr(strf.urlparticipa(prefix, str(post_guid)))
        xml.write_open_tag("evento", post_attr)

        prefix = 'profile/'
        owner_attr = strf.uidstr(strf.urlparticipa(prefix, owner_username))
        xml.write_tag("autor", owner_name, owner_attr)
        xml.write_tag("titulo", post_title, '')
        xml.write_tag("data", strf.datestr(time), '')
        xml.write_tag("organizador", organizer, '')
        xml.write_tag("contato", contact, '')
        xml.write_tag("endereco", venue, '')
        xml.write_tag("data_inicio", strf.datestr(time_start), '')
        xml.write_tag("data_fim", strf.datestr(time_end), '')
        xml.write_tag("taxa_participacao", fees, '')
        xml.write_tag("descricao", strf.cdata(post_desc), '')

        xml.write_close_tag("evento")

        xml.write_comments(post_guid)

    xml.write_close_tag("eventos")

    group_events.close()
コード例 #3
0
def write_groups_section(xml, \
    guid, title, desc, owner_id, owner_name, owner_username, time):

    # 45 = select * from elgg_metastrings where string='briefdescription';
    brief_desc = qry.post_content(xml.database, guid, 45)

    prefix = 'groups/profile/'
    group_attr = strf.cidstr(strf.urlparticipa(prefix, str(guid)))
    xml.write_open_tag("comunidade", group_attr)

    # Write all group's information
    prefix = 'profile/'
    owner_attr = strf.uidstr(strf.urlparticipa(prefix, owner_username))
    xml.write_tag("proprietario", owner_name, owner_attr)
    xml.write_tag("titulo", title, '')
    xml.write_tag("data", strf.datestr(time), '')
    xml.write_tag("descricao", strf.cdata(desc), '')
    xml.write_tag("breve_descricao", strf.cdata(brief_desc), '')

    if qry.groupaccess_permission(xml.database, guid) == 'public':

        # Write a list of group member's name
        write_groupmembers_subsection(xml, guid)

        # Write a list, and all the info, of all posts made on the group.
        write_groupfiles_subsection(xml, guid)
        write_groupforumtopics_subsection(xml, guid)
        write_groupbookmarks_subsection(xml, guid)
        write_grouppages_subsection(xml, guid)
        write_groupvideos_subsection(xml, guid)
        write_groupevents_subsection(xml, guid)

    xml.write_close_tag("comunidade")
コード例 #4
0
def write_userfriends_subsection (xml, user_guid):
    friends_info = xml.database.cursor()
    friends_info.execute(qry.qry_user_friends, (user_guid))
    
    qty=str(friends_info.rowcount)
    xml.write_tag("quantidade_amigos",qty,'')
    
    xml.write_open_tag("amigos",'')
    for (friend_id, friend_name, friend_username) in friends_info:
        prefix='profile/'
        friend_attr=strf.uidstr(strf.urlparticipa(prefix,friend_username))
        xml.write_tag("usuario",friend_name,friend_attr)
    xml.write_close_tag("amigos")
        
    friends_info.close()
コード例 #5
0
def write_groupmembers_subsection(xml, group_guid):
    group_members = xml.database.cursor()
    group_members.execute(qry.qry_group_members, (group_guid, ))

    qty = str(group_members.rowcount)
    xml.write_tag("quantidade_membros", qty, '')

    xml.write_open_tag("membros", '')
    for (user_id, user_name, user_username) in group_members:
        prefix = 'profile/'
        user_attr = strf.uidstr(strf.urlparticipa(prefix, user_username))
        xml.write_tag("usuario", user_name, user_attr)
    xml.write_close_tag("membros")

    group_members.close()
コード例 #6
0
    def write_comments(self, post_guid):
        post_comments = self.database.cursor()
        post_comments.execute(qry.qry_post_comments, (post_guid, ))

        self.write_open_tag("comentarios", '')
        for (user_id, user_name, user_username, string, time)\
            in post_comments:

            self.write_open_tag("comentario", '')

            prefix = 'profile/'
            user_attr = strf.uidstr(strf.urlparticipa(prefix, user_username))
            self.write_tag("usuario", user_name, user_attr)
            self.write_tag("data", strf.datestr(time), '')
            self.write_tag("mensagem", strf.cdata(string), '')

            self.write_close_tag("comentario")

        self.write_close_tag("comentarios")

        post_comments.close()
コード例 #7
0
def write_groupfiles_subsection(xml, group_guid):
    group_files = xml.database.cursor()

    # 1 = select * from elgg_entity_subtypes where subtype='file';
    group_files.execute(qry.qry_group_posts, (
        group_guid,
        1,
    ))

    # 50 = select * from elgg_metastrings where string='file_enable';
    perm = qry.postcontent_permission(xml.database, group_guid, 50)

    xml.write_open_tag("arquivos", strf.permstr(perm))

    for (post_guid, post_title, post_desc, \
            owner_id, owner_name, owner_username, time)\
        in group_files:

        prefix = 'file/download/'
        file_link = strf.urlparticipa(prefix, str(post_guid))

        prefix = 'file/view/'
        post_attr = strf.pidstr(strf.urlparticipa(prefix, str(post_guid)))
        xml.write_open_tag("arquivo", post_attr)

        prefix = 'profile/'
        owner_attr = strf.uidstr(strf.urlparticipa(prefix, owner_username))
        xml.write_tag("autor", owner_name, owner_attr)
        xml.write_tag("titulo", post_title, '')
        xml.write_tag("data", strf.datestr(time), '')
        xml.write_tag("link", '', strf.hrefstr(file_link))
        xml.write_tag("descricao", strf.cdata(post_desc), '')

        xml.write_comments(post_guid)

        xml.write_close_tag("arquivo")

    xml.write_close_tag("arquivos")

    group_files.close()
コード例 #8
0
def write_groupvideos_subsection(xml, group_guid):
    group_videos = xml.database.cursor()

    # 12 = select * from elgg_entity_subtypes where subtype='videos';
    group_videos.execute(qry.qry_group_posts, (
        group_guid,
        12,
    ))

    # 399 = select * from elgg_metastrings where string='videos_enable';
    perm = qry.postcontent_permission(xml.database, group_guid, 399)

    xml.write_open_tag("videos", strf.permstr(perm))

    for (post_guid, post_title, post_desc, \
            owner_id, owner_name, owner_username, time)\
        in group_videos:

        # 477 = select * from elgg_metastrings where string='video_url';
        video_link = qry.post_content(xml.database, post_guid, 477)

        prefix = 'videos/view/'
        post_attr = strf.pidstr(strf.urlparticipa(prefix, str(post_guid)))
        xml.write_open_tag("video", post_attr)

        prefix = 'profile/'
        owner_attr = strf.uidstr(strf.urlparticipa(prefix, owner_username))
        xml.write_tag("autor", owner_name, owner_attr)
        xml.write_tag("titulo", post_title, '')
        xml.write_tag("data", strf.datestr(time), '')
        xml.write_tag("link", '', strf.hrefstr(video_link))
        xml.write_tag("descricao", strf.cdata(post_desc), '')

        xml.write_comments(post_guid)

        xml.write_close_tag("video")

    xml.write_close_tag("videos")

    group_videos.close()
コード例 #9
0
def write_groupbookmarks_subsection(xml, group_guid):
    group_bookmarks = xml.database.cursor()

    # 13 = select * from elgg_entity_subtypes where subtype='bookmarks';
    group_bookmarks.execute(qry.qry_group_posts, (
        group_guid,
        13,
    ))

    # 49 = select * from elgg_metastrings where string='bookmarks_enable';
    perm = qry.postcontent_permission(xml.database, group_guid, 49)

    xml.write_open_tag("favoritos", strf.permstr(perm))

    for (post_guid, post_title, post_desc, \
            owner_id, owner_name, owner_username, time)\
        in group_bookmarks:

        # 90 = select * from elgg_metastrings where string='address';
        bookmark_link = qry.post_content(xml.database, post_guid, 90)

        prefix = 'bookmarks/view/'
        post_attr = strf.pidstr(strf.urlparticipa(prefix, str(post_guid)))
        xml.write_open_tag("favorito", post_attr)

        prefix = 'profile/'
        owner_attr = strf.uidstr(strf.urlparticipa(prefix, owner_username))
        xml.write_tag("autor", owner_name, owner_attr)
        xml.write_tag("titulo", post_title, '')
        xml.write_tag("data", strf.datestr(time), '')
        xml.write_tag("link", '', strf.hrefstr(bookmark_link))
        xml.write_tag("descricao", strf.cdata(post_desc), '')

        xml.write_comments(post_guid)

        xml.write_close_tag("favorito")

    xml.write_close_tag("favoritos")

    group_bookmarks.close()
コード例 #10
0
def write_grouppages_subsection(xml, group_guid):
    group_pages = xml.database.cursor()

    # 14 = select * from elgg_entity_subtypes where subtype='page_top';
    group_pages.execute(qry.qry_group_posts, (
        group_guid,
        14,
    ))

    # 53 = select * from elgg_metastrings where string='pages_enable';
    perm = qry.postcontent_permission(xml.database, group_guid, 53)

    xml.write_open_tag("paginas", strf.permstr(perm))

    for (post_guid, post_title, post_desc,
            owner_id, owner_name, owner_username, time)\
        in group_pages:

        prefix = 'pages/view/'
        post_attr = strf.pidstr(strf.urlparticipa(prefix, str(post_guid)))
        xml.write_open_tag("pagina", post_attr)

        prefix = 'profile/'
        owner_attr = strf.uidstr(strf.urlparticipa(prefix, owner_username))
        xml.write_tag("autor", owner_name, owner_attr)
        xml.write_tag("titulo", post_title, '')
        xml.write_tag("data", strf.datestr(time), '')
        xml.write_tag("texto", strf.cdata(post_desc), '')

        xml.write_comments(post_guid)

        xml.write_close_tag("pagina")

    xml.write_close_tag("paginas")

    group_pages.close()
コード例 #11
0
def write_groupforumtopics_subsection(xml, group_guid):
    group_forumtopics = xml.database.cursor()

    # 7 = select * from elgg_entity_subtypes where subtype='groupforumtopic';
    group_forumtopics.execute(qry.qry_group_posts, (
        group_guid,
        7,
    ))

    # 52 = select * from elgg_metastrings where string='forum_enable';
    perm = qry.postcontent_permission(xml.database, group_guid, 52)

    xml.write_open_tag("debates", strf.permstr(perm))

    for (post_guid, post_title, post_desc, \
        owner_id, owner_name, owner_username, time)\
        in group_forumtopics:

        prefix = 'discussion/view/'
        post_attr = strf.pidstr(strf.urlparticipa(prefix, str(post_guid)))
        xml.write_open_tag("debate", post_attr)

        prefix = 'profile/'
        owner_attr = strf.uidstr(strf.urlparticipa(prefix, owner_username))
        xml.write_tag("autor", owner_name, owner_attr)
        xml.write_tag("titulo", post_title, '')
        xml.write_tag("data", strf.datestr(time), '')
        xml.write_tag("texto", strf.cdata(post_desc), '')

        xml.write_comments(post_guid)

        xml.write_close_tag("debate")

    xml.write_close_tag("debates")

    group_forumtopics.close()