diff --git a/lib/json_group_section.py b/lib/json_group_section.py index 8593519b4a05e30cae4c798f22b65cd029343619..1a4b082df0b572119c1958f3c8fca7c85347a9d1 100644 --- a/lib/json_group_section.py +++ b/lib/json_group_section.py @@ -23,22 +23,23 @@ import MySQLdb -import queries_definition as qry -import string_functions as strf -import json_support_functions as wrt +from opendata_json_class import OpendataJSON + +import opendata_queries_definition as qry +import opendata_string_functions as strf ###################################################################### # Functions that write on JSON file #-------------------------------------------------------------------# -def write_groupmembers_subsection (db, json, group_guid): - group_members = db.cursor() +def write_groupmembers_subsection (json, group_guid): + group_members = json.database.cursor() group_members.execute(qry.qry_group_members, (group_guid,)) qty=str(group_members.rowcount) - wrt.write_tag(json,2,"quantidadeMembros",qty,",") + json.write_tag("quantidadeMembros",qty,",") - wrt.write_open_tag(json,2,"membros","[") + json.write_open_tag("membros","[") row=0 for (user_id, user_name, user_username)\ @@ -46,35 +47,35 @@ def write_groupmembers_subsection (db, json, group_guid): row=row+1 - wrt.write_open_tag(json,3,"","{") + json.write_open_tag("","{") prefix='profile/' user_attr=strf.urlparticipa(prefix,user_username) - 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) + json.write_open_tag("usuario","{") + json.write_tag("uid",user_attr,",") + json.write_tag("nome",user_name,"") + json.write_close_tag("}",False) - wrt.write_close_tag(json,3,"}",(row < group_members.rowcount)) + json.write_close_tag("}",(row < group_members.rowcount)) - wrt.write_close_tag(json,2,"]",True) + json.write_close_tag("]",True) group_members.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_groupfiles_subsection (db, json, group_guid): - group_files = db.cursor() +def write_groupfiles_subsection (json, group_guid): + group_files = json.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(db, group_guid, 50) + perm=qry.postcontent_permission(json.database, group_guid, 50) - wrt.write_tag(json,2,"arquivosHabilitado",perm,",") - wrt.write_open_tag(json,2,"arquivos","[") + json.write_tag("arquivosHabilitado",perm,",") + json.write_open_tag("arquivos","[") row=0 for (post_guid, post_title, post_desc, \ @@ -83,49 +84,49 @@ def write_groupfiles_subsection (db, json, group_guid): row=row+1 - wrt.write_open_tag(json,3,"","{") + json.write_open_tag("","{") prefix='file/download/' file_link=strf.urlparticipa(prefix,str(post_guid)) prefix='file/view/' post_attr=strf.urlparticipa(prefix,str(post_guid)) - wrt.write_tag(json,4,"pid",post_attr,",") + json.write_tag("pid",post_attr,",") prefix='profile/' owner_attr=strf.urlparticipa(prefix,owner_username) - 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) + json.write_open_tag("autor","{") + json.write_tag("uid",owner_attr,",") + json.write_tag("nome",owner_name,"") + json.write_close_tag("}",True) - wrt.write_tag(json,4,"titulo",post_title,",") - wrt.write_tag(json,4,"data",strf.datestr(time),",") - wrt.write_tag(json,4,"link",file_link,",") - wrt.write_tag(json,4,"descricao",post_desc,",") + json.write_tag("titulo",post_title,",") + json.write_tag("data",strf.datestr(time),",") + json.write_tag("link",file_link,",") + json.write_tag("descricao",post_desc,",") - wrt.write_comments(db,json,post_guid) + json.write_comments(post_guid) - wrt.write_close_tag(json,3,"}",(row < group_files.rowcount)) + json.write_close_tag("}",(row < group_files.rowcount)) - wrt.write_close_tag(json,2,"]",True) + json.write_close_tag("]",True) group_files.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_groupforumtopics_subsection (db, json, group_guid): - group_forumtopics = db.cursor() +def write_groupforumtopics_subsection (json, group_guid): + group_forumtopics = json.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(db, group_guid, 52) + perm=qry.postcontent_permission(json.database, group_guid, 52) - wrt.write_tag(json,2,"debatesHabilitado",perm,",") - wrt.write_open_tag(json,2,"debates","[") + json.write_tag("debatesHabilitado",perm,",") + json.write_open_tag("debates","[") row=0 for (post_guid, post_title, post_desc, \ @@ -134,45 +135,45 @@ def write_groupforumtopics_subsection (db, json, group_guid): row=row+1 - wrt.write_open_tag(json,3,"","{") + json.write_open_tag("","{") prefix='discussion/view/' post_attr=strf.urlparticipa(prefix,str(post_guid)) - wrt.write_tag(json,4,"pid",post_attr,",") + json.write_tag("pid",post_attr,",") prefix='profile/' owner_attr=strf.urlparticipa(prefix,owner_username) - 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) + json.write_open_tag("autor","{") + json.write_tag("uid",owner_attr,",") + json.write_tag("nome",owner_name,"") + json.write_close_tag("}",True) - wrt.write_tag(json,4,"titulo",post_title,",") - wrt.write_tag(json,4,"data",strf.datestr(time),",") - wrt.write_tag(json,4,"texto",post_desc,",") + json.write_tag("titulo",post_title,",") + json.write_tag("data",strf.datestr(time),",") + json.write_tag("texto",post_desc,",") - wrt.write_comments(db,json,post_guid) + json.write_comments(post_guid) - wrt.write_close_tag(json,3,"}",(row < group_forumtopics.rowcount)) + json.write_close_tag("}",(row < group_forumtopics.rowcount)) - wrt.write_close_tag(json,2,"]",True) + json.write_close_tag("]",True) group_forumtopics.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_groupbookmarks_subsection (db, json, group_guid): - group_bookmarks = db.cursor() +def write_groupbookmarks_subsection (json, group_guid): + group_bookmarks = json.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(db, group_guid, 49) + perm=qry.postcontent_permission(json.database, group_guid, 49) - wrt.write_tag(json,2,"favoritosHabilitado",perm,",") - wrt.write_open_tag(json,2,"favoritos","[") + json.write_tag("favoritosHabilitado",perm,",") + json.write_open_tag("favoritos","[") row=0 for (post_guid, post_title, post_desc, \ @@ -181,49 +182,49 @@ def write_groupbookmarks_subsection (db, json, group_guid): row=row+1 - wrt.write_open_tag(json,3,"","{") + json.write_open_tag("","{") # 90 = select * from elgg_metastrings where string='address'; - bookmark_link=qry.post_content(db,post_guid,90) + bookmark_link=qry.post_content(json.database, post_guid, 90) prefix='bookmarks/view/' post_attr=strf.urlparticipa(prefix,str(post_guid)) - wrt.write_tag(json,4,"pid",post_attr,",") + json.write_tag("pid",post_attr,",") prefix='profile/' owner_attr=strf.urlparticipa(prefix,owner_username) - 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) + json.write_open_tag("autor","{") + json.write_tag("uid",owner_attr,",") + json.write_tag("nome",owner_name,"") + json.write_close_tag("}",True) - wrt.write_tag(json,4,"titulo",post_title,",") - wrt.write_tag(json,4,"data",strf.datestr(time),",") - wrt.write_tag(json,4,"link",bookmark_link,",") - wrt.write_tag(json,4,"descricao",post_desc,",") + json.write_tag("titulo",post_title,",") + json.write_tag("data",strf.datestr(time),",") + json.write_tag("link",bookmark_link,",") + json.write_tag("descricao",post_desc,",") - wrt.write_comments(db,json,post_guid) + json.write_comments(post_guid) - wrt.write_close_tag(json,3,"}",(row < group_bookmarks.rowcount)) + json.write_close_tag("}",(row < group_bookmarks.rowcount)) - wrt.write_close_tag(json,2,"]",True) + json.write_close_tag("]",True) group_bookmarks.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_grouppages_subsection (db, json, group_guid): - group_pages = db.cursor() +def write_grouppages_subsection (json, group_guid): + group_pages = json.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(db, group_guid, 53) + perm=qry.postcontent_permission(json.database, group_guid, 53) - wrt.write_tag(json,2,"paginasHabilitado",perm,",") - wrt.write_open_tag(json,2,"paginas","[") + json.write_tag("paginasHabilitado",perm,",") + json.write_open_tag("paginas","[") row=0 for (post_guid, post_title, post_desc, @@ -232,45 +233,45 @@ def write_grouppages_subsection (db, json, group_guid): row=row+1 - wrt.write_open_tag(json,3,"","{") + json.write_open_tag("","{") prefix='pages/view/' post_attr=strf.urlparticipa(prefix,str(post_guid)) - wrt.write_tag(json,4,"pid",post_attr,",") + json.write_tag("pid",post_attr,",") prefix='profile/' owner_attr=strf.urlparticipa(prefix,owner_username) - 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) + json.write_open_tag("autor","{") + json.write_tag("uid",owner_attr,",") + json.write_tag("nome",owner_name,"") + json.write_close_tag("}",True) - wrt.write_tag(json,4,"titulo",post_title,",") - wrt.write_tag(json,4,"data",strf.datestr(time),",") - wrt.write_tag(json,4,"texto",post_desc,",") + json.write_tag("titulo",post_title,",") + json.write_tag("data",strf.datestr(time),",") + json.write_tag("texto",post_desc,",") - wrt.write_comments(db,json,post_guid) + json.write_comments(post_guid) - wrt.write_close_tag(json,3,"}",(row < group_pages.rowcount)) + json.write_close_tag("}",(row < group_pages.rowcount)) - wrt.write_close_tag(json,2,"]",True) + json.write_close_tag("]",True) group_pages.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_groupvideos_subsection (db, json, group_guid): - group_videos = db.cursor() +def write_groupvideos_subsection (json, group_guid): + group_videos = json.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(db, group_guid, 399) + perm=qry.postcontent_permission(json.database, group_guid, 399) - wrt.write_tag(json,2,"videosHabilitado",perm,",") - wrt.write_open_tag(json,2,"videos","[") + json.write_tag("videosHabilitado",perm,",") + json.write_open_tag("videos","[") row=0 for (post_guid, post_title, post_desc, \ @@ -280,48 +281,48 @@ def write_groupvideos_subsection (db, json, group_guid): row=row+1 # 477 = select * from elgg_metastrings where string='video_url'; - video_link=qry.post_content(db,post_guid, 477) + video_link=qry.post_content(json.database, post_guid, 477) - wrt.write_open_tag(json,3,"","{") + json.write_open_tag("","{") prefix='videos/view/' post_attr=strf.urlparticipa(prefix,str(post_guid)) - wrt.write_tag(json,4,"pid",post_attr,",") + json.write_tag("pid",post_attr,",") prefix='profile/' owner_attr=strf.urlparticipa(prefix,owner_username) - 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) + json.write_open_tag("autor","{") + json.write_tag("uid",owner_attr,",") + json.write_tag("nome",owner_name,"") + json.write_close_tag("}",True) - wrt.write_tag(json,4,"titulo",post_title,",") - wrt.write_tag(json,4,"data",strf.datestr(time),",") - wrt.write_tag(json,4,"link",video_link,",") - wrt.write_tag(json,4,"descricao",post_desc,",") + json.write_tag("titulo",post_title,",") + json.write_tag("data",strf.datestr(time),",") + json.write_tag("link",video_link,",") + json.write_tag("descricao",post_desc,",") - wrt.write_comments(db,json,post_guid) + json.write_comments(post_guid) - wrt.write_close_tag(json,3,"}",(row < group_videos.rowcount)) + json.write_close_tag("}",(row < group_videos.rowcount)) - wrt.write_close_tag(json,2,"]",True) + json.write_close_tag("]",True) group_videos.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_groupevents_subsection (db, json, group_guid): - group_events = db.cursor() +def write_groupevents_subsection (json, group_guid): + group_events = json.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(db, group_guid, 54) + perm=qry.postcontent_permission(json.database, group_guid, 54) - wrt.write_tag(json,2,"eventosHabilitado",perm,",") - wrt.write_open_tag(json,2,"eventos","[") + json.write_tag("eventosHabilitado",perm,",") + json.write_open_tag("eventos","[") row=0 for (post_guid, post_title, post_desc, \ @@ -330,115 +331,117 @@ def write_groupevents_subsection (db, json, group_guid): row=row+1 - wrt.write_open_tag(json,3,"","{") + json.write_open_tag("","{") # 18 = select * from elgg_metastrings where string='venue'; - venue=qry.post_content(db, post_guid, 18) + venue=qry.post_content(json.database, post_guid, 18) # 20 = select * from elgg_metastrings where string='start_date'; - time_start=qry.post_content(db, post_guid, 20) + time_start=qry.post_content(json.database, post_guid, 20) # 22 = select * from elgg_metastrings where string='end_date'; - time_end=qry.post_content(db, post_guid, 22) + time_end=qry.post_content(json.database, post_guid, 22) # 26 = select * from elgg_metastrings where string='fees'; - fees=qry.post_content(db, post_guid, 26) + fees=qry.post_content(json.database, post_guid, 26) # 28 = select * from elgg_metastrings where string='contact'; - contact=qry.post_content(db, post_guid, 28) + contact=qry.post_content(json.database, post_guid, 28) # 30 = select * from elgg_metastrings where string='organizer'; - organizer=qry.post_content(db, post_guid, 30) + organizer=qry.post_content(json.database, post_guid, 30) prefix='event_calendar/view/' post_attr=strf.urlparticipa(prefix,str(post_guid)) - wrt.write_tag(json,4,"pid",post_attr,",") + json.write_tag("pid",post_attr,",") prefix='profile/' owner_attr=strf.urlparticipa(prefix,owner_username) - 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) + json.write_open_tag("autor","{") + json.write_tag("uid",owner_attr,",") + json.write_tag("nome",owner_name,"") + json.write_close_tag("}",True) - wrt.write_tag(json,4,"titulo",post_title,",") - wrt.write_tag(json,4,"data",strf.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",strf.datestr(time_start),",") - wrt.write_tag(json,4,"dataFim",strf.datestr(time_end),",") - wrt.write_tag(json,4,"taxaParticipacao",fees,",") - wrt.write_tag(json,4,"descricao",post_desc,",") + json.write_tag("titulo",post_title,",") + json.write_tag("data",strf.datestr(time),",") + json.write_tag("organizador",organizer,",") + json.write_tag("contato",contact,",") + json.write_tag("endereco",venue,",") + json.write_tag("dataInicio",strf.datestr(time_start),",") + json.write_tag("dataFim",strf.datestr(time_end),",") + json.write_tag("taxaParticipacao",fees,",") + json.write_tag("descricao",post_desc,",") - wrt.write_comments(db,json,post_guid) + json.write_comments(post_guid) - wrt.write_close_tag(json,3,"}",(row < group_events.rowcount)) + json.write_close_tag("}",(row < group_events.rowcount)) - wrt.write_close_tag(json,2,"]",False) + json.write_close_tag("]",False) group_events.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_groups_section (db, json,\ +def write_groups_section (json,\ guid, title, desc, owner_id, owner_name, owner_username, time): # 45 = select * from elgg_metastrings where string='briefdescription'; - brief_desc=qry.post_content(db,guid, 45) + brief_desc=qry.post_content(json.database, guid, 45) prefix='groups/profile/' group_attr=strf.urlparticipa(prefix,str(guid)) - wrt.write_tag(json,2,"cid",group_attr,",") + json.write_tag("cid",group_attr,",") # Write all group's information prefix='profile/' owner_attr=strf.urlparticipa(prefix,owner_username) - 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) + json.write_open_tag("proprietario","{") + json.write_tag("uid",owner_attr,",") + json.write_tag("nome",owner_name,"") + json.write_close_tag("}",True) - wrt.write_tag(json,2,"titulo",title,",") - wrt.write_tag(json,2,"data",strf.datestr(time),",") - wrt.write_tag(json,2,"descricao",desc,",") + json.write_tag("titulo",title,",") + json.write_tag("data",strf.datestr(time),",") + json.write_tag("descricao",desc,",") - group_access = qry.groupaccess_permission(db, guid) + group_access = qry.groupaccess_permission(json.database, guid) if group_access == 'public': comma="," else: comma="" - wrt.write_tag(json,2,"breveDescricao",brief_desc,comma) + json.write_tag("breveDescricao",brief_desc,comma) if group_access == 'public': # Write a list of group member's name - write_groupmembers_subsection(db, json, guid) + write_groupmembers_subsection(json, guid) # Write a list, and all the info, of all posts made on the group. - 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) + write_groupfiles_subsection(json, guid) + write_groupforumtopics_subsection(json, guid) + write_groupbookmarks_subsection(json, guid) + write_grouppages_subsection(json, guid) + write_groupvideos_subsection(json, guid) + write_groupevents_subsection(json, guid) #--------------------------------------------------------------------# #--------------------------------------------------------------------# def write_singlefile_groups_section (db, dir_results): - groups_info = db.cursor() - groups_info.execute(qry.qry_groups_info) - json_filename=dir_results+strf.date_today()+"_comunidades"+".json" - json = wrt.open_json_file(json_filename) + json = OpendataJSON(db,dir_results,json_filename) + + groups_info = json.database.cursor() + groups_info.execute(qry.qry_groups_info) + + json.open_file() - wrt.write_open_tag(json,0,"","{") - wrt.write_open_tag(json,0,"comunidades","[") + json.write_open_tag("","{") + json.write_open_tag("comunidades","[") row=0 for (guid, title, desc, owner_id, owner_name, owner_username, time)\ @@ -446,25 +449,25 @@ def write_singlefile_groups_section (db, dir_results): row=row+1 - wrt.write_open_tag(json,1,"","{") + json.write_open_tag("","{") - write_groups_section(db,json,\ + write_groups_section(json,\ guid,title,desc,owner_id,owner_name,owner_username,time) - wrt.write_close_tag(json,1,"}",(row < groups_info.rowcount)) + json.write_close_tag("}",(row < groups_info.rowcount)) - wrt.write_close_tag(json,0,"]",False) - wrt.write_close_tag(json,0,"}",False) + json.write_close_tag("]",False) + json.write_close_tag("}",False) - groups_info.close() + json.close_file() - json.close() + groups_info.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# def write_multifile_groups_section (db, dir_results): - groups_info = db.cursor() + groups_info = json.database.cursor() groups_info.execute(qry.qry_groups_info) for (guid, title, desc, owner_id, owner_name, owner_username, time)\ @@ -473,16 +476,16 @@ def write_multifile_groups_section (db, dir_results): json_filename=dir_results+'/groups/'+str(guid)+'.json' json = wrt.open_json_file(json_filename) - wrt.write_open_tag(json,0,"","{") - wrt.write_open_tag(json,1,"usuario","{") + json.write_open_tag("","{") + json.write_open_tag("usuario","{") - write_groups_section(db,json,\ + write_groups_section(json,\ guid,title,desc,owner_id,owner_name,owner_username,time) - wrt.write_close_tag(json,1,"}",False) - wrt.write_close_tag(json,0,"}",False) + json.write_close_tag("}",False) + json.write_close_tag("}",False) - json.close() + json.close_file() groups_info.close() #--------------------------------------------------------------------# diff --git a/lib/json_user_section.py b/lib/json_user_section.py index 3e25fcddecc912ceebb8c88509c45e66b83489a2..df3f7dbb2913f7123f00ddb5ab696310e9ec5b0b 100644 --- a/lib/json_user_section.py +++ b/lib/json_user_section.py @@ -23,22 +23,23 @@ import MySQLdb -import queries_definition as qry -import string_functions as strf -import json_support_functions as wrt +from opendata_json_class import OpendataJSON + +import opendata_queries_definition as qry +import opendata_string_functions as strf ###################################################################### # Functions that write on JSON file #--------------------------------------------------------------------# -def write_userfriends_subsection (db, json, user_guid): - friends_info = db.cursor() +def write_userfriends_subsection (json, user_guid): + friends_info = json.database.cursor() friends_info.execute(qry.qry_user_friends, (user_guid)) qty=str(friends_info.rowcount) - wrt.write_tag(json,2,"quantidadeAmigos",qty,",") + json.write_tag("quantidadeAmigos",qty,",") - wrt.write_open_tag(json,2,"amigos","[") + json.write_open_tag("amigos","[") row=0 for (friend_id, friend_name, friend_username)\ @@ -46,27 +47,27 @@ def write_userfriends_subsection (db, json, user_guid): row=row+1 - wrt.write_open_tag(json,3,"","{") + json.write_open_tag("","{") prefix='profile/' friend_attr=strf.urlparticipa(prefix,friend_username) - wrt.write_tag(json,4,"uid",friend_attr,",") - wrt.write_tag(json,4,"usuario",friend_name,"") + json.write_tag("uid",friend_attr,",") + json.write_tag("usuario",friend_name,"") - wrt.write_close_tag(json,3,"}",(row < friends_info.rowcount)) + json.write_close_tag("}",(row < friends_info.rowcount)) - wrt.write_close_tag(json,2,"]",True) + json.write_close_tag("]",True) friends_info.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_userowngroup_subsection (db, json, user_guid): - user_owngroups = db.cursor() +def write_userowngroup_subsection (json, user_guid): + user_owngroups = json.database.cursor() user_owngroups.execute(qry.qry_user_owngroups, (user_guid, user_guid, )) - wrt.write_open_tag(json,3,"dono","[") + json.write_open_tag("dono","[") row=0 for (group_id, group_title)\ @@ -74,27 +75,27 @@ def write_userowngroup_subsection (db, json, user_guid): row=row+1 - wrt.write_open_tag(json,4,"","{") + json.write_open_tag("","{") prefix='groups/profile/' group_attr=strf.urlparticipa(prefix,str(group_id)) - wrt.write_tag(json,5,"cid",group_attr,",") - wrt.write_tag(json,5,"titulo",group_title,"") + json.write_tag("cid",group_attr,",") + json.write_tag("titulo",group_title,"") - wrt.write_close_tag(json,4,"}",(row < user_owngroups.rowcount)) + json.write_close_tag("}",(row < user_owngroups.rowcount)) - wrt.write_close_tag(json,3,"]",True) + json.write_close_tag("]",True) user_owngroups.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_usermembergroup_subsection (db, json, user_guid): - user_membergroups = db.cursor() +def write_usermembergroup_subsection (json, user_guid): + user_membergroups = json.database.cursor() user_membergroups.execute(qry.qry_user_membergroups, (user_guid, )) - wrt.write_open_tag(json,3,"participante","[") + json.write_open_tag("participante","[") row=0 for (group_id, group_title)\ @@ -102,37 +103,37 @@ def write_usermembergroup_subsection (db, json, user_guid): row=row+1 - wrt.write_open_tag(json,4,"","{") + json.write_open_tag("","{") prefix='groups/profile/' group_attr=strf.urlparticipa(prefix,str(group_id)) - wrt.write_tag(json,5,"cid",group_attr,",") - wrt.write_tag(json,5,"titulo",group_title,"") + json.write_tag("cid",group_attr,",") + json.write_tag("titulo",group_title,"") - wrt.write_close_tag(json,4,"}",(row < user_membergroups.rowcount)) + json.write_close_tag("}",(row < user_membergroups.rowcount)) - wrt.write_close_tag(json,3,"]",False) + json.write_close_tag("]",False) user_membergroups.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -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_usergroups_subsection (json, user_guid): + json.write_open_tag("comunidades","{") + write_userowngroup_subsection(json, user_guid) + write_usermembergroup_subsection(json, user_guid) + json.write_close_tag("}",True) #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_userfiles_subsection (db, json, user_guid): - user_files = db.cursor() +def write_userfiles_subsection (json, user_guid): + user_files = json.database.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(json,2,"arquivos","[") + json.write_open_tag("arquivos","[") row=0 for (post_guid, post_title, post_desc, time)\ @@ -146,31 +147,31 @@ def write_userfiles_subsection (db, json, user_guid): prefix='file/view/' post_attr=strf.urlparticipa(prefix,str(post_guid)) - wrt.write_open_tag(json,3,"","{") + json.write_open_tag("","{") - wrt.write_tag(json,4,"pid",post_attr,",") - wrt.write_tag(json,4,"titulo",post_title,",") - wrt.write_tag(json,4,"data",strf.datestr(time),",") - wrt.write_tag(json,4,"link",file_link,",") - wrt.write_tag(json,4,"descricao",post_desc,",") + json.write_tag("pid",post_attr,",") + json.write_tag("titulo",post_title,",") + json.write_tag("data",strf.datestr(time),",") + json.write_tag("link",file_link,",") + json.write_tag("descricao",post_desc,",") - wrt.write_comments(db,json,post_guid) + json.write_comments(post_guid) - wrt.write_close_tag(json,3,"}",(row < user_files.rowcount)) + json.write_close_tag("}",(row < user_files.rowcount)) - wrt.write_close_tag(json,2,"]",True) + json.write_close_tag("]",True) user_files.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_userblogs_subsection (db, json, user_guid): - user_blogs = db.cursor() +def write_userblogs_subsection (json, user_guid): + user_blogs = json.database.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(json,2,"blogs","[") + json.write_open_tag("blogs","[") row=0 for (post_guid, post_title, post_desc, time)\ @@ -178,38 +179,38 @@ def write_userblogs_subsection (db, json, user_guid): row=row+1 - post_excerpt = db.cursor() + post_excerpt = json.database.cursor() # 64 = select * from elgg_metastrings where string='excerpt'; - post_excerpt=qry.post_content(db,post_guid,64) + post_excerpt=qry.post_content(json.database,post_guid,64) prefix='blog/view/' post_attr=strf.urlparticipa(prefix,str(post_guid)) - wrt.write_open_tag(json,3,"","{") + json.write_open_tag("","{") - wrt.write_tag(json,4,"pid",post_attr,",") - wrt.write_tag(json,4,"titulo",post_title,",") - wrt.write_tag(json,4,"data",strf.datestr(time),",") - wrt.write_tag(json,4,"resumo",post_excerpt,",") - wrt.write_tag(json,4,"texto",post_desc,",") + json.write_tag("pid",post_attr,",") + json.write_tag("titulo",post_title,",") + json.write_tag("data",strf.datestr(time),",") + json.write_tag("resumo",post_excerpt,",") + json.write_tag("texto",post_desc,",") - wrt.write_comments(db,json,post_guid) + json.write_comments(post_guid) - wrt.write_close_tag(json,3,"}",(row < user_blogs.rowcount)) + json.write_close_tag("}",(row < user_blogs.rowcount)) - wrt.write_close_tag(json,2,"]",True) + json.write_close_tag("]",True) user_blogs.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_userbookmarks_subsection (db, json, user_guid): - user_bookmarks = db.cursor() +def write_userbookmarks_subsection (json, user_guid): + user_bookmarks = json.database.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(json,2,"favoritos","[") + json.write_open_tag("favoritos","[") row=0 for (post_guid, post_title, post_desc, time)\ @@ -218,35 +219,35 @@ def write_userbookmarks_subsection (db, json, user_guid): row=row+1 # 90 = select * from elgg_metastrings where string='address'; - bookmark_link=qry.post_content(db,post_guid,90) + bookmark_link=qry.post_content(json.database,post_guid,90) prefix='bookmarks/view/' post_attr=strf.urlparticipa(prefix,str(post_guid)) - wrt.write_open_tag(json,3,"","{") + json.write_open_tag("","{") - wrt.write_tag(json,4,"pid",post_attr,",") - wrt.write_tag(json,4,"titulo",post_title,",") - wrt.write_tag(json,4,"data",strf.datestr(time),",") - wrt.write_tag(json,4,"link",bookmark_link,",") - wrt.write_tag(json,4,"descricao",post_desc,",") + json.write_tag("pid",post_attr,",") + json.write_tag("titulo",post_title,",") + json.write_tag("data",strf.datestr(time),",") + json.write_tag("link",bookmark_link,",") + json.write_tag("descricao",post_desc,",") - wrt.write_comments(db,json,post_guid) + json.write_comments(post_guid) - wrt.write_close_tag(json,3,"}",(row < user_bookmarks.rowcount)) + json.write_close_tag("}",(row < user_bookmarks.rowcount)) - wrt.write_close_tag(json,2,"]",True) + json.write_close_tag("]",True) user_bookmarks.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_userpages_subsection (db, json, user_guid): - user_pages = db.cursor() +def write_userpages_subsection (json, user_guid): + user_pages = json.database.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(json,2,"paginas","[") + json.write_open_tag("paginas","[") row=0 for (post_guid, post_title, post_desc, time)\ @@ -257,30 +258,30 @@ def write_userpages_subsection (db, json, user_guid): prefix='pages/view/' post_attr=strf.urlparticipa(prefix,str(post_guid)) - wrt.write_open_tag(json,3,"","{") + json.write_open_tag("","{") - wrt.write_tag(json,4,"pid",post_attr,",") - wrt.write_tag(json,4,"titulo",post_title,",") - wrt.write_tag(json,4,"data",strf.datestr(time),",") - wrt.write_tag(json,4,"texto",post_desc,",") + json.write_tag("pid",post_attr,",") + json.write_tag("titulo",post_title,",") + json.write_tag("data",strf.datestr(time),",") + json.write_tag("texto",post_desc,",") - wrt.write_comments(db,json,post_guid) + json.write_comments(post_guid) - wrt.write_close_tag(json,3,"}",(row < user_pages.rowcount)) + json.write_close_tag("}",(row < user_pages.rowcount)) - wrt.write_close_tag(json,2,"]",True) + json.write_close_tag("]",True) user_pages.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_uservideos_subsection (db, json, user_guid): - user_videos = db.cursor() +def write_uservideos_subsection (json, user_guid): + user_videos = json.database.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(json,2,"videos","[") + json.write_open_tag("videos","[") row=0 for (post_guid, post_title, post_desc, time)\ @@ -289,37 +290,37 @@ def write_uservideos_subsection (db, json, user_guid): row=row+1 # 477 = select * from elgg_metastrings where string='video_url'; - video_link=qry.post_content(db, post_guid, 477) + video_link=qry.post_content(json.database, post_guid, 477) prefix='videos/view/' post_attr=strf.urlparticipa(prefix,str(post_guid)) - wrt.write_open_tag(json,3,"","{") + json.write_open_tag("","{") - wrt.write_tag(json,4,"pid",post_attr,",") - wrt.write_tag(json,4,"titulo",post_title,",") - wrt.write_tag(json,4,"data",strf.datestr(time),",") - wrt.write_tag(json,4,"link",video_link,",") - wrt.write_tag(json,4,"descricao",post_desc,",") + json.write_tag("pid",post_attr,",") + json.write_tag("titulo",post_title,",") + json.write_tag("data",strf.datestr(time),",") + json.write_tag("link",video_link,",") + json.write_tag("descricao",post_desc,",") - wrt.write_comments(db,json,post_guid) + json.write_comments(post_guid) - wrt.write_close_tag(json,3,"}",(row < user_videos.rowcount)) + json.write_close_tag("}",(row < user_videos.rowcount)) - wrt.write_close_tag(json,2,"]",True) + json.write_close_tag("]",True) user_videos.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_userevents_subsection (db, json, user_guid): - user_events = db.cursor() +def write_userevents_subsection (json, user_guid): + user_events = json.database.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(json,2,"eventos","[") + json.write_open_tag("eventos","[") row=0 for (post_guid, post_title, post_desc, time)\ @@ -328,85 +329,87 @@ def write_userevents_subsection (db, json, user_guid): row=row+1 # 18 = select * from elgg_metastrings where string='venue'; - venue=qry.post_content(db, post_guid, 18) + venue=qry.post_content(json.database, post_guid, 18) # 20 = select * from elgg_metastrings where string='start_date'; - time_start=qry.post_content(db, post_guid, 20) + time_start=qry.post_content(json.database, post_guid, 20) # 22 = select * from elgg_metastrings where string='end_date'; - time_end=qry.post_content(db, post_guid, 22) + time_end=qry.post_content(json.database, post_guid, 22) # 26 = select * from elgg_metastrings where string='fees'; - fees=qry.post_content(db, post_guid, 26) + fees=qry.post_content(json.database, post_guid, 26) # 28 = select * from elgg_metastrings where string='contact'; - contact=qry.post_content(db, post_guid, 28) + contact=qry.post_content(json.database, post_guid, 28) # 30 = select * from elgg_metastrings where string='organizer'; - organizer=qry.post_content(db, post_guid, 30) + organizer=qry.post_content(json.database, post_guid, 30) prefix='event_calendar/view/' post_attr=strf.urlparticipa(prefix,str(post_guid)) - wrt.write_open_tag(json,3,"","{") + json.write_open_tag("","{") - wrt.write_tag(json,4,"pid",post_attr,",") - wrt.write_tag(json,4,"titulo",post_title,",") - wrt.write_tag(json,4,"data",strf.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,",") + json.write_tag("pid",post_attr,",") + json.write_tag("titulo",post_title,",") + json.write_tag("data",strf.datestr(time),",") + json.write_tag("organizador",organizer,",") + json.write_tag("contato",contact,",") + json.write_tag("endereco",venue,",") + json.write_tag("dataInicio",time_start,",") + json.write_tag("dataFim",time_end,",") + json.write_tag("taxaParticipacao",fees,",") + json.write_tag("descricao",post_desc,",") - wrt.write_comments(db,json,post_guid) + json.write_comments(post_guid) - wrt.write_close_tag(json,3,"}",(row < user_events.rowcount)) + json.write_close_tag("}",(row < user_events.rowcount)) - wrt.write_close_tag(json,2,"]",False) + json.write_close_tag("]",False) user_events.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_users_section (db, json, \ +def write_users_section (json, \ guid, name, username): prefix='profile/' user_attr=strf.urlparticipa(prefix,username) # Write all user's information - wrt.write_tag(json,2,"uid",user_attr,",") - wrt.write_tag(json,2,"nome",name,",") + json.write_tag("uid",user_attr,",") + json.write_tag("nome",name,",") # Write a list of user friend's names - write_userfriends_subsection(db, json, guid) + write_userfriends_subsection(json, guid) # Write a list of all groups that the user owns or belongs - write_usergroups_subsection(db, json, guid) + write_usergroups_subsection(json, guid) # Write a list, and all the info, of all posts made by the user - 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) + write_userfiles_subsection(json, guid) + write_userblogs_subsection(json, guid) + write_userbookmarks_subsection(json, guid) + write_userpages_subsection(json, guid) + write_uservideos_subsection(json, guid) + write_userevents_subsection(json, guid) #--------------------------------------------------------------------# #--------------------------------------------------------------------# def write_singlefile_users_section (db, dir_results): - - users_info = db.cursor() + + users_info = json.database.cursor() users_info.execute(qry.qry_users_info) json_filename=dir_results+strf.date_today()+"_usuarios"+".json" - json = wrt.open_json_file(json_filename) + json = OpendataJSON(db,dir_results,json_filename) + + json.open_file() - wrt.write_open_tag(json,0,"","{") - wrt.write_open_tag(json,0,"usuarios","[") + json.write_open_tag("","{") + json.write_open_tag("usuarios","[") row=0 for (guid, name, username)\ @@ -414,43 +417,45 @@ def write_singlefile_users_section (db, dir_results): row=row+1 - wrt.write_open_tag(json,1,"","{") + json.write_open_tag("","{") - write_users_section(db,json,\ + write_users_section(json,\ guid,name,username) - wrt.write_close_tag(json,1,"}",(row < users_info.rowcount)) + json.write_close_tag("}",(row < users_info.rowcount)) - wrt.write_close_tag(json,0,"]",False) - wrt.write_close_tag(json,0,"}",False) + json.write_close_tag("]",False) + json.write_close_tag("}",False) - users_info.close() + json.close_file() - json.close() + users_info.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# def write_multifile_users_section (db, dir_results): - users_info = db.cursor() + users_info = json.database.cursor() users_info.execute(qry.qry_users_info) for (guid, name, username)\ in users_info: json_filename=dir_results+'/users/'+str(guid)+'.json' - json = wrt.open_json_file(json_filename) + json = OpendataJSON(db,dir_results,json_filename) + + json.open_file() - wrt.write_open_tag(json,0,"","{") - wrt.write_open_tag(json,1,"usuario","{") + json.write_open_tag("","{") + json.write_open_tag("usuario","{") - write_users_section(db,json,\ + write_users_section(json.database,json,\ guid,name,username) - wrt.write_close_tag(json,1,"}",False) - wrt.write_close_tag(json,0,"}",False) + json.write_close_tag("}",False) + json.write_close_tag("}",False) - json.close() + json.close_file() users_info.close() #--------------------------------------------------------------------# diff --git a/lib/opendata_json_class.py b/lib/opendata_json_class.py index 94532c97496f569f14ff32b4cc40a525f3b54fa7..bffae1caca24e5038f5b5f5a012c118f9c2635d1 100644 --- a/lib/opendata_json_class.py +++ b/lib/opendata_json_class.py @@ -57,7 +57,7 @@ class OpendataJSON: #--------------------------------------------------------------------# def open_file (self): - self.out_file=codecs.open(self.out_filename,'w',encoding='utf-8') + self.out_file=codecs.open(self.filename,'w',encoding='utf-8') #--------------------------------------------------------------------# #--------------------------------------------------------------------# @@ -80,14 +80,14 @@ class OpendataJSON: if comma_flag == True: self.out_file.write(self.level+sep+","+"\n") else: - print(self.level+sep+"\n") + self.out_file.write(self.level+sep+"\n") #--------------------------------------------------------------------# #--------------------------------------------------------------------# def write_tag (self, tag_name, info_str, comma): name="\""+tag_name+"\"" info="\""+strf.substbadc(info_str)+"\"" - print(self.level+name+":"+info+comma+"\n") + self.out_file.write(self.level+name+":"+info+comma+"\n") #--------------------------------------------------------------------# #--------------------------------------------------------------------# diff --git a/lib/opendata_xml_class.py b/lib/opendata_xml_class.py index c8c95926676ddfa68684605d010b50a5a3f09473..f39ea37ba0f666e0923a8e3fb9019c2310851450 100644 --- a/lib/opendata_xml_class.py +++ b/lib/opendata_xml_class.py @@ -47,7 +47,7 @@ class OpendataXML: self.dir_results = dir_results self.filename = filename #--------------------------------------------------------------------# - + #--------------------------------------------------------------------# def update_indentation(self, increment): self.indentation=self.indentation+(increment) @@ -55,11 +55,11 @@ class OpendataXML: #--------------------------------------------------------------------# #--------------------------------------------------------------------# - def open_file (xml_filename): - self.out_file = codecs.open(xml_filename,'w',encoding='utf-8') + def open_file (self): + self.out_file = codecs.open(self.filename,'w',encoding='utf-8') self.out_file.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n") #--------------------------------------------------------------------# - + #--------------------------------------------------------------------# def close_file (self): self.out_file.close() @@ -89,7 +89,7 @@ class OpendataXML: #--------------------------------------------------------------------# def write_comments (self, post_guid): - post_comments = db.cursor() + post_comments = self.database.cursor() post_comments.execute(qry.qry_post_comments, (post_guid,)) self.write_open_tag("comentarios",'') diff --git a/lib/xml_group_section.py b/lib/xml_group_section.py index 7bd8709bb7e493df9e8203e9d4c6609c437e3918..98fea50835f3f2e1ad1e0a1d787ac06c0356e372 100644 --- a/lib/xml_group_section.py +++ b/lib/xml_group_section.py @@ -23,42 +23,43 @@ import MySQLdb -import queries_definition as qry -import string_functions as strf -import xml_support_functions as wrt +from opendata_xml_class import OpendataXML + +import opendata_queries_definition as qry +import opendata_string_functions as strf ###################################################################### # Functions that write on XML file #-------------------------------------------------------------------# -def write_groupmembers_subsection (db, xml, group_guid): - group_members = db.cursor() +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) - wrt.write_tag(xml,2,"quantidade_membros",qty,'') + xml.write_tag("quantidade_membros",qty,'') - wrt.write_open_tag(xml,2,"membros",'') + 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)) - wrt.write_tag(xml,3,"usuario",user_name,user_attr) - wrt.write_close_tag(xml,2,"membros") + xml.write_tag("usuario",user_name,user_attr) + xml.write_close_tag("membros") group_members.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_groupfiles_subsection (db, xml, group_guid): - group_files = db.cursor() +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(db, group_guid, 50) + perm=qry.postcontent_permission(xml.database, group_guid, 50) - wrt.write_open_tag(xml,2,"arquivos",strf.permstr(perm)) + xml.write_open_tag("arquivos",strf.permstr(perm)) for (post_guid, post_title, post_desc, \ owner_id, owner_name, owner_username, time)\ @@ -69,36 +70,36 @@ def write_groupfiles_subsection (db, xml, group_guid): prefix='file/view/' post_attr=strf.pidstr(strf.urlparticipa(prefix,str(post_guid))) - wrt.write_open_tag(xml,3,"arquivo",post_attr) + xml.write_open_tag("arquivo",post_attr) prefix='profile/' owner_attr=strf.uidstr(strf.urlparticipa(prefix,owner_username)) - wrt.write_tag(xml,4,"autor",owner_name,owner_attr) - wrt.write_tag(xml,4,"titulo",post_title,'') - wrt.write_tag(xml,4,"data",strf.datestr(time),'') - wrt.write_tag(xml,4,"link",'',strf.hrefstr(file_link)) - wrt.write_tag(xml,4,"descricao",strf.cdata(post_desc),'') + 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),'') - wrt.write_comments(db,xml,post_guid) + xml.write_comments(post_guid) - wrt.write_close_tag(xml,3,"arquivo") + xml.write_close_tag("arquivo") - wrt.write_close_tag(xml,2,"arquivos") + xml.write_close_tag("arquivos") group_files.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_groupforumtopics_subsection (db, xml, group_guid): - group_forumtopics = db.cursor() +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(db, group_guid, 52) + perm=qry.postcontent_permission(xml.database, group_guid, 52) - wrt.write_open_tag(xml,2,"debates",strf.permstr(perm)) + xml.write_open_tag("debates",strf.permstr(perm)) for (post_guid, post_title, post_desc, \ owner_id, owner_name, owner_username, time)\ @@ -106,75 +107,75 @@ def write_groupforumtopics_subsection (db, xml, group_guid): prefix='discussion/view/' post_attr=strf.pidstr(strf.urlparticipa(prefix,str(post_guid))) - wrt.write_open_tag(xml,3,"debate",post_attr) + xml.write_open_tag("debate",post_attr) prefix='profile/' owner_attr=strf.uidstr(strf.urlparticipa(prefix,owner_username)) - wrt.write_tag(xml,4,"autor",owner_name,owner_attr) - wrt.write_tag(xml,4,"titulo",post_title,'') - wrt.write_tag(xml,4,"data",strf.datestr(time),'') - wrt.write_tag(xml,4,"texto",strf.cdata(post_desc),'') + 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),'') - wrt.write_comments(db,xml,post_guid) + xml.write_comments(post_guid) - wrt.write_close_tag(xml,3,"debate") + xml.write_close_tag("debate") - wrt.write_close_tag(xml,2,"debates") + xml.write_close_tag("debates") group_forumtopics.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_groupbookmarks_subsection (db, xml, group_guid): - group_bookmarks = db.cursor() +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(db, group_guid, 49) + perm=qry.postcontent_permission(xml.database, group_guid, 49) - wrt.write_open_tag(xml,2,"favoritos",strf.permstr(perm)) + 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(db,post_guid,90) + bookmark_link=qry.post_content(xml.database, post_guid, 90) prefix='bookmarks/view/' post_attr=strf.pidstr(strf.urlparticipa(prefix,str(post_guid))) - wrt.write_open_tag(xml,3,"favorito",post_attr) + xml.write_open_tag("favorito",post_attr) prefix='profile/' owner_attr=strf.uidstr(strf.urlparticipa(prefix,owner_username)) - wrt.write_tag(xml,4,"autor",owner_name,owner_attr) - wrt.write_tag(xml,4,"titulo",post_title,'') - wrt.write_tag(xml,4,"data",strf.datestr(time),'') - wrt.write_tag(xml,4,"link",'',strf.hrefstr(bookmark_link)) - wrt.write_tag(xml,4,"descricao",strf.cdata(post_desc),'') + 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),'') - wrt.write_comments(db,xml,post_guid) + xml.write_comments(post_guid) - wrt.write_close_tag(xml,3,"favorito") + xml.write_close_tag("favorito") - wrt.write_close_tag(xml,2,"favoritos") + xml.write_close_tag("favoritos") group_bookmarks.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_grouppages_subsection (db, xml, group_guid): - group_pages = db.cursor() +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(db, group_guid, 53) + perm=qry.postcontent_permission(xml.database, group_guid, 53) - wrt.write_open_tag(xml,2,"paginas",strf.permstr(perm)) + xml.write_open_tag("paginas",strf.permstr(perm)) for (post_guid, post_title, post_desc, owner_id, owner_name, owner_username, time)\ @@ -182,158 +183,158 @@ def write_grouppages_subsection (db, xml, group_guid): prefix='pages/view/' post_attr=strf.pidstr(strf.urlparticipa(prefix,str(post_guid))) - wrt.write_open_tag(xml,3,"pagina",post_attr) + xml.write_open_tag("pagina",post_attr) prefix='profile/' owner_attr=strf.uidstr(strf.urlparticipa(prefix,owner_username)) - wrt.write_tag(xml,4,"autor",owner_name,owner_attr) - wrt.write_tag(xml,4,"titulo",post_title,'') - wrt.write_tag(xml,4,"data",strf.datestr(time),'') - wrt.write_tag(xml,4,"texto",strf.cdata(post_desc),'') + 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),'') - wrt.write_comments(db,xml,post_guid) + xml.write_comments(post_guid) - wrt.write_close_tag(xml,3,"pagina") + xml.write_close_tag("pagina") - wrt.write_close_tag(xml,2,"paginas") + xml.write_close_tag("paginas") group_pages.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_groupvideos_subsection (db, xml, group_guid): - group_videos = db.cursor() +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(db, group_guid, 399) + perm=qry.postcontent_permission(xml.database, group_guid, 399) - wrt.write_open_tag(xml,2,"videos",strf.permstr(perm)) + 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(db,post_guid, 477) + video_link=qry.post_content(xml.database, post_guid, 477) prefix='videos/view/' post_attr=strf.pidstr(strf.urlparticipa(prefix,str(post_guid))) - wrt.write_open_tag(xml,3,"video",post_attr) + xml.write_open_tag("video",post_attr) prefix='profile/' owner_attr=strf.uidstr(strf.urlparticipa(prefix,owner_username)) - wrt.write_tag(xml,4,"autor",owner_name,owner_attr) - wrt.write_tag(xml,4,"titulo",post_title,'') - wrt.write_tag(xml,4,"data",strf.datestr(time),'') - wrt.write_tag(xml,4,"link",'',strf.hrefstr(video_link)) - wrt.write_tag(xml,4,"descricao",strf.cdata(post_desc),'') + 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),'') - wrt.write_comments(db,xml,post_guid) + xml.write_comments(post_guid) - wrt.write_close_tag(xml,3,"video") + xml.write_close_tag("video") - wrt.write_close_tag(xml,2,"videos") + xml.write_close_tag("videos") group_videos.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_groupevents_subsection (db, xml, group_guid): - group_events = db.cursor() +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(db, group_guid, 54) + perm=qry.postcontent_permission(xml.database, group_guid, 54) - wrt.write_open_tag(xml,2,"eventos",strf.permstr(perm)) + 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(db, post_guid, 18) + venue=qry.post_content(xml.database, post_guid, 18) # 20 = select * from elgg_metastrings where string='start_date'; - time_start=qry.post_content(db, post_guid, 20) + time_start=qry.post_content(xml.database, post_guid, 20) # 22 = select * from elgg_metastrings where string='end_date'; - time_end=qry.post_content(db, post_guid, 22) + time_end=qry.post_content(xml.database, post_guid, 22) # 26 = select * from elgg_metastrings where string='fees'; - fees=qry.post_content(db, post_guid, 26) + fees=qry.post_content(xml.database, post_guid, 26) # 28 = select * from elgg_metastrings where string='contact'; - contact=qry.post_content(db, post_guid, 28) + contact=qry.post_content(xml.database, post_guid, 28) # 30 = select * from elgg_metastrings where string='organizer'; - organizer=qry.post_content(db, post_guid, 30) + organizer=qry.post_content(xml.database, post_guid, 30) prefix='event_calendar/view/' post_attr=strf.pidstr(strf.urlparticipa(prefix,str(post_guid))) - wrt.write_open_tag(xml,3,"evento",post_attr) + xml.write_open_tag("evento",post_attr) prefix='profile/' owner_attr=strf.uidstr(strf.urlparticipa(prefix,owner_username)) - wrt.write_tag(xml,4,"autor",owner_name,owner_attr) - wrt.write_tag(xml,4,"titulo",post_title,'') - wrt.write_tag(xml,4,"data",strf.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,"data_inicio",strf.datestr(time_start),'') - wrt.write_tag(xml,4,"data_fim",strf.datestr(time_end),'') - wrt.write_tag(xml,4,"taxa_participacao",fees,'') - wrt.write_tag(xml,4,"descricao",strf.cdata(post_desc),'') + 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),'') - wrt.write_close_tag(xml,3,"evento") + xml.write_close_tag("evento") - wrt.write_comments(db,xml,post_guid) + xml.write_comments(post_guid) - wrt.write_close_tag(xml,2,"eventos") + xml.write_close_tag("eventos") group_events.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_groups_section(db, xml, \ +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(db,guid, 45) + brief_desc=qry.post_content(xml.database, guid, 45) prefix='groups/profile/' group_attr=strf.cidstr(strf.urlparticipa(prefix,str(guid))) - wrt.write_open_tag(xml,1,"comunidade",group_attr) + xml.write_open_tag("comunidade",group_attr) # Write all group's information prefix='profile/' owner_attr=strf.uidstr(strf.urlparticipa(prefix,owner_username)) - wrt.write_tag(xml,2,"proprietario",owner_name,owner_attr) - wrt.write_tag(xml,2,"titulo",title,'') - wrt.write_tag(xml,2,"data",strf.datestr(time),'') - wrt.write_tag(xml,2,"descricao",strf.cdata(desc),'') - wrt.write_tag(xml,2,"breve_descricao",strf.cdata(brief_desc),'') + 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(db, guid) == 'public': + if qry.groupaccess_permission(xml.database, guid) == 'public': # Write a list of group member's name - write_groupmembers_subsection(db, xml, guid) + write_groupmembers_subsection(xml, 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(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) - wrt.write_close_tag(xml,1,"comunidade") + xml.write_close_tag("comunidade") #--------------------------------------------------------------------# #--------------------------------------------------------------------# @@ -343,21 +344,23 @@ def write_singlefile_groups_section (db, dir_results): groups_info.execute(qry.qry_groups_info) xml_filename=dir_results+strf.date_today()+"_comunidades"+".xml" - xml = wrt.open_xml_file(xml_filename) + xml = OpendataXML(db,dir_results,xml_filename) + + xml.open_file() - wrt.write_open_tag(xml,0,"comunidades",'') + xml.write_open_tag("comunidades",'') for (guid, title, desc, owner_id, owner_name, owner_username, time)\ in groups_info: - write_groups_section(db,xml,\ + write_groups_section(xml,\ guid,title,desc,owner_id,owner_name,owner_username,time) - wrt.write_close_tag(xml,0,"comunidades") + xml.write_close_tag("comunidades") - groups_info.close() + xml.close_file() - xml.close() + groups_info.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# @@ -370,12 +373,14 @@ def write_multifile_groups_section (db, dir_results): in groups_info: xml_filename=dir_results+'/groups/'+str(guid)+'.xml' - xml = wrt.open_xml_file(xml_filename) + xml = OpendataXML(db,dir_results,xml_filename) + + xml.open_file() - write_groups_section(db,xml,\ + write_groups_section(xml,\ guid,title,desc,owner_id,owner_name,owner_username,time) - xml.close() + xml.close_file() groups_info.close() #--------------------------------------------------------------------# diff --git a/lib/xml_user_section.py b/lib/xml_user_section.py index 23ae68a7f5a62be0d47762813b139f364ceb347c..93e9be68681b7016421cabd3530377ef72fe4ae1 100644 --- a/lib/xml_user_section.py +++ b/lib/xml_user_section.py @@ -23,77 +23,78 @@ import MySQLdb -import queries_definition as qry -import string_functions as strf -import xml_support_functions as wrt +from opendata_xml_class import OpendataXML + +import opendata_queries_definition as qry +import opendata_string_functions as strf ###################################################################### # Functions that write on XML file #--------------------------------------------------------------------# -def write_userfriends_subsection (db, xml, user_guid): - friends_info = db.cursor() +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) - wrt.write_tag(xml,2,"quantidade_amigos",qty,'') + xml.write_tag("quantidade_amigos",qty,'') - wrt.write_open_tag(xml,2,"amigos",'') + 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)) - wrt.write_tag(xml,3,"usuario",friend_name,friend_attr) - wrt.write_close_tag(xml,2,"amigos") + xml.write_tag("usuario",friend_name,friend_attr) + xml.write_close_tag("amigos") friends_info.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_userowngroup_subsection (db, xml, user_guid): - user_owngroups = db.cursor() +def write_userowngroup_subsection (xml, user_guid): + user_owngroups = xml.database.cursor() user_owngroups.execute(qry.qry_user_owngroups, (user_guid, user_guid, )) - wrt.write_open_tag(xml,3,"dono",'') + xml.write_open_tag("dono",'') for (group_id, group_title) in user_owngroups: prefix='groups/profile/' group_attr=strf.cidstr(strf.urlparticipa(prefix,str(group_id))) - wrt.write_tag(xml,4,"comunidade",group_title,group_attr) - wrt.write_close_tag(xml,3,"dono") + xml.write_tag("comunidade",group_title,group_attr) + xml.write_close_tag("dono") user_owngroups.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_usermembergroup_subsection (db, xml, user_guid): - user_membergroups = db.cursor() +def write_usermembergroup_subsection (xml, user_guid): + user_membergroups = xml.database.cursor() user_membergroups.execute(qry.qry_user_membergroups, (user_guid, )) - wrt.write_open_tag(xml,3,"participante",'') + xml.write_open_tag("participante",'') for (group_id, group_title) in user_membergroups: prefix='groups/profile/' group_attr=strf.cidstr(strf.urlparticipa(prefix,str(group_id))) - wrt.write_tag(xml,4,"comunidade",group_title,group_attr) - wrt.write_close_tag(xml,3,"participante") + xml.write_tag("comunidade",group_title,group_attr) + xml.write_close_tag("participante") 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,"comunidades") +def write_usergroups_subsection (xml, user_guid): + xml.write_open_tag("comunidades",'') + write_userowngroup_subsection(xml, user_guid) + write_usermembergroup_subsection(xml, user_guid) + xml.write_close_tag("comunidades") #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_userfiles_subsection (db, xml, user_guid): - user_files = db.cursor() +def write_userfiles_subsection (xml, user_guid): + user_files = xml.database.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",'') + xml.write_open_tag("arquivos",'') for (post_guid, post_title, post_desc, time)\ in user_files: @@ -103,232 +104,232 @@ def write_userfiles_subsection (db, xml, user_guid): prefix='file/view/' post_attr=strf.pidstr(strf.urlparticipa(prefix,str(post_guid))) - wrt.write_open_tag(xml,3,"arquivo",post_attr) + xml.write_open_tag("arquivo",post_attr) - wrt.write_tag(xml,4,"titulo",post_title,'') - wrt.write_tag(xml,4,"data",strf.datestr(time),'') - wrt.write_tag(xml,4,"link",'',strf.hrefstr(file_link)) - wrt.write_tag(xml,4,"descricao",strf.cdata(post_desc),'') + 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),'') - wrt.write_comments(db,xml,post_guid) + xml.write_comments(post_guid) - wrt.write_close_tag(xml,3,"arquivo") + xml.write_close_tag("arquivo") - wrt.write_close_tag(xml,2,"arquivos") + xml.write_close_tag("arquivos") user_files.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_userblogs_subsection (db, xml, user_guid): - user_blogs = db.cursor() +def write_userblogs_subsection (xml, user_guid): + user_blogs = xml.database.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",'') + xml.write_open_tag("blogs",'') for (post_guid, post_title, post_desc, time)\ in user_blogs: - post_excerpt = db.cursor() + post_excerpt = xml.database.cursor() # 64 = select * from elgg_metastrings where string='excerpt'; - post_excerpt=qry.post_content(db,post_guid,64) + post_excerpt=qry.post_content(xml.database, post_guid, 64) prefix='blog/view/' post_attr=strf.pidstr(strf.urlparticipa(prefix,str(post_guid))) - wrt.write_open_tag(xml,3,"blog",post_attr) + xml.write_open_tag("blog",post_attr) - wrt.write_tag(xml,4,"titulo",post_title,'') - wrt.write_tag(xml,4,"data",strf.datestr(time),'') - wrt.write_tag(xml,4,"resumo",strf.cdata(post_excerpt),'') - wrt.write_tag(xml,4,"texto",strf.cdata(post_desc),'') + xml.write_tag("titulo",post_title,'') + xml.write_tag("data",strf.datestr(time),'') + xml.write_tag("resumo",strf.cdata(post_excerpt),'') + xml.write_tag("texto",strf.cdata(post_desc),'') - wrt.write_comments(db,xml,post_guid) + xml.write_comments(post_guid) - wrt.write_close_tag(xml,3,"blog") + xml.write_close_tag("blog") - wrt.write_close_tag(xml,2,"blogs") + xml.write_close_tag("blogs") user_blogs.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_userbookmarks_subsection (db, xml, user_guid): - user_bookmarks = db.cursor() +def write_userbookmarks_subsection (xml, user_guid): + user_bookmarks = xml.database.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",'') + xml.write_open_tag("favoritos",'') for (post_guid, post_title, post_desc, time)\ in user_bookmarks: # 90 = select * from elgg_metastrings where string='address'; - bookmark_link=qry.post_content(db,post_guid,90) + bookmark_link=qry.post_content(xml.database, post_guid, 90) prefix='bookmarks/view/' post_attr=strf.pidstr(strf.urlparticipa(prefix,str(post_guid))) - wrt.write_open_tag(xml,3,"favorito",post_attr) + xml.write_open_tag("favorito",post_attr) - wrt.write_tag(xml,4,"titulo",post_title,'') - wrt.write_tag(xml,4,"data",strf.datestr(time),'') - wrt.write_tag(xml,4,"link",'',strf.hrefstr(bookmark_link)) - wrt.write_tag(xml,4,"descricao",strf.cdata(post_desc),'') + 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),'') - wrt.write_comments(db,xml,post_guid) + xml.write_comments(post_guid) - wrt.write_close_tag(xml,3,"favorito") + xml.write_close_tag("favorito") - wrt.write_close_tag(xml,2,"favoritos") + xml.write_close_tag("favoritos") user_bookmarks.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_userpages_subsection (db, xml, user_guid): - user_pages = db.cursor() +def write_userpages_subsection (xml, user_guid): + user_pages = xml.database.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",'') + xml.write_open_tag("paginas",'') for (post_guid, post_title, post_desc, time)\ in user_pages: prefix='pages/view/' post_attr=strf.pidstr(strf.urlparticipa(prefix,str(post_guid))) - wrt.write_open_tag(xml,3,"pagina",post_attr) + xml.write_open_tag("pagina",post_attr) - wrt.write_tag(xml,4,"titulo",post_title,'') - wrt.write_tag(xml,4,"data",strf.datestr(time),'') - wrt.write_tag(xml,4,"texto",strf.cdata(post_desc),'') + xml.write_tag("titulo",post_title,'') + xml.write_tag("data",strf.datestr(time),'') + xml.write_tag("texto",strf.cdata(post_desc),'') - wrt.write_comments(db,xml,post_guid) + xml.write_comments(post_guid) - wrt.write_close_tag(xml,3,"pagina") + xml.write_close_tag("pagina") - wrt.write_close_tag(xml,2,"paginas") + xml.write_close_tag("paginas") user_pages.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_uservideos_subsection (db, xml, user_guid): - user_videos = db.cursor() +def write_uservideos_subsection (xml, user_guid): + user_videos = xml.database.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",'') + xml.write_open_tag("videos",'') for (post_guid, post_title, post_desc, time)\ in user_videos: # 477 = select * from elgg_metastrings where string='video_url'; - video_link=qry.post_content(db, post_guid, 477) + video_link=qry.post_content(xml.database, post_guid, 477) prefix='videos/view/' post_attr=strf.pidstr(strf.urlparticipa(prefix,str(post_guid))) - wrt.write_open_tag(xml,3,"video",post_attr) + xml.write_open_tag("video",post_attr) - wrt.write_tag(xml,4,"titulo",post_title,'') - wrt.write_tag(xml,4,"data",strf.datestr(time),'') - wrt.write_tag(xml,4,"link",'',strf.hrefstr(video_link)) - wrt.write_tag(xml,4,"descricao",strf.cdata(post_desc),'') + 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),'') - wrt.write_comments(db,xml,post_guid) + xml.write_comments(post_guid) - wrt.write_close_tag(xml,3,"video") + xml.write_close_tag("video") - wrt.write_close_tag(xml,2,"videos") + xml.write_close_tag("videos") user_videos.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_userevents_subsection (db, xml, user_guid): - user_events = db.cursor() +def write_userevents_subsection (xml, user_guid): + user_events = xml.database.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",'') + xml.write_open_tag("eventos",'') for (post_guid, post_title, post_desc, time)\ in user_events: # 18 = select * from elgg_metastrings where string='venue'; - venue=qry.post_content(db, post_guid, 18) + venue=qry.post_content(xml.database, post_guid, 18) # 20 = select * from elgg_metastrings where string='start_date'; - time_start=qry.post_content(db, post_guid, 20) + time_start=qry.post_content(xml.database, post_guid, 20) # 22 = select * from elgg_metastrings where string='end_date'; - time_end=qry.post_content(db, post_guid, 22) + time_end=qry.post_content(xml.database, post_guid, 22) # 26 = select * from elgg_metastrings where string='fees'; - fees=qry.post_content(db, post_guid, 26) + fees=qry.post_content(xml.database, post_guid, 26) # 28 = select * from elgg_metastrings where string='contact'; - contact=qry.post_content(db, post_guid, 28) + contact=qry.post_content(xml.database, post_guid, 28) # 30 = select * from elgg_metastrings where string='organizer'; - organizer=qry.post_content(db, post_guid, 30) + organizer=qry.post_content(xml.database, post_guid, 30) prefix='event_calendar/view/' post_attr=strf.pidstr(strf.urlparticipa(prefix,str(post_guid))) - wrt.write_open_tag(xml,3,"evento",post_attr) + xml.write_open_tag("evento",post_attr) - wrt.write_tag(xml,4,"titulo",post_title,'') - wrt.write_tag(xml,4,"data",strf.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,"data_inicio",strf.datestr(time_start),'') - wrt.write_tag(xml,4,"data_fim",strf.datestr(time_end),'') - wrt.write_tag(xml,4,"taxa_participacao",fees,'') - wrt.write_tag(xml,4,"descricao",strf.cdata(post_desc),'') + 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),'') - wrt.write_comments(db,xml,post_guid) + xml.write_comments(post_guid) - wrt.write_close_tag(xml,3,"evento") + xml.write_close_tag("evento") - wrt.write_close_tag(xml,2,"eventos") + xml.write_close_tag("eventos") user_events.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# -def write_users_section (db, xml, \ +def write_users_section (xml, \ guid, name, username): prefix='profile/' user_attr=strf.uidstr(strf.urlparticipa(prefix,username)) - wrt.write_open_tag(xml,1,"usuario",user_attr) + xml.write_open_tag("usuario",user_attr) # Write all user's information - wrt.write_tag(xml,2,"nome",name,'') + xml.write_tag("nome",name,'') # Write a list of user friend's names - write_userfriends_subsection(db, xml, guid) + write_userfriends_subsection(xml, guid) # Write a list of all groups that the user owns or belongs - write_usergroups_subsection(db, xml, guid) + write_usergroups_subsection(xml, 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) - - wrt.write_close_tag(xml,1,"usuario") + 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") #--------------------------------------------------------------------# #--------------------------------------------------------------------# @@ -338,21 +339,23 @@ def write_singlefile_users_section (db, dir_results): users_info.execute(qry.qry_users_info) xml_filename=dir_results+strf.date_today()+"_usuarios"+".xml" - xml = wrt.open_xml_file(xml_filename) + xml = OpendataXML(db,dir_results,xml_filename) + + xml.open_file() - wrt.write_open_tag(xml,0,"usuarios",'') + xml.write_open_tag("usuarios",'') for (guid, name, username)\ in users_info: - write_users_section(db,xml,\ + write_users_section(xml,\ guid,name,username) - wrt.write_close_tag(xml,0,"usuarios") + xml.write_close_tag("usuarios") - users_info.close() + xml.close_file() - xml.close() + users_info.close() #--------------------------------------------------------------------# #--------------------------------------------------------------------# @@ -365,12 +368,14 @@ def write_multifile_users_section (db, dir_results): in users_info: xml_filename=dir_results+'/users/'+str(guid)+'.xml' - xml = wrt.open_xml_file(xml_filename) + xml = OpendataXML(db,dir_results,xml_filename) + + xml.open_file() - write_users_section(db,xml,\ + write_users_section(xml,\ guid,name,username) - xml.close() + xml.close_file() users_info.close() #--------------------------------------------------------------------#