server/lib/iri_tweet/create_twitter_export_conf.py
author veltr
Sat, 25 Feb 2012 00:45:20 +0100
changeset 45 49c818cf7c3a
parent 1 e0dbcf98c13e
permissions -rw-r--r--
z-index
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
     1
from lxml import etree
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
     2
from optparse import OptionParser #@UnresolvedImport
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
     3
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
     4
def get_options():
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
     5
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
     6
    parser = OptionParser()
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
     7
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
     8
    parser.add_option("-f", "--file", dest="outputfile",
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
     9
                      help="destination filename", metavar="FILE", default="twitter_export_conf.xml")
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    10
    parser.add_option("-i", "--input", dest="inputfile", 
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    11
                      help="inputfile", metavar="INPUT", default=None)
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    12
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    13
    return parser.parse_args()
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    14
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    15
if __name__ == "__main__":
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    16
    (options, args) = get_options()
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    17
    
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    18
    dest_filename = options.outputfile
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    19
    
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    20
    path_list = []
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    21
    if options.inputfile is None:
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    22
        path_list = args
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    23
    else:
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    24
        with open(options.inputfile, 'r') as fi:
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    25
            path_list = fi
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    26
    
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    27
    
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    28
    root = etree.Element("twitter_export")
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    29
    
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    30
    
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    31
    for path in path_list:
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    32
        
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    33
        iri_doc = etree.parse(path)
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    34
        media_nodes = iri_doc.xpath("/iri/body/medias/media[@id='video']/video")
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    35
        duration = int(media_nodes[0].get("dur"))/1000
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    36
        
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    37
        file_elem = etree.SubElement(root, "file")
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    38
        etree.SubElement(file_elem, "path").text = path
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    39
        etree.SubElement(file_elem, "start_date")
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    40
        etree.SubElement(file_elem, "duration").text = unicode(duration)
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    41
         
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    42
    tree = etree.ElementTree(root)
e0dbcf98c13e Added server code
veltr
parents:
diff changeset
    43
    tree.write(dest_filename, encoding="utf-8", pretty_print=True, xml_declaration=True)