Q:

Rendered Map in QGIS from Python Not Projected

I am trying to render a map using the QGIS editor (eventually will generate hundreds for animation, but just trying to get one working for now). However, the rendered map is not projected (I want it to be: North_America_Albers_Equal_Area_Conic).

The map I want is in the QGIS map canvas following the completion of the code (figure directly below). I saved it using the "save as image" in the drop down menu. 

and here is my code...
from PyQt4.QtCore import *
from PyQt4.QtGui import *

#Load project
project = QgsProject.instance()
project.read(QFileInfo('something.qgs'))

#input Layer
lyrPts =  QgsVectorLayer("this.shp", "Qflu", "ogr")

#display layer
reg = QgsMapLayerRegistry.instance()
reg.addMapLayers([lyrPts])

#Filter
lyrPts.setSubsetString('DateIndx = 500')
iface.mapCanvas().refresh()

# create image
img = QImage(QSize(8000, 6000), QImage.Format_ARGB32_Premultiplied)

# set image's background color
color = QColor(255, 255, 255)
img.fill(color.rgb())

# create painter
p = QPainter()
p.begin(img)
p.setRenderHint(QPainter.Antialiasing)

render = QgsMapRenderer()

# set layer set
layers = QgsMapLayerRegistry.instance().mapLayers()
lst = layers.keys()
render.setLayerSet(lst)

# Set destination CRS to match the CRS of the first layer
render.setDestinationCrs(layers.values()[0].crs())

# Enable OTF reprojection
render.setProjectionsEnabled(True)

# set extent
rect = QgsRectangle(xmin=-124, ymin=25, xmax=-69, ymax=52)
rect.scale(1.1)
render.setExtent(rect)

# set output size
render.setOutputSize(img.size(), img.logicalDpiX())

# do the rendering
render.render(p)
p.end()

# save image
img.save("somewhere.png","png")

A:

I figured out my first problem with the projection. I added these lines of code to set the renderer CRS and enable OTF reprojection:
#Set  CRS
crs = QgsCoordinateReferenceSystem(102008,QgsCoordinateReferenceSystem.EpsgCrsId)
render.setDestinationCrs(crs)

#enable OTF reprojection
render.setProjectionsEnabled(True)

