From d604347d9f8f65a04ff99e7da754f1849426c58c Mon Sep 17 00:00:00 2001 From: Bruno Nocera Zanette <brunonzanette@gmail.com> Date: Mon, 16 Sep 2013 16:12:03 -0300 Subject: [PATCH] Add Function to open file Added a function to open file. This change is meant for the case of having to write multiple files. For example, one file for each user, or group. Signed-off-by: Bruno Nocera Zanette <brunonzanette@gmail.com> --- lib/json/group_section.py | 272 ++++++++++++++-------------- lib/json/user_section.py | 237 ++++++++++++------------ lib/json/write_support_functions.py | 6 + lib/xml/group_section.py | 11 +- lib/xml/user_section.py | 11 +- lib/xml/write_support_functions.py | 7 + 6 files changed, 276 insertions(+), 268 deletions(-) diff --git a/lib/json/group_section.py b/lib/json/group_section.py index 65225c0..214d813 100644 --- a/lib/json/group_section.py +++ b/lib/json/group_section.py @@ -22,24 +22,22 @@ # USA. import MySQLdb -import codecs -import datetime import queries_definition as qry import write_support_functions as wrt ###################################################################### -# Functions that write on XML file +# Functions that write on JSON file #-------------------------------------------------------------------# -def write_groupmembers_subsection (db, xml, group_guid): +def write_groupmembers_subsection (db, json, group_guid): group_members = db.cursor() group_members.execute(qry.qry_group_members, (group_guid,)) qty=str(group_members.rowcount) - wrt.write_tag(xml,2,"quantidadeMembros",qty,",") + wrt.write_tag(json,2,"quantidadeMembros",qty,",") - wrt.write_open_tag(xml,2,"membros","[") + wrt.write_open_tag(json,2,"membros","[") row=0 for (user_id, user_name, user_username)\ @@ -47,25 +45,25 @@ def write_groupmembers_subsection (db, xml, group_guid): row=row+1 - wrt.write_open_tag(xml,3,"","{") + wrt.write_open_tag(json,3,"","{") prefix='profile/' user_attr=wrt.urlparticipa(prefix,user_username) - wrt.write_open_tag(xml,4,"usuario","{") - wrt.write_tag(xml,5,"uid",user_attr,",") - wrt.write_tag(xml,5,"nome",user_name,"") - wrt.write_close_tag(xml,4,"}",False) + wrt.write_open_tag(json,4,"usuario","{") + wrt.write_tag(json,5,"uid",user_attr,",") + wrt.write_tag(json,5,"nome",user_name,"") + wrt.write_close_tag(json,4,"}",False) - wrt.write_close_tag(xml,3,"}",(row < group_members.rowcount)) + wrt.write_close_tag(json,3,"}",(row < group_members.rowcount)) - wrt.write_close_tag(xml,2,"]",True) + wrt.write_close_tag(json,2,"]",True) group_members.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_groupfiles_subsection (db, xml, group_guid): +def write_groupfiles_subsection (db, json, group_guid): group_files = db.cursor() # 1 = select * from elgg_entity_subtypes where subtype='file'; @@ -74,8 +72,8 @@ def write_groupfiles_subsection (db, xml, group_guid): # 50 = select * from elgg_metastrings where string='file_enable'; perm=wrt.postcontent_permission(db, group_guid, 50) - wrt.write_tag(xml,2,"arquivosHabilitado",perm,",") - wrt.write_open_tag(xml,2,"arquivos","[") + wrt.write_tag(json,2,"arquivosHabilitado",perm,",") + wrt.write_open_tag(json,2,"arquivos","[") row=0 for (post_guid, post_title, post_desc, \ @@ -84,39 +82,39 @@ def write_groupfiles_subsection (db, xml, group_guid): row=row+1 - wrt.write_open_tag(xml,3,"","{") + wrt.write_open_tag(json,3,"","{") prefix='file/download/' file_link=wrt.urlparticipa(prefix,str(post_guid)) prefix='file/view/' post_attr=wrt.urlparticipa(prefix,str(post_guid)) - wrt.write_tag(xml,4,"pid",post_attr,",") + wrt.write_tag(json,4,"pid",post_attr,",") prefix='profile/' owner_attr=wrt.urlparticipa(prefix,owner_username) - wrt.write_open_tag(xml,4,"autor","{") - wrt.write_tag(xml,5,"uid",owner_attr,",") - wrt.write_tag(xml,5,"nome",owner_name,"") - wrt.write_close_tag(xml,4,"}",True) + wrt.write_open_tag(json,4,"autor","{") + wrt.write_tag(json,5,"uid",owner_attr,",") + wrt.write_tag(json,5,"nome",owner_name,"") + wrt.write_close_tag(json,4,"}",True) - wrt.write_tag(xml,4,"titulo",post_title,",") - wrt.write_tag(xml,4,"data",wrt.datestr(time),",") - wrt.write_tag(xml,4,"link",file_link,",") - wrt.write_tag(xml,4,"descricao",post_desc,",") + wrt.write_tag(json,4,"titulo",post_title,",") + wrt.write_tag(json,4,"data",wrt.datestr(time),",") + wrt.write_tag(json,4,"link",file_link,",") + wrt.write_tag(json,4,"descricao",post_desc,",") - wrt.write_comments(db,xml,post_guid) + wrt.write_comments(db,json,post_guid) - wrt.write_close_tag(xml,3,"}",(row < group_files.rowcount)) + wrt.write_close_tag(json,3,"}",(row < group_files.rowcount)) - wrt.write_close_tag(xml,2,"]",True) + wrt.write_close_tag(json,2,"]",True) group_files.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_groupforumtopics_subsection (db, xml, group_guid): +def write_groupforumtopics_subsection (db, json, group_guid): group_forumtopics = db.cursor() # 7 = select * from elgg_entity_subtypes where subtype='groupforumtopic'; @@ -125,8 +123,8 @@ def write_groupforumtopics_subsection (db, xml, group_guid): # 52 = select * from elgg_metastrings where string='forum_enable'; perm=wrt.postcontent_permission(db, group_guid, 52) - wrt.write_tag(xml,2,"debatesHabilitado",perm,",") - wrt.write_open_tag(xml,2,"debates","[") + wrt.write_tag(json,2,"debatesHabilitado",perm,",") + wrt.write_open_tag(json,2,"debates","[") row=0 for (post_guid, post_title, post_desc, \ @@ -135,35 +133,35 @@ def write_groupforumtopics_subsection (db, xml, group_guid): row=row+1 - wrt.write_open_tag(xml,3,"","{") + wrt.write_open_tag(json,3,"","{") prefix='discussion/view/' post_attr=wrt.urlparticipa(prefix,str(post_guid)) - wrt.write_tag(xml,4,"pid",post_attr,",") + wrt.write_tag(json,4,"pid",post_attr,",") prefix='profile/' owner_attr=wrt.urlparticipa(prefix,owner_username) - wrt.write_open_tag(xml,4,"autor","{") - wrt.write_tag(xml,5,"uid",owner_attr,",") - wrt.write_tag(xml,5,"nome",owner_name,"") - wrt.write_close_tag(xml,4,"}",True) + wrt.write_open_tag(json,4,"autor","{") + wrt.write_tag(json,5,"uid",owner_attr,",") + wrt.write_tag(json,5,"nome",owner_name,"") + wrt.write_close_tag(json,4,"}",True) - wrt.write_tag(xml,4,"titulo",post_title,",") - wrt.write_tag(xml,4,"data",wrt.datestr(time),",") - wrt.write_tag(xml,4,"texto",post_desc,",") + wrt.write_tag(json,4,"titulo",post_title,",") + wrt.write_tag(json,4,"data",wrt.datestr(time),",") + wrt.write_tag(json,4,"texto",post_desc,",") - wrt.write_comments(db,xml,post_guid) + wrt.write_comments(db,json,post_guid) - wrt.write_close_tag(xml,3,"}",(row < group_forumtopics.rowcount)) + wrt.write_close_tag(json,3,"}",(row < group_forumtopics.rowcount)) - wrt.write_close_tag(xml,2,"]",True) + wrt.write_close_tag(json,2,"]",True) group_forumtopics.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_groupbookmarks_subsection (db, xml, group_guid): +def write_groupbookmarks_subsection (db, json, group_guid): group_bookmarks = db.cursor() # 13 = select * from elgg_entity_subtypes where subtype='bookmarks'; @@ -172,8 +170,8 @@ def write_groupbookmarks_subsection (db, xml, group_guid): # 49 = select * from elgg_metastrings where string='bookmarks_enable'; perm=wrt.postcontent_permission(db, group_guid, 49) - wrt.write_tag(xml,2,"favoritosHabilitado",perm,",") - wrt.write_open_tag(xml,2,"favoritos","[") + wrt.write_tag(json,2,"favoritosHabilitado",perm,",") + wrt.write_open_tag(json,2,"favoritos","[") row=0 for (post_guid, post_title, post_desc, \ @@ -182,39 +180,39 @@ def write_groupbookmarks_subsection (db, xml, group_guid): row=row+1 - wrt.write_open_tag(xml,3,"","{") + wrt.write_open_tag(json,3,"","{") # 90 = select * from elgg_metastrings where string='address'; bookmark_link=wrt.post_content(db,post_guid,90) prefix='bookmarks/view/' post_attr=wrt.urlparticipa(prefix,str(post_guid)) - wrt.write_tag(xml,4,"pid",post_attr,",") + wrt.write_tag(json,4,"pid",post_attr,",") prefix='profile/' owner_attr=wrt.urlparticipa(prefix,owner_username) - wrt.write_open_tag(xml,4,"autor","{") - wrt.write_tag(xml,5,"uid",owner_attr,",") - wrt.write_tag(xml,5,"nome",owner_name,"") - wrt.write_close_tag(xml,4,"}",True) + wrt.write_open_tag(json,4,"autor","{") + wrt.write_tag(json,5,"uid",owner_attr,",") + wrt.write_tag(json,5,"nome",owner_name,"") + wrt.write_close_tag(json,4,"}",True) - wrt.write_tag(xml,4,"titulo",post_title,",") - wrt.write_tag(xml,4,"data",wrt.datestr(time),",") - wrt.write_tag(xml,4,"link",bookmark_link,",") - wrt.write_tag(xml,4,"descricao",post_desc,",") + wrt.write_tag(json,4,"titulo",post_title,",") + wrt.write_tag(json,4,"data",wrt.datestr(time),",") + wrt.write_tag(json,4,"link",bookmark_link,",") + wrt.write_tag(json,4,"descricao",post_desc,",") - wrt.write_comments(db,xml,post_guid) + wrt.write_comments(db,json,post_guid) - wrt.write_close_tag(xml,3,"}",(row < group_bookmarks.rowcount)) + wrt.write_close_tag(json,3,"}",(row < group_bookmarks.rowcount)) - wrt.write_close_tag(xml,2,"]",True) + wrt.write_close_tag(json,2,"]",True) group_bookmarks.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_grouppages_subsection (db, xml, group_guid): +def write_grouppages_subsection (db, json, group_guid): group_pages = db.cursor() # 14 = select * from elgg_entity_subtypes where subtype='page_top'; @@ -223,8 +221,8 @@ def write_grouppages_subsection (db, xml, group_guid): # 53 = select * from elgg_metastrings where string='pages_enable'; perm=wrt.postcontent_permission(db, group_guid, 53) - wrt.write_tag(xml,2,"paginasHabilitado",perm,",") - wrt.write_open_tag(xml,2,"paginas","[") + wrt.write_tag(json,2,"paginasHabilitado",perm,",") + wrt.write_open_tag(json,2,"paginas","[") row=0 for (post_guid, post_title, post_desc, @@ -233,35 +231,35 @@ def write_grouppages_subsection (db, xml, group_guid): row=row+1 - wrt.write_open_tag(xml,3,"","{") + wrt.write_open_tag(json,3,"","{") prefix='pages/view/' post_attr=wrt.urlparticipa(prefix,str(post_guid)) - wrt.write_tag(xml,4,"pid",post_attr,",") + wrt.write_tag(json,4,"pid",post_attr,",") prefix='profile/' owner_attr=wrt.urlparticipa(prefix,owner_username) - wrt.write_open_tag(xml,4,"autor","{") - wrt.write_tag(xml,5,"uid",owner_attr,",") - wrt.write_tag(xml,5,"nome",owner_name,"") - wrt.write_close_tag(xml,4,"}",True) + wrt.write_open_tag(json,4,"autor","{") + wrt.write_tag(json,5,"uid",owner_attr,",") + wrt.write_tag(json,5,"nome",owner_name,"") + wrt.write_close_tag(json,4,"}",True) - wrt.write_tag(xml,4,"titulo",post_title,",") - wrt.write_tag(xml,4,"data",wrt.datestr(time),",") - wrt.write_tag(xml,4,"texto",post_desc,",") + wrt.write_tag(json,4,"titulo",post_title,",") + wrt.write_tag(json,4,"data",wrt.datestr(time),",") + wrt.write_tag(json,4,"texto",post_desc,",") - wrt.write_comments(db,xml,post_guid) + wrt.write_comments(db,json,post_guid) - wrt.write_close_tag(xml,3,"}",(row < group_pages.rowcount)) + wrt.write_close_tag(json,3,"}",(row < group_pages.rowcount)) - wrt.write_close_tag(xml,2,"]",True) + wrt.write_close_tag(json,2,"]",True) group_pages.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_groupvideos_subsection (db, xml, group_guid): +def write_groupvideos_subsection (db, json, group_guid): group_videos = db.cursor() # 12 = select * from elgg_entity_subtypes where subtype='videos'; @@ -270,8 +268,8 @@ def write_groupvideos_subsection (db, xml, group_guid): # 399 = select * from elgg_metastrings where string='videos_enable'; perm=wrt.postcontent_permission(db, group_guid, 399) - wrt.write_tag(xml,2,"videosHabilitado",perm,",") - wrt.write_open_tag(xml,2,"videos","[") + wrt.write_tag(json,2,"videosHabilitado",perm,",") + wrt.write_open_tag(json,2,"videos","[") row=0 for (post_guid, post_title, post_desc, \ @@ -283,36 +281,36 @@ def write_groupvideos_subsection (db, xml, group_guid): # 477 = select * from elgg_metastrings where string='video_url'; video_link=wrt.post_content(db,post_guid, 477) - wrt.write_open_tag(xml,3,"","{") + wrt.write_open_tag(json,3,"","{") prefix='videos/view/' post_attr=wrt.urlparticipa(prefix,str(post_guid)) - wrt.write_tag(xml,4,"pid",post_attr,",") + wrt.write_tag(json,4,"pid",post_attr,",") prefix='profile/' owner_attr=wrt.urlparticipa(prefix,owner_username) - wrt.write_open_tag(xml,4,"autor","{") - wrt.write_tag(xml,5,"uid",owner_attr,",") - wrt.write_tag(xml,5,"nome",owner_name,"") - wrt.write_close_tag(xml,4,"}",True) + wrt.write_open_tag(json,4,"autor","{") + wrt.write_tag(json,5,"uid",owner_attr,",") + wrt.write_tag(json,5,"nome",owner_name,"") + wrt.write_close_tag(json,4,"}",True) - wrt.write_tag(xml,4,"titulo",post_title,",") - wrt.write_tag(xml,4,"data",wrt.datestr(time),",") - wrt.write_tag(xml,4,"link",video_link,",") - wrt.write_tag(xml,4,"descricao",post_desc,",") + wrt.write_tag(json,4,"titulo",post_title,",") + wrt.write_tag(json,4,"data",wrt.datestr(time),",") + wrt.write_tag(json,4,"link",video_link,",") + wrt.write_tag(json,4,"descricao",post_desc,",") - wrt.write_comments(db,xml,post_guid) + wrt.write_comments(db,json,post_guid) - wrt.write_close_tag(xml,3,"}",(row < group_videos.rowcount)) + wrt.write_close_tag(json,3,"}",(row < group_videos.rowcount)) - wrt.write_close_tag(xml,2,"]",True) + wrt.write_close_tag(json,2,"]",True) group_videos.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_groupevents_subsection (db, xml, group_guid): +def write_groupevents_subsection (db, json, group_guid): group_events = db.cursor() # 6 = select * from elgg_entity_subtypes where subtype='calendar_event'; @@ -321,8 +319,8 @@ def write_groupevents_subsection (db, xml, group_guid): # 54 = select * from elgg_metastrings where string='event_calendar_enable'; perm=wrt.postcontent_permission(db, group_guid, 54) - wrt.write_tag(xml,2,"eventosHabilitado",perm,",") - wrt.write_open_tag(xml,2,"eventos","[") + wrt.write_tag(json,2,"eventosHabilitado",perm,",") + wrt.write_open_tag(json,2,"eventos","[") row=0 for (post_guid, post_title, post_desc, \ @@ -331,7 +329,7 @@ def write_groupevents_subsection (db, xml, group_guid): row=row+1 - wrt.write_open_tag(xml,3,"","{") + wrt.write_open_tag(json,3,"","{") # 18 = select * from elgg_metastrings where string='venue'; venue=wrt.post_content(db, post_guid, 18) @@ -353,42 +351,42 @@ def write_groupevents_subsection (db, xml, group_guid): prefix='event_calendar/view/' post_attr=wrt.urlparticipa(prefix,str(post_guid)) - wrt.write_tag(xml,4,"pid",post_attr,",") + wrt.write_tag(json,4,"pid",post_attr,",") prefix='profile/' owner_attr=wrt.urlparticipa(prefix,owner_username) - wrt.write_open_tag(xml,4,"autor","{") - wrt.write_tag(xml,5,"uid",owner_attr,",") - wrt.write_tag(xml,5,"nome",owner_name,"") - wrt.write_close_tag(xml,4,"}",True) + wrt.write_open_tag(json,4,"autor","{") + wrt.write_tag(json,5,"uid",owner_attr,",") + wrt.write_tag(json,5,"nome",owner_name,"") + wrt.write_close_tag(json,4,"}",True) - wrt.write_tag(xml,4,"titulo",post_title,",") - wrt.write_tag(xml,4,"data",wrt.datestr(time),",") - wrt.write_tag(xml,4,"organizador",organizer,",") - wrt.write_tag(xml,4,"contato",contact,",") - wrt.write_tag(xml,4,"endereco",venue,",") - wrt.write_tag(xml,4,"dataInicio",wrt.datestr(time_start),",") - wrt.write_tag(xml,4,"dataFim",wrt.datestr(time_end),",") - wrt.write_tag(xml,4,"taxaParticipacao",fees,",") - wrt.write_tag(xml,4,"descricao",post_desc,",") + wrt.write_tag(json,4,"titulo",post_title,",") + wrt.write_tag(json,4,"data",wrt.datestr(time),",") + wrt.write_tag(json,4,"organizador",organizer,",") + wrt.write_tag(json,4,"contato",contact,",") + wrt.write_tag(json,4,"endereco",venue,",") + wrt.write_tag(json,4,"dataInicio",wrt.datestr(time_start),",") + wrt.write_tag(json,4,"dataFim",wrt.datestr(time_end),",") + wrt.write_tag(json,4,"taxaParticipacao",fees,",") + wrt.write_tag(json,4,"descricao",post_desc,",") - wrt.write_comments(db,xml,post_guid) + wrt.write_comments(db,json,post_guid) - wrt.write_close_tag(xml,3,"}",(row < group_events.rowcount)) + wrt.write_close_tag(json,3,"}",(row < group_events.rowcount)) - wrt.write_close_tag(xml,2,"]",False) + wrt.write_close_tag(json,2,"]",False) group_events.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_groups_section(db, xml_file): +def write_groups_section (db, json_filename): - xml = codecs.open(xml_file,'w',encoding='utf-8') + json = wrt.open_json_file(json_filename) - wrt.write_open_tag(xml,0,"","{") - wrt.write_open_tag(xml,0,"comunidades","[") + wrt.write_open_tag(json,0,"","{") + wrt.write_open_tag(json,0,"comunidades","[") groups_info = db.cursor() groups_info.execute(qry.qry_groups_info) @@ -402,53 +400,53 @@ def write_groups_section(db, xml_file): # 45 = select * from elgg_metastrings where string='briefdescription'; brief_desc=wrt.post_content(db,guid, 45) - wrt.write_open_tag(xml,1,"","{") + wrt.write_open_tag(json,1,"","{") prefix='groups/profile/' group_attr=wrt.urlparticipa(prefix,str(guid)) - wrt.write_tag(xml,4,"cid",group_attr,",") + wrt.write_tag(json,2,"cid",group_attr,",") # Write all group's information prefix='profile/' owner_attr=wrt.urlparticipa(prefix,owner_username) - wrt.write_open_tag(xml,2,"proprietario","{") - wrt.write_tag(xml,3,"uid",owner_attr,",") - wrt.write_tag(xml,3,"nome",owner_name,"") - wrt.write_close_tag(xml,2,"}",True) + wrt.write_open_tag(json,2,"proprietario","{") + wrt.write_tag(json,3,"uid",owner_attr,",") + wrt.write_tag(json,3,"nome",owner_name,"") + wrt.write_close_tag(json,2,"}",True) - wrt.write_tag(xml,2,"titulo",title,",") - wrt.write_tag(xml,2,"data",wrt.datestr(time),",") - wrt.write_tag(xml,2,"descricao",desc,",") + wrt.write_tag(json,2,"titulo",title,",") + wrt.write_tag(json,2,"data",wrt.datestr(time),",") + wrt.write_tag(json,2,"descricao",desc,",") if wrt.groupaccess_permission(db, guid) == 'public': comma="," else: comma="" - wrt.write_tag(xml,2,"breveDescricao",brief_desc,comma) + wrt.write_tag(json,2,"breveDescricao",brief_desc,comma) if wrt.groupaccess_permission(db, guid) == 'public': # Write a list of group member's name - write_groupmembers_subsection(db, xml, guid) + write_groupmembers_subsection(db, json, guid) # Write a list, and all the info, of all posts made on the group. - write_groupfiles_subsection(db, xml, guid) - write_groupforumtopics_subsection(db, xml, guid) - write_groupbookmarks_subsection(db, xml, guid) - write_grouppages_subsection(db, xml, guid) - write_groupvideos_subsection(db, xml, guid) - write_groupevents_subsection(db, xml, guid) + write_groupfiles_subsection(db, json, guid) + write_groupforumtopics_subsection(db, json, guid) + write_groupbookmarks_subsection(db, json, guid) + write_grouppages_subsection(db, json, guid) + write_groupvideos_subsection(db, json, guid) + write_groupevents_subsection(db, json, guid) - wrt.write_close_tag(xml,1,"}",(row < groups_info.rowcount)) + wrt.write_close_tag(json,1,"}",(row < groups_info.rowcount)) - wrt.write_close_tag(xml,0,"]",False) - wrt.write_close_tag(xml,0,"}",False) + wrt.write_close_tag(json,0,"]",False) + wrt.write_close_tag(json,0,"}",False) groups_info.close() - xml.close() + json.close() #--------------------------------------------------------------------# ###################################################################### diff --git a/lib/json/user_section.py b/lib/json/user_section.py index 2597e28..7e0d22f 100644 --- a/lib/json/user_section.py +++ b/lib/json/user_section.py @@ -22,21 +22,22 @@ # USA. import MySQLdb -import codecs -import datetime import queries_definition as qry import write_support_functions as wrt ###################################################################### -# Functions that write on XML file +# Functions that write on JSON file #--------------------------------------------------------------------# -def write_userfriends_subsection (db, xml, user_guid): +def write_userfriends_subsection (db, json, user_guid): friends_info = db.cursor() friends_info.execute(qry.qry_user_friends, (user_guid)) - wrt.write_open_tag(xml,2,"amigos","[") + qty=str(friends_info.rowcount) + wrt.write_tag(json,2,"quantidadeAmigos",qty,",") + + wrt.write_open_tag(json,2,"amigos","[") row=0 for (friend_id, friend_name, friend_username)\ @@ -44,27 +45,27 @@ def write_userfriends_subsection (db, xml, user_guid): row=row+1 - wrt.write_open_tag(xml,3,"","{") + wrt.write_open_tag(json,3,"","{") prefix='profile/' friend_attr=wrt.urlparticipa(prefix,friend_username) - wrt.write_tag(xml,4,"uid",friend_attr,",") - wrt.write_tag(xml,4,"usuario",friend_name,"") + wrt.write_tag(json,4,"uid",friend_attr,",") + wrt.write_tag(json,4,"usuario",friend_name,"") - wrt.write_close_tag(xml,3,"}",(row < friends_info.rowcount)) + wrt.write_close_tag(json,3,"}",(row < friends_info.rowcount)) - wrt.write_close_tag(xml,2,"]",True) + wrt.write_close_tag(json,2,"]",True) friends_info.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_userowngroup_subsection (db, xml, user_guid): +def write_userowngroup_subsection (db, json, user_guid): user_owngroups = db.cursor() user_owngroups.execute(qry.qry_user_owngroups, (user_guid, user_guid, )) - wrt.write_open_tag(xml,3,"dono","[") + wrt.write_open_tag(json,3,"dono","[") row=0 for (group_id, group_title)\ @@ -72,27 +73,27 @@ def write_userowngroup_subsection (db, xml, user_guid): row=row+1 - wrt.write_open_tag(xml,4,"","{") + wrt.write_open_tag(json,4,"","{") prefix='groups/profile/' group_attr=wrt.urlparticipa(prefix,str(group_id)) - wrt.write_tag(xml,5,"cid",group_attr,",") - wrt.write_tag(xml,5,"titulo",group_title,"") + wrt.write_tag(json,5,"cid",group_attr,",") + wrt.write_tag(json,5,"titulo",group_title,"") - wrt.write_close_tag(xml,4,"}",(row < user_owngroups.rowcount)) + wrt.write_close_tag(json,4,"}",(row < user_owngroups.rowcount)) - wrt.write_close_tag(xml,3,"]",True) + wrt.write_close_tag(json,3,"]",True) user_owngroups.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_usermembergroup_subsection (db, xml, user_guid): +def write_usermembergroup_subsection (db, json, user_guid): user_membergroups = db.cursor() user_membergroups.execute(qry.qry_user_membergroups, (user_guid, )) - wrt.write_open_tag(xml,3,"membro","[") + wrt.write_open_tag(json,3,"membro","[") row=0 for (group_id, group_title)\ @@ -100,37 +101,37 @@ def write_usermembergroup_subsection (db, xml, user_guid): row=row+1 - wrt.write_open_tag(xml,4,"","{") + wrt.write_open_tag(json,4,"","{") prefix='groups/profile/' group_attr=wrt.urlparticipa(prefix,str(group_id)) - wrt.write_tag(xml,5,"cid",group_attr,",") - wrt.write_tag(xml,5,"titulo",group_title,"") + wrt.write_tag(json,5,"cid",group_attr,",") + wrt.write_tag(json,5,"titulo",group_title,"") - wrt.write_close_tag(xml,4,"}",(row < user_membergroups.rowcount)) + wrt.write_close_tag(json,4,"}",(row < user_membergroups.rowcount)) - wrt.write_close_tag(xml,3,"]",False) + wrt.write_close_tag(json,3,"]",False) user_membergroups.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_usergroups_subsection (db, xml, user_guid): - wrt.write_open_tag(xml,2,"comunidades","{") - write_userowngroup_subsection(db, xml, user_guid) - write_usermembergroup_subsection(db, xml, user_guid) - wrt.write_close_tag(xml,2,"}",True) +def write_usergroups_subsection (db, json, user_guid): + wrt.write_open_tag(json,2,"comunidades","{") + write_userowngroup_subsection(db, json, user_guid) + write_usermembergroup_subsection(db, json, user_guid) + wrt.write_close_tag(json,2,"}",True) #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_userfiles_subsection (db, xml, user_guid): +def write_userfiles_subsection (db, json, user_guid): user_files = db.cursor() # 1 = select * from elgg_entity_subtypes where subtype='file'; user_files.execute(qry.qry_user_posts, (user_guid, user_guid, 1,)) - wrt.write_open_tag(xml,2,"arquivos","[") + wrt.write_open_tag(json,2,"arquivos","[") row=0 for (post_guid, post_title, post_desc, time)\ @@ -144,31 +145,31 @@ def write_userfiles_subsection (db, xml, user_guid): prefix='file/view/' post_attr=wrt.urlparticipa(prefix,str(post_guid)) - wrt.write_open_tag(xml,3,"","{") + wrt.write_open_tag(json,3,"","{") - wrt.write_tag(xml,4,"pid",post_attr,",") - wrt.write_tag(xml,4,"titulo",post_title,",") - wrt.write_tag(xml,4,"data",wrt.datestr(time),",") - wrt.write_tag(xml,4,"link",file_link,",") - wrt.write_tag(xml,4,"descricao",post_desc,",") + wrt.write_tag(json,4,"pid",post_attr,",") + wrt.write_tag(json,4,"titulo",post_title,",") + wrt.write_tag(json,4,"data",wrt.datestr(time),",") + wrt.write_tag(json,4,"link",file_link,",") + wrt.write_tag(json,4,"descricao",post_desc,",") - wrt.write_comments(db,xml,post_guid) + wrt.write_comments(db,json,post_guid) - wrt.write_close_tag(xml,3,"}",(row < user_files.rowcount)) + wrt.write_close_tag(json,3,"}",(row < user_files.rowcount)) - wrt.write_close_tag(xml,2,"]",True) + wrt.write_close_tag(json,2,"]",True) user_files.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_userblogs_subsection (db, xml, user_guid): +def write_userblogs_subsection (db, json, user_guid): user_blogs = db.cursor() # 4 = select * from elgg_entity_subtypes where subtype='blog'; user_blogs.execute(qry.qry_user_posts, (user_guid, user_guid, 4,)) - wrt.write_open_tag(xml,2,"blogs","[") + wrt.write_open_tag(json,2,"blogs","[") row=0 for (post_guid, post_title, post_desc, time)\ @@ -183,31 +184,31 @@ def write_userblogs_subsection (db, xml, user_guid): prefix='blog/view/' post_attr=wrt.urlparticipa(prefix,str(post_guid)) - wrt.write_open_tag(xml,3,"","{") + wrt.write_open_tag(json,3,"","{") - wrt.write_tag(xml,4,"pid",post_attr,",") - wrt.write_tag(xml,4,"titulo",post_title,",") - wrt.write_tag(xml,4,"data",wrt.datestr(time),",") - wrt.write_tag(xml,4,"resumo",post_excerpt,",") - wrt.write_tag(xml,4,"texto",post_desc,",") + wrt.write_tag(json,4,"pid",post_attr,",") + wrt.write_tag(json,4,"titulo",post_title,",") + wrt.write_tag(json,4,"data",wrt.datestr(time),",") + wrt.write_tag(json,4,"resumo",post_excerpt,",") + wrt.write_tag(json,4,"texto",post_desc,",") - wrt.write_comments(db,xml,post_guid) + wrt.write_comments(db,json,post_guid) - wrt.write_close_tag(xml,3,"}",(row < user_blogs.rowcount)) + wrt.write_close_tag(json,3,"}",(row < user_blogs.rowcount)) - wrt.write_close_tag(xml,2,"]",True) + wrt.write_close_tag(json,2,"]",True) user_blogs.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_userbookmarks_subsection (db, xml, user_guid): +def write_userbookmarks_subsection (db, json, user_guid): user_bookmarks = db.cursor() # 13 = select * from elgg_entity_subtypes where subtype='bookmarks'; user_bookmarks.execute(qry.qry_user_posts, (user_guid, user_guid, 13,)) - wrt.write_open_tag(xml,2,"favoritos","[") + wrt.write_open_tag(json,2,"favoritos","[") row=0 for (post_guid, post_title, post_desc, time)\ @@ -220,31 +221,31 @@ def write_userbookmarks_subsection (db, xml, user_guid): prefix='bookmarks/view/' post_attr=wrt.urlparticipa(prefix,str(post_guid)) - wrt.write_open_tag(xml,3,"","{") + wrt.write_open_tag(json,3,"","{") - wrt.write_tag(xml,4,"pid",post_attr,",") - wrt.write_tag(xml,4,"titulo",post_title,",") - wrt.write_tag(xml,4,"data",wrt.datestr(time),",") - wrt.write_tag(xml,4,"link",bookmark_link,",") - wrt.write_tag(xml,4,"descricao",post_desc,",") + wrt.write_tag(json,4,"pid",post_attr,",") + wrt.write_tag(json,4,"titulo",post_title,",") + wrt.write_tag(json,4,"data",wrt.datestr(time),",") + wrt.write_tag(json,4,"link",bookmark_link,",") + wrt.write_tag(json,4,"descricao",post_desc,",") - wrt.write_comments(db,xml,post_guid) + wrt.write_comments(db,json,post_guid) - wrt.write_close_tag(xml,3,"}",(row < user_bookmarks.rowcount)) + wrt.write_close_tag(json,3,"}",(row < user_bookmarks.rowcount)) - wrt.write_close_tag(xml,2,"]",True) + wrt.write_close_tag(json,2,"]",True) user_bookmarks.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_userpages_subsection (db, xml, user_guid): +def write_userpages_subsection (db, json, user_guid): user_pages = db.cursor() # 14 = select * from elgg_entity_subtypes where subtype='page_top'; user_pages.execute(qry.qry_user_posts, (user_guid, user_guid, 14,)) - wrt.write_open_tag(xml,2,"paginas","[") + wrt.write_open_tag(json,2,"paginas","[") row=0 for (post_guid, post_title, post_desc, time)\ @@ -255,30 +256,30 @@ def write_userpages_subsection (db, xml, user_guid): prefix='pages/view/' post_attr=wrt.urlparticipa(prefix,str(post_guid)) - wrt.write_open_tag(xml,3,"","{") + wrt.write_open_tag(json,3,"","{") - wrt.write_tag(xml,4,"pid",post_attr,",") - wrt.write_tag(xml,4,"titulo",post_title,",") - wrt.write_tag(xml,4,"data",wrt.datestr(time),",") - wrt.write_tag(xml,4,"texto",post_desc,",") + wrt.write_tag(json,4,"pid",post_attr,",") + wrt.write_tag(json,4,"titulo",post_title,",") + wrt.write_tag(json,4,"data",wrt.datestr(time),",") + wrt.write_tag(json,4,"texto",post_desc,",") - wrt.write_comments(db,xml,post_guid) + wrt.write_comments(db,json,post_guid) - wrt.write_close_tag(xml,3,"}",(row < user_pages.rowcount)) + wrt.write_close_tag(json,3,"}",(row < user_pages.rowcount)) - wrt.write_close_tag(xml,2,"]",True) + wrt.write_close_tag(json,2,"]",True) user_pages.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_uservideos_subsection (db, xml, user_guid): +def write_uservideos_subsection (db, json, user_guid): user_videos = db.cursor() # 12 = select * from elgg_entity_subtypes where subtype='videos'; user_videos.execute(qry.qry_user_posts, (user_guid, user_guid, 12,)) - wrt.write_open_tag(xml,2,"videos","[") + wrt.write_open_tag(json,2,"videos","[") row=0 for (post_guid, post_title, post_desc, time)\ @@ -292,32 +293,32 @@ def write_uservideos_subsection (db, xml, user_guid): prefix='videos/view/' post_attr=wrt.urlparticipa(prefix,str(post_guid)) - wrt.write_open_tag(xml,3,"","{") + wrt.write_open_tag(json,3,"","{") - wrt.write_tag(xml,4,"pid",post_attr,",") - wrt.write_tag(xml,4,"titulo",post_title,",") - wrt.write_tag(xml,4,"data",wrt.datestr(time),",") - wrt.write_tag(xml,4,"link",video_link,",") - wrt.write_tag(xml,4,"descricao",post_desc,",") + wrt.write_tag(json,4,"pid",post_attr,",") + wrt.write_tag(json,4,"titulo",post_title,",") + wrt.write_tag(json,4,"data",wrt.datestr(time),",") + wrt.write_tag(json,4,"link",video_link,",") + wrt.write_tag(json,4,"descricao",post_desc,",") - wrt.write_comments(db,xml,post_guid) + wrt.write_comments(db,json,post_guid) - wrt.write_close_tag(xml,3,"}",(row < user_videos.rowcount)) + wrt.write_close_tag(json,3,"}",(row < user_videos.rowcount)) - wrt.write_close_tag(xml,2,"]",True) + wrt.write_close_tag(json,2,"]",True) user_videos.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_userevents_subsection (db, xml, user_guid): +def write_userevents_subsection (db, json, user_guid): user_events = db.cursor() # 6 = select * from elgg_entity_subtypes where subtype='calendar_event'; user_events.execute(qry.qry_user_posts, (user_guid, user_guid, 6,)) - wrt.write_open_tag(xml,2,"eventos","[") + wrt.write_open_tag(json,2,"eventos","[") row=0 for (post_guid, post_title, post_desc, time)\ @@ -346,35 +347,35 @@ def write_userevents_subsection (db, xml, user_guid): prefix='event_calendar/view/' post_attr=wrt.urlparticipa(prefix,str(post_guid)) - wrt.write_open_tag(xml,3,"","{") + wrt.write_open_tag(json,3,"","{") - wrt.write_tag(xml,4,"pid",post_attr,",") - wrt.write_tag(xml,4,"titulo",post_title,",") - wrt.write_tag(xml,4,"data",wrt.datestr(time),",") - wrt.write_tag(xml,4,"organizador",organizer,",") - wrt.write_tag(xml,4,"contato",contact,",") - wrt.write_tag(xml,4,"endereco",venue,",") - wrt.write_tag(xml,4,"dataInicio",time_start,",") - wrt.write_tag(xml,4,"dataFim",time_end,",") - wrt.write_tag(xml,4,"taxaParticipacao",fees,",") - wrt.write_tag(xml,4,"descricao",post_desc,",") + wrt.write_tag(json,4,"pid",post_attr,",") + wrt.write_tag(json,4,"titulo",post_title,",") + wrt.write_tag(json,4,"data",wrt.datestr(time),",") + wrt.write_tag(json,4,"organizador",organizer,",") + wrt.write_tag(json,4,"contato",contact,",") + wrt.write_tag(json,4,"endereco",venue,",") + wrt.write_tag(json,4,"dataInicio",time_start,",") + wrt.write_tag(json,4,"dataFim",time_end,",") + wrt.write_tag(json,4,"taxaParticipacao",fees,",") + wrt.write_tag(json,4,"descricao",post_desc,",") - wrt.write_comments(db,xml,post_guid) + wrt.write_comments(db,json,post_guid) - wrt.write_close_tag(xml,3,"}",(row < user_events.rowcount)) + wrt.write_close_tag(json,3,"}",(row < user_events.rowcount)) - wrt.write_close_tag(xml,2,"]",False) + wrt.write_close_tag(json,2,"]",False) user_events.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_users_section (db, xml_file): +def write_users_section (db, json_filename): - xml = codecs.open(xml_file,'w',encoding='utf-8') + json = wrt.open_json_file(json_filename) - wrt.write_open_tag(xml,0,"","{") - wrt.write_open_tag(xml,0,"usuarios","[") + wrt.write_open_tag(json,0,"","{") + wrt.write_open_tag(json,0,"usuarios","[") users_info = db.cursor() users_info.execute(qry.qry_users_info) @@ -388,34 +389,34 @@ def write_users_section (db, xml_file): prefix='profile/' user_attr=wrt.urlparticipa(prefix,username) - wrt.write_open_tag(xml,1,"","{") + wrt.write_open_tag(json,1,"","{") # Write all user's information - wrt.write_tag(xml,2,"uid",user_attr,",") - wrt.write_tag(xml,2,"nome",name,",") + wrt.write_tag(json,2,"uid",user_attr,",") + wrt.write_tag(json,2,"nome",name,",") # Write a list of user friend's names - write_userfriends_subsection(db, xml, guid) + write_userfriends_subsection(db, json, guid) # Write a list of all groups that the user owns or belongs - write_usergroups_subsection(db, xml, guid) + write_usergroups_subsection(db, json, guid) # Write a list, and all the info, of all posts made by the user - write_userfiles_subsection(db, xml, guid) - write_userblogs_subsection(db, xml, guid) - write_userbookmarks_subsection(db, xml, guid) - write_userpages_subsection(db, xml, guid) - write_uservideos_subsection(db, xml, guid) - write_userevents_subsection(db, xml, guid) + write_userfiles_subsection(db, json, guid) + write_userblogs_subsection(db, json, guid) + write_userbookmarks_subsection(db, json, guid) + write_userpages_subsection(db, json, guid) + write_uservideos_subsection(db, json, guid) + write_userevents_subsection(db, json, guid) - wrt.write_close_tag(xml,1,"}",(row < users_info.rowcount)) + wrt.write_close_tag(json,1,"}",(row < users_info.rowcount)) - wrt.write_close_tag(xml,0,"]",False) - wrt.write_close_tag(xml,0,"}",False) + wrt.write_close_tag(json,0,"]",False) + wrt.write_close_tag(json,0,"}",False) users_info.close() - xml.close() + json.close() #--------------------------------------------------------------------# ###################################################################### diff --git a/lib/json/write_support_functions.py b/lib/json/write_support_functions.py index b6c0e4e..8af946e 100644 --- a/lib/json/write_support_functions.py +++ b/lib/json/write_support_functions.py @@ -31,6 +31,12 @@ import queries_definition as qry ###################################################################### # Support functions: +#--------------------------------------------------------------------# +def open_json_file (json_filename): + json_file = codecs.open(json_filename,'w',encoding='utf-8') + return json_file +#--------------------------------------------------------------------# + #--------------------------------------------------------------------# def lvl (l): if l == 1: diff --git a/lib/xml/group_section.py b/lib/xml/group_section.py index f6f729e..bf6a4d1 100644 --- a/lib/xml/group_section.py +++ b/lib/xml/group_section.py @@ -22,8 +22,6 @@ # USA. import MySQLdb -import codecs -import datetime import queries_definition as qry import write_support_functions as wrt @@ -36,7 +34,8 @@ def write_groupmembers_subsection (db, xml, group_guid): group_members = db.cursor() group_members.execute(qry.qry_group_members, (group_guid,)) - wrt.write_tag(xml,2,"quantidade_membros",str(group_members.rowcount),'') + qty=str(group_members.rowcount) + wrt.write_tag(xml,2,"quantidade_membros",qty,'') wrt.write_open_tag(xml,2,"membros",'') for (user_id, user_name, user_username) in group_members: @@ -301,11 +300,9 @@ def write_groupevents_subsection (db, xml, group_guid): #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_groups_section(db, xml_file): - - xml = codecs.open(xml_file,'w',encoding='utf-8') +def write_groups_section (db, xml_filename): - xml.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?") + xml = wrt.open_xml_file(xml_filename) wrt.write_open_tag(xml,0,"comunidades",'') diff --git a/lib/xml/user_section.py b/lib/xml/user_section.py index f40a186..e779bf5 100644 --- a/lib/xml/user_section.py +++ b/lib/xml/user_section.py @@ -22,8 +22,6 @@ # USA. import MySQLdb -import codecs -import datetime import queries_definition as qry import write_support_functions as wrt @@ -36,6 +34,9 @@ def write_userfriends_subsection (db, xml, user_guid): friends_info = db.cursor() friends_info.execute(qry.qry_user_friends, (user_guid)) + qty=str(friends_info.rowcount) + wrt.write_tag(xml,2,"quantidade_amigos",qty,'') + wrt.write_open_tag(xml,2,"amigos",'') for (friend_id, friend_name, friend_username) in friends_info: prefix='profile/' @@ -302,11 +303,9 @@ def write_userevents_subsection (db, xml, user_guid): #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_users_section (db, xml_file): - - xml = codecs.open(xml_file,'w',encoding='utf-8') +def write_users_section (db, xml_filename): - xml.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>") + xml = wrt.open_xml_file(xml_filename) wrt.write_open_tag(xml,0,"usuarios",'') diff --git a/lib/xml/write_support_functions.py b/lib/xml/write_support_functions.py index e124e2a..6175f7c 100644 --- a/lib/xml/write_support_functions.py +++ b/lib/xml/write_support_functions.py @@ -30,6 +30,13 @@ import queries_definition as qry ###################################################################### # Support functions: +#--------------------------------------------------------------------# +def open_xml_file (xml_filename): + xml_file = codecs.open(xml_filename,'w',encoding='utf-8') + xml_file.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?") + return xml_file +#--------------------------------------------------------------------# + #--------------------------------------------------------------------# def lvl (l): if l == 1: -- GitLab