#-------------------------------------------------------------------------------
# Name:        hi2nicome
# Purpose:
# ver:         5
# Author:      IBM
#
# Created:     09/09/2009
# Copyright:   (c) toaru 2009
# Licence:
#-------------------------------------------------------------------------------
#!/usr/bin/env python
# -*- encoding:utf-8 -*-

import codecs

"""READFILE open"""
infile = raw_input(u'please enter filename (without ".xml"):')
file1 = codecs.open(infile+".xml",'r','utf_8')
line1 = file1.readlines()
file1.close()

"""OUTPUTFILE open"""
file2 = codecs.open(infile+r"_nico.xml","w",'utf_8')

reline1=line1[0].split('<')

if len(line1)>2:
 relineS=line1[4].split(' id=')
 for i in xrange(len(relineS)):
  if i==0:
     line1[4]=relineS[i]
  else:
     line1[4]+=' user_id='+relineS[i]
 file2.writelines(line1)
 file2.close()

else:
 file2.write('<packet>\n<view_counter video="0"/>\n')


 bdate=int(reline1[2].split('"')[1],36)


 uid=range(len(reline1))
 j=0
 for i in range(len(reline1)-1,3,-1):
   if reline1[i].split('"')[0]=='chat mail=':
       break
   if reline1[i].split('"')[0]=='c v=':
       break
   if reline1[i].split('"')[0]=='c m=':
       break
   if reline1[i].split('"')[0]=='d n=':
    uid[j]=reline1[i].split('"')[1]+'"'+reline1[i].split('"')[3]
    j=j+1
 k=0
 m=0

 for i in range(3,len(reline1)-2,2):

  if reline1[i].split('"')[0]=='d n=':
    break
  if reline1[i].split('"')[2]=='d=':
     k=1
     mail=''
  elif reline1[i].split('"')[2]=='v=':
     k=3
     mail=reline1[i].split('"')[1]

  vpos=reline1[i].split('"')[k]
  vpos=str(int(vpos,36))
  date=reline1[i].split('"')[k+2]
  date=str(bdate+int(date,36))
  no=reline1[i].split('"')[k+4]
  no=str(m)
  idd=reline1[i].split('"')[k+6]
  for l in xrange(j+1):
   if idd==str(uid[l]).split('"')[0]:
      idd=uid[l].split('"')[1]
  come=reline1[i].split('"')[k+7]

  file2.writelines(r'<chat mail="'+mail+'" vpos="'+vpos+r'" date="'+date+'" user_id="'+idd+r'" no="'+no+'"'+come+'</chat>')
  m+=1

 """"OUTPUTFILE close"""
 file2.writelines(r'</packet>')
 file2.close()
