#!/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = "Anton Vlasenko"
# THIS PROGRAM NEED AN 'index.htm' FILE IN THE SAME DIRECTORY WITH NEXT CONTENT:
# *anything here*
#
# *anything that will be lost here*
#
# *anything here*
import xlrd
import re
class Parse(object):
"Parse excel files with links rows and then insert them into index.htm file"
def func(self):
self.result.append('
%s
\n' % self.data[0])
self.exec_ = self.func2
def func2(self):
self.result.append('
')
self.result.append('\n%s
\n' % (self.data[0], self.counter))
def main(self):
self.exec_ = self.func
for rownum in xrange(2,81):
self.data = (self.sheet.cell(rownum, 2).value.encode('utf-8'), self.sheet.cell(rownum, 3).value.encode('utf-8'), self.sheet.cell(rownum, 4).value.encode('utf-8'))
if self.data[0] and self.data[1]:
self.result.append('%s
%s
%s
' % (self.data[1], self.data[0], self.data[1], self.data[2], ))
self.counter += 1
elif self.data[0] and not self.data[1]:
self.exec_()
self.result.append('
')
self.result = '\n' + "\n".join(self.result) + '\n\n'
# MAKE BACKUPS!
with open('index.htm', 'r') as f:
file_content = f.read()
with open('index.htm', 'w') as f:
result = self.pattern.sub(self.result, file_content, re.M)
#print result
#print self.pattern.search(file_content)
f.write(result)
print ('Done!')
def __init__(self):
self.counter = 1
self.result = []
self.pattern = re.compile(r'.*?', re.MULTILINE|re.DOTALL)
self.rb = xlrd.open_workbook('links.xls',formatting_info=True)
self.sheet = self.rb.sheet_by_index(0)
print ('Running script...')
self.main()
if __name__ == '__main__':
Parse()