tweetcast/nodejs/sqlite2txt.py
author Raphael Velt <raph.velt@gmail.com>
Wed, 30 Nov 2011 12:11:59 +0100
changeset 403 dd1686ae5506
parent 343 9cabcd2709be
permissions -rwxr-xr-x
minor changes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
343
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
     1
#!/usr/bin/env python
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
     2
# -*- coding: utf-8 -*-
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
     3
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
     4
import sqlite3, sys, os.path, codecs, re
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
     5
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
     6
if len(sys.argv) > 1:
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
     7
    filename = sys.argv[1]
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
     8
    if os.path.exists(filename):
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
     9
        print "Chargement du fichier %s" % filename
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    10
        conn = sqlite3.connect(filename)
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    11
        c = conn.cursor()
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    12
        c.execute("SELECT json FROM tweets")
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    13
        f = codecs.open("%s.txt" % filename, mode='w', encoding='utf-8')
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    14
        for r in c:
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    15
            txt = ''
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    16
            t = re.split("&#([0-9]+);",r[0])
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    17
            for i in range(len(t)):
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    18
                txt += ( ( '\\u' + hex(int(t[i])).replace('0x','').rjust(4,'0') ) if i % 2 else t[i] )
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    19
            f.write(u'%s\n' % txt)
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    20
        f.close()
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    21
        print "Le fichier %s.txt a ete cree" % filename
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    22
    else:
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    23
        print "Le fichier n'existe pas"
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    24
else:
9cabcd2709be Added an export script for sqlite base
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    25
    print "Merci de preciser le nom du fichier"