1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 | for i in cursor.fetchall():
Seleccionamos los tags, hay que agregarlos de la forma (tag1, tag2, tag3)
como string al campo tags de blog_post
tags_cursor = conn.cursor() # no se si es necesario, pero por si las moscas ;P
tags_cursor.execute ("""SELECT * FROM posts_tags, tags WHERE posts_tags.post_id='%s'
AND posts_tags.tag_id=tags.id""" % i[0])
thetags = ", ".join([str((tag[4])) for tag in tags_cursor.fetchall()])
cursor2.execute("INSERT INTO blog_post \
(id, title, slug, text, hits, creation_date, tags, status, user_id) \
VALUES (%s, '%s', '%s', '%s', %s, '%s', '%s', %s, 1);" % (i[0], unicode(i[1], 'iso-8859-15').encode('utf-8'), i[2], unicode(i[3], 'iso-8859-15').encode('utf-8'), i[4], i[5], thetags, i[6]))
post_newid = cursor2.lastrowid
print "INSERT INTO blog_post \
(id, title, slug, text, hits, creation_date, tags, status, user_id) \
VALUES (%s, '%s', '%s', '%s', %s, '%s', '%s', %s, 1);" % (i[0], unicode(i[1], 'iso-8859-15').encode('utf-8'), i[2], unicode(i[3], 'iso-8859-15').encode('utf-8'), i[4], i[5], thetags, i[6])
except MySQLdb.IntegrityError, message:
Comprobamos si el tag existe en tagging_tag(id, name). Si existe nos quedamos
con su id, si no existe lo agregamos y nos quedamos con su id
tags_cursor = conn.cursor() # no se si es necesario, pero por si las moscas ;P
tags_cursor.execute ("""SELECT * FROM posts_tags, tags WHERE posts_tags.post_id='%s'
AND posts_tags.tag_id=tags.id""" % i[0])
for tag in tags_cursor.fetchall():
tags_cursor2 = conn2.cursor()
tags_cursor2.execute("SELECT id FROM tagging_tag WHERE name='%s'" % (unicode(tag[3], 'iso-8859-15').encode('utf-8')))
row = tags_cursor2.fetchone()
tags_cursor3 = conn2.cursor()
tags_cursor3.execute("INSERT INTO tagging_tag (name) VALUES ('%s')" % (unicode(tag[3], 'iso-8859-15').encode('utf-8')))
myid = tags_cursor3.lastrowid
Agregamos el elemento a tagging_taggeditem(id, tag_id, object_id,
content_type_id). Content_type_id=11, es una fk de django_content_type y el
11 es el contenido tipo Post
cursor3.execute("""INSERT INTO tagging_taggeditem (tag_id, object_id, content_type_id) VALUES (%s, %s, 11)""" % (myid, post_newid))
print ("""INSERT INTO tagging_taggeditem (tag_id, object_id, content_type_id) VALUES (%s, %s, 11)""" % (myid, post_newid))
|