Skip to content

Instantly share code, notes, and snippets.

@ueki-kazuki
Created March 6, 2017 09:30
Show Gist options
  • Save ueki-kazuki/edaff2280a0961fa459a5187a626df06 to your computer and use it in GitHub Desktop.
Save ueki-kazuki/edaff2280a0961fa459a5187a626df06 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import datetime
import requests
URL = 'http://b.hatena.ne.jp/{user}/atomfeed?date={date}'
def years_ago(years):
if isinstance(years, str) or isinstance(years, unicode):
years = int(years)
today = datetime.date.today()
d = today + datetime.timedelta(days = -1 * 365 * years)
return "%04d%02d%02d" % (d.year, d.month, d.day)
def query_parameter(params, key, default=None):
try:
return params['queryStringParameters'][key]
except KeyError as e:
return default
def bookmarks(event, context):
s = requests.Session()
year = query_parameter(event, 'year', 1)
user = query_parameter(event, 'user', 'sample')
url = URL.format(date = years_ago(year), user = user)
r = s.get(url)
response = {
"statusCode": r.status_code,
"body": r.text
}
return response
# call lambda_handler
if __name__ == "__main__":
bookmarks({}, {})
service: hbhistory
provider:
name: aws
runtime: python2.7
stage: ${opt:stage, self:custom.defaultStage}
region: ${opt:region, self:custom.defaultRegion}
profile: ${opt:profile, self:custom.defaultProfile}
functions:
hbhistory:
handler: hbhistory.bookmarks
events:
- http: GET bookmarks
plugins:
- serverless-python-requirements
custom:
defaultStage: dev
defaultProfile: default
defaultRegion: ap-northeast-1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment