PEP8 compatibility

This commit is contained in:
yannickulrich 2016-01-18 09:38:14 +01:00
parent 9982477759
commit 420c9a783c

View file

@ -1,147 +1,147 @@
from __future__ import absolute_import
from datetime import datetime, timedelta
from calendar import monthrange
import time
import uuid
import pytz
import json
class RemindersService(object):
def __init__(self, service_root, session, params):
self.session = session
self.params = params
self._service_root = service_root
self.lists={}
self.collections = {}
self.refresh()
def get_all_possible_timezones_of_local_machine(self):
"""
Return all possible timezones in Olson TZ notation
This has been taken from
http://stackoverflow.com/questions/7669938
"""
local_names = []
if time.daylight:
local_offset = time.altzone
localtz = time.tzname[1]
else:
local_offset = time.timezone
localtz = time.tzname[0]
def __init__(self, service_root, session, params):
self.session = session
self.params = params
self._service_root = service_root
self.lists = {}
self.collections = {}
local_offset = timedelta(seconds=-local_offset)
self.refresh()
for name in pytz.all_timezones:
timezone = pytz.timezone(name)
if not hasattr(timezone, '_tzinfos'):
continue
for (utcoffset, daylight, tzname), _ in timezone._tzinfos.items():
if utcoffset == local_offset and tzname == localtz:
local_names.append(name)
return local_names
def get_all_possible_timezones_of_local_machine(self):
"""
Return all possible timezones in Olson TZ notation
This has been taken from
http://stackoverflow.com/questions/7669938
"""
local_names = []
if time.daylight:
local_offset = time.altzone
localtz = time.tzname[1]
else:
local_offset = time.timezone
localtz = time.tzname[0]
local_offset = timedelta(seconds=-local_offset)
for name in pytz.all_timezones:
timezone = pytz.timezone(name)
if not hasattr(timezone, '_tzinfos'):
continue
for (utcoffset, daylight, tzname), _ in timezone._tzinfos.items():
if utcoffset == local_offset and tzname == localtz:
local_names.append(name)
return local_names
def get_system_tz(self):
"""
Retrieves the system's timezone from a list of possible options.
Just take the first one
"""
return self.get_all_possible_timezones_of_local_machine()[0]
def get_system_tz(self):
"""
Retrieves the system's timezone from a list of possible options.
Just take the first one
"""
return self.get_all_possible_timezones_of_local_machine()[0]
def refresh(self):
host = self._service_root.split('//')[1].split(':')[0]
self.session.headers.update({'host': host})
def refresh(self):
host = self._service_root.split('//')[1].split(':')[0]
self.session.headers.update({'host': host})
params_reminders=dict(self.params)
params_reminders.update({
'clientVersion': '4.0',
'lang': 'en-us',
'usertz':self.get_system_tz()
})
params_reminders = dict(self.params)
params_reminders.update({
'clientVersion': '4.0',
'lang': 'en-us',
'usertz': self.get_system_tz()
})
# Open reminders
req = self.session.get(
self._service_root + '/rd/startup',
params=params_reminders
)
startup = req.json()
self.lists={}
self.collections = {}
for collection in startup['Collections']:
temp = []
self.collections[collection['title']] = {
'guid': collection['guid'],
'ctag': collection['ctag']
}
for reminder in startup['Reminders']:
if reminder['pGuid'] != collection['guid']:
continue
if reminder.has_key("dueDate"):
if reminder['dueDate']:
due = datetime(
reminder['dueDate'][1],
reminder['dueDate'][2],reminder['dueDate'][3],
reminder['dueDate'][4],reminder['dueDate'][5]
)
else:
due = None
else:
due = None
desc=reminder['description'] if reminder['description'] else ""
temp.append({
"title": reminder['title'],
"desc": desc,
"due": due
})
self.lists[collection['title']] = temp
# Open reminders
req = self.session.get(
self._service_root + '/rd/startup',
params=params_reminders
)
def post(self, title, description = "", collection=None):
pguid = 'tasks'
if collection:
if self.collections.has_key(collection):
pguid = self.collections[collection]['guid']
host = self._service_root.split('//')[1].split(':')[0]
self.session.headers.update({'host': host})
startup = req.json()
params_reminders=dict(self.params)
params_reminders.update({
'clientVersion': '4.0',
'lang': 'en-us',
'usertz':self.get_system_tz()
})
req = self.session.post(
self._service_root + '/rd/reminders/tasks',
data=json.dumps({
"Reminders":{
'title': title,
"description":description,
"pGuid":pguid,
"etag":None,
"order":None,
"priority":0,
"recurrence":None,
"alarms":[],
"startDate":None,
"startDateTz":None,
"startDateIsAllDay":False,
"completedDate":None,
"dueDate":None,
"dueDateIsAllDay":False,
"lastModifiedDate":None,
"createdDate":None,
"isFamily":None,
"createdDateExtended":int(time.time()*1000),
"guid":str(uuid.uuid4())
},
"ClientState": {"Collections": self.collections.values() }
}),
params=params_reminders)
self.lists = {}
self.collections = {}
for collection in startup['Collections']:
temp = []
self.collections[collection['title']] = {
'guid': collection['guid'],
'ctag': collection['ctag']
}
for reminder in startup['Reminders']:
if reminder['pGuid'] != collection['guid']:
continue
if 'dueDate' in reminder:
if reminder['dueDate']:
due = datetime(
reminder['dueDate'][1],
reminder['dueDate'][2], reminder['dueDate'][3],
reminder['dueDate'][4], reminder['dueDate'][5]
)
else:
due = None
else:
due = None
if reminder['description']:
desc = reminder['description']
else:
desc = ""
temp.append({
"title": reminder['title'],
"desc": desc,
"due": due
})
self.lists[collection['title']] = temp
def post(self, title, description="", collection=None):
pguid = 'tasks'
if collection:
if collection in self.collections:
pguid = self.collections[collection]['guid']
host = self._service_root.split('//')[1].split(':')[0]
self.session.headers.update({'host': host})
params_reminders = dict(self.params)
params_reminders.update({
'clientVersion': '4.0',
'lang': 'en-us',
'usertz': self.get_system_tz()
})
req = self.session.post(
self._service_root + '/rd/reminders/tasks',
data=json.dumps({
"Reminders": {
'title': title,
"description": description,
"pGuid": pguid,
"etag": None,
"order": None,
"priority": 0,
"recurrence": None,
"alarms": [],
"startDate": None,
"startDateTz": None,
"startDateIsAllDay": False,
"completedDate": None,
"dueDate": None,
"dueDateIsAllDay": False,
"lastModifiedDate": None,
"createdDate": None,
"isFamily": None,
"createdDateExtended": int(time.time()*1000),
"guid": str(uuid.uuid4())
},
"ClientState": {"Collections": self.collections.values()}
}),
params=params_reminders)
return req.ok