#-------------------------------------------------------------------------------
# Name:        module1
# Purpose:
#
# Author:      Nikhil
#
# Created:     01/02/2013
# Copyright:   (c) Nikhil 2013
# Licence:     <your licence>
#-------------------------------------------------------------------------------

import urllib2, cookielib, re, os, sys, subprocess
from Tkinter import *
import comtypes.client
from facepy import GraphAPI
class Facebook():
  def __init__(self, email, password):
    self.email = email
    self.password = password

    cj = cookielib.CookieJar()
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
    opener.addheaders = [('Referer', 'http://login.facebook.com/login.php'),('Content-Type', 'application/x-www-form-urlencoded'),('User-Agent', 'Mozilla/8.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 (.NET CLR 3.5.30729)')]

    self.opener = opener

  def login(self):
    url = 'https://login.facebook.com/login.php?login_attempt=1'
    data = "locale=en_US&non_com_login=&email="+self.email+"&pass="+self.password+"&lsd=20TOl"

    usock = self.opener.open('http://www.facebook.com')
    usock = self.opener.open(url, data)
    if "Logout" in usock.read():
      print "Logged in."
    else:
      print "failed login"
      print usock.read()
      sys.exit()
username= raw_input("Enter Your Username")
password= raw_input("Enter Your Password")

f = Facebook(username, password)
f.login()
gra= raw_input("Enter The Access Tooken From Facebook Developer Page")
graph=GraphAPI(gra)

nik=graph.fql('SELECT name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())')

print nik


files = open('d:\output.doc', 'w')
files.write(str(nik))
files.write("\n")

files.close()

wdFormatPDF = 17
word = comtypes.client.CreateObject('Word.Application')
doc = word.Documents.Open("d:\output.doc")
doc.SaveAs("d:\output.pdf", FileFormat=wdFormatPDF)
doc.Close()
word.Quit()

os.startfile('d:\output.pdf')