-----------------------------------------------------------------------
-* ldif-to-xml.py
-
- WHAT IT DOES
-
- This python script converts the netscape ldif format address book to
- the sylpheed xml format.
-
- HOW TO USE IT
-
- Inside Netscape export your address book to a file.
- From the command line, execute:
-
- ./ldif-to-xml.py <path/filename>
-
- In case of trouble, just invoke your python interpreter directly:
-
- python ldif-to-xml.py <path/filename>
-
- Either way a file called addressbook.xml will be generated in the current
- directory. This xml file should be merged with or simply placed in the
- $HOME/.sylpheed directory.
-
- Any problems, contact Rod Senra <rodrigo.senra@ic.unicamp.br>
-
------------------------------------------------------------------------
-
* newscache_clean.pl
WHAT IT DOES AND WHY IT DOES IT
+++ /dev/null
-#!/usr/bin/env python
-
-# * Copyright 2001 Rod Senra <Rodrigo.Senra@ic.unicamp.br>
-# *
-# * This file is free software; you can redistribute it and/or modify it
-# * under the terms of the GNU General Public License as published by
-# * the Free Software Foundation; either version 2 of the License, or
-# * (at your option) any later version.
-# *
-# * This program is distributed in the hope that it will be useful, but
-# * WITHOUT ANY WARRANTY; without even the implied warranty of
-# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# * General Public License for more details.
-# *
-# * You should have received a copy of the GNU General Public License
-# * along with this program; if not, write to the Free Software
-# * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-# *
-
-import re
-import sys
-
-header = """<?xml version="1.0" encoding="ISO-8859-1"?>
-<addressbook>
-
-<common_address>
-"""
-
-footer = """
-</common_address>
-
-<personal_address>
-</personal_address>
-
-</addressbook>
-"""
-
-def printGroupRec(fd,name,members):
- """ Print XML group record from r-tuple"""
- fd.write(" <group name=\"%s\">\n"%(name))
- for each in members:
- printRec(fd,each," ")
- fd.write(" </group>\n")
-
-def printRec(fd,r,ident):
- """ Print XML group record from r-tuple"""
- fd.write("%s<item>\n"%(ident) )
- fd.write("%s <name>%s</name>\n"%(ident,r[0]))
- fd.write("%s <address>%s</address>\n"%(ident,r[1]))
- fd.write("%s <remarks>%s</remarks>\n"%(ident,r[2]))
- fd.write("%s</item>\n"%(ident))
-
-outfd = open('addressbook.xml','w')
-
-
-outfd.write(header)
-try:
- rec = {}
- for line in open(sys.argv[1]).readlines():
- line = line[:-1].strip() # clean string
- if line=='':
- try:
- if rec.has_key('description'):
- str = rec['description']
- elif rec.has_key('xmozillanickname'):
- str = rec['xmozillanickname']
- elif rec.has_key('sn'):
- str = rec['sn']
- else:
- str = ''
- try:
- if rec.has_key('member'):
- printGroupRec(outfd,rec['cn'].strip(),rec['member'])
- elif rec.has_key('mail'):
- printRec(outfd,(rec['cn'].strip(),rec['mail'].strip(),str.strip())," ")
-
- except KeyError:
- pass
- finally:
- del rec
- rec = {}
- continue
-
- try: # parse line
- key,value = line.split(':')
- except:
- continue
- if key=='member':
- name,addr = value.split(',')
- name = name.split('=')[1].strip()
- addr = addr.split('=')[1].strip()
- value = (name,addr,'')
- if rec.has_key('member'):
- rec['member'].append(value)
- else :
- rec['member'] = [value]
- else:
- rec[key]=value
-
-finally:
- outfd.write(footer)
- outfd.close()