Ejemplo n.º 1
0
def index(request):
  users=User.objects.all()
  for user in users: 
    foaf_file=has_foaf(user)
    if foaf_file:
      user.foaf_file=foaf_file
    else:
      user.foaf_file=None
  return render_to_response('foaf/index.html', {'users':users},context_instance=RequestContext(request))
Ejemplo n.º 2
0
def edit_foaf_step2(request):
  if request.user.is_anonymous():
    return render_to_response('error.html',{'message':'Vous devez être connectés pour éditer votre profil'})
  identity_data=[]
  for key in request.POST.keys():
    identity_data.append(str(key)+'#>>#'+str(request.POST[key]))
  identity_data='#$||$#'.join(identity_data)
  foaf_file=None
  internal_relations_data={}
  external_relations_data={}
  #~ get existing data
  if os.path.isfile(settings.FOAF_DATA+request.user.username+'.rdf'):
    foaf_file=settings.FOAF_URI+request.user.username+'.rdf'
    foaf_data=parse_foaf(settings.FOAF_DATA+request.user.username+'.rdf')
    #out=[]
    #out.append(str(foaf_data))
    relations=foaf_data['relations']
    #~ pack relations data
    for relation in relations.keys():
      internal_relations=[]
      external_relations=[]
      for person in relations[relation]:
        if settings.FOAF_URI in person.foaf_file:
          internal_relations.append(person.foaf_file)
        else:
          external_relations.append(person.foaf_file)
        #out.append(relation+' > '+person.foaf_file)
      #out.append(str(internal_relations))
      i=0
      external_relations_packed=[]
      while i<5:
        try:
          external_relations_packed.append(external_relations[i])
        except:
          external_relations_packed.append('')
        i=i+1
      internal_relations_data[relation]=internal_relations
      external_relations_data[relation]=external_relations_packed
      #out.append(str(internal_relations))
      #out.append(relation+' > '+str(internal_relations_data[relation]))
  ikeys=['friendOf','worksWith','hasMet','wouldLikeToKnow','knowsByReputation']
  for akey in ikeys:
    if not external_relations_data.has_key(akey):
      external_relations_data[akey]=['','','','','']
  #out.append('internal> '+str(internal_relations_data))
  #out.append('external> '+str(external_relations_data))
  users=User.objects.all()
  #~ pack user data
  users_data=[]
  for user in users:
    user_data={}
    user_data['name']=user.username
    user_data['foaf_file']=has_foaf(user)
    users_data.append(user_data)
  #~ debug
  #if foaf_data.has_key('error'):
  #  out=foaf_data['error']
  #  return render_to_response('debug.html',{'message':out})
  #out=[]
  #for el in relations.keys():
  #  for person in relations[el]:
  #    out.append(str(person.foaf_file))
  #return render_to_response('debug.html',{'message':'\n'.join(out)})
  return render_to_response('foaf/edit_step2.html',{'identity_data':identity_data,'internal_relations':internal_relations_data,'external_relations':external_relations_data,'users':users_data},context_instance=RequestContext(request))