In [ ]:
from odt_parse import OdtData, meta_label, stat_label
In [ ]:
import csv, glob, zipfile
In [ ]:
HOME_FOLDER = '/Users/ecervera/Google Drive/Docencia/Curs1718/PS1002/Examen Enero 1718/'
SUBMISSION_FOLDER = HOME_FOLDER + 'PS1002-2-20172018-Entrega ejercicios prácticos-3118846'
#HOME_FOLDER = '../'
#SUBMISSION_FOLDER = HOME_FOLDER + 'PS1002-2-20172018-Document libro paginado.odt, grups de dijous-3237700'
#SUBMISSION_FOLDER = HOME_FOLDER + 'PS1002-2-20172018-Document libro personalizados.odt, grups de dijous-3237686'
#SUBMISSION_FOLDER = HOME_FOLDER + 'PS1002-2-20172018-Document libro predefinidos.odt, grups de dijous-3219356'
#SUBMISSION_FOLDER = HOME_FOLDER + 'PS1002-2-20172018-Document libro modificado.odt, grups de dijous-3219490'
user_folder = glob.glob(SUBMISSION_FOLDER + '/*')
In [ ]:
with open(SUBMISSION_FOLDER + '.csv', 'w', newline='', encoding='utf8') as csvfile:
writer = csv.writer(csvfile, delimiter=',',
quotechar='|', quoting=csv.QUOTE_MINIMAL)
headers = ['user_name', 'user_id', 'type', 'filename', 'ext', 'load']
headers += meta_label
headers += stat_label
headers += ['H', 'HE', 'P', 'PE']
writer.writerow( headers )
counter = 0
for ufo in user_folder:
user_files = glob.glob(ufo + '/*')
for ufi in user_files:
tokens = ufi.split('/')
filename = tokens[-1]
user_data = tokens[-2]
user_name, user_id, _, submission_type, _ = user_data.split('_')
fns = filename.split('.')
if len(fns) > 1:
extension = fns[-1]
else:
extension = ''
row = [user_name, user_id, submission_type, filename, extension]
if extension == 'odt':
doc = OdtData( ufi )
if doc.err:
row += ['ERR']
else:
row += ['OK']
try:
row += [doc.meta[l] for l in meta_label]
row += [doc.stat[l] for l in stat_label]
row += [len(doc.H), doc.emptyHeadings, len(doc.P), doc.emptyPars]
except KeyError:
print('KeyError for user %s' % user_name)
writer.writerow( row )
counter += 1
print('%d rows written.' % counter)
In [ ]: