def assignID(self, article):
		if article.id is None:
			cur = PostgresDBReader.getInstance().cursor()
			cur.execute(u"select id from articles where link = '%s' and feed = %s union select nextval('art_seq')"%(article.link, article.feed.id))

			all = cur.fetchall()
			if len(all) == 2:
				article.isnew = False
				article.id = all[0][0]
			elif len(all) == 1:
				article.isnew = True
				article.id = all[0][0]
			else:
				errors.log("PostgreSQLArticleLoader", "assignID", "error al obtener el identificador")
				raise "error al obtener el identificador"
	def _loadMany(self, sql):
		cur = PostgresDBReader.getInstance().cursor()
		cur.execute(sql)
		res = []
		
		for id, feed_id , link, title, content, published, fetch_date, created in cur.fetchall():
			a = Article()
			a.content = content.decode("utf8")
			a.title = title.decode("utf8")
			a.create_date = created
			a.pub_date = published
			a.fetch_date = fetch_date
			a.loadFeed(feed_id, PostgreSQLArticleLoader.feed_mapper)
			a.link = link.decode("utf8")
			a.id = id
			res.append(a)
		return res
	def getNLastURIs(self, n, feed_id):
		cur = PostgresDBReader.getInstance().cursor()
		cur.execute("select link from articles where feed = %s order by fetch_date desc limit %s"%(feed_id, n))
		return [i[0].decode("utf8") for i in cur.fetchall()]