In [ ]:
from odt_parse import OdtData, meta_label, stat_label

In [ ]:
ref = OdtData('libro_predefinidos.odt')
#ref = OdtData('libro_modificado.odt')

print('Document "%s" has %d headings and %d paragraphs.' % (ref.filename, len(ref.H), len(ref.P)))

In [ ]:
import csv, glob, zipfile

In [ ]:
HOME_FOLDER = '/home/ps1002/Downloads/'
SUBMISSION_FOLDER = HOME_FOLDER + 'PS1002-2-20172018-Document libro predefinidos.odt, grups de dijous-3219356'
user_folder = glob.glob(SUBMISSION_FOLDER + '/*')

In [ ]:
with open(SUBMISSION_FOLDER + '.csv', 'w', newline='') 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 += par_headers
    writer.writerow( headers )
    counter = 0
    for ufo in user_folder:
        user_files = glob.glob(ufo + '/*')
        for ufi in user_files:
            #_, user_data, filename = ufi.split('/')
            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']
                    row += [doc.meta[l] for l in meta_label]
                    row += [doc.stat[l] for l in stat_label]
                    #row += meta_data( doc )
                    #row += stat_data( doc )
                    #row += par_data( doc, ufi, ref_H, ref_P )
            writer.writerow( row )
            counter += 1
    print('%d rows written.' % counter)

In [ ]: