Skip to content

Instantly share code, notes, and snippets.

@sauravtom
Created February 19, 2014 19:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sauravtom/9099220 to your computer and use it in GitHub Desktop.
Save sauravtom/9099220 to your computer and use it in GitHub Desktop.
Source code for news orchin blog bot
#!/usr/bin/python
from gdata import service
import gdata
import atom
import getopt
import sys
from local_settings import email,password,blogid
import requests
import simplejson
class BloggerExample:
def __init__(self):
# Authenticate using ClientLogin.
self.service = service.GDataService(email, password)
self.service.source = 'Blogger_Python_Sample-1.0'
self.service.service = 'blogger'
self.service.server = 'www.blogger.com'
self.blog_id = blogid
self.service.ProgrammaticLogin()
def CreatePost(self, title, content, author_name,labels, is_draft):
# Create the entry to insert.
entry = gdata.GDataEntry()
entry.author.append(atom.Author(atom.Name(text=author_name)))
entry.title = atom.Title(title_type='xhtml', text=title)
entry.content = atom.Content(content_type='html', text=content)
category = atom.Category()
category.term = labels
category.scheme = "http://www.blogger.com/atom/ns#"
entry.category = category
#entry.label = atom.Label(content_type='html', text=labels)
if is_draft:
control = atom.Control()
control.draft = atom.Draft(text='yes')
entry.control = control
# Ask the service to insert the new entry.
return self.service.Post(entry,
'/feeds/' + self.blog_id + '/posts/default')
def main():
response = requests.get('http://tosc.in/sauravtom/summary.txt')
data = simplejson.loads(response.content)
data = data['summary'][1:]
arr = ["India", "World", "Entertainment", "Technology", "Business", "Science", "Sports", "Health"]
for i in arr:
feed = [ j for j in data if j['category'] == i ]
for k in feed[:6]:
blog(k)
def blog(i):
print "%s: %s"%(i['category'],i['title'])
more= "<b>\n\n\t<a href='%s'>Read more @ %s</a></b>"%(i['link'],i['source'])
summary = '\n<b>Summary</b>\n\n'
a = i['title']
t= ",".join(a.split(' '))
tags = 'News,Summary,latest News,top news,%s,%s,%s'%(i['source'],i['category'],t)
blog = BloggerExample()
blog.CreatePost(i['title'],summary+i['summary'] + more,'Someone',tags, False)
def test():
blog = BloggerExample()
blog.CreatePost("Hello World",
"<p>I didn't want to leave Aruba, but I ran out of money :(<p>",
"Post author", False)
if __name__ == '__main__':
main()
#test()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment