aboutsummaryrefslogtreecommitdiffstats
path: root/pygithub3/services/issues
diff options
context:
space:
mode:
authorDavid Medina <davidmedina9@gmail.com>2012-06-16 13:10:32 +0200
committerDavid Medina <davidmedina9@gmail.com>2012-06-16 13:10:32 +0200
commit5cd7ad5f4898b538f771290548ba131f7063d94c (patch)
tree4636f091e5018bee6b32c9e6de2688a48e5d6ca0 /pygithub3/services/issues
parentRemove list_milestones from repo service (diff)
downloadpython-github3-5cd7ad5f4898b538f771290548ba131f7063d94c.tar.xz
python-github3-5cd7ad5f4898b538f771290548ba131f7063d94c.zip
Refact normalize of dates into base.Service
Diffstat (limited to 'pygithub3/services/issues')
-rw-r--r--pygithub3/services/issues/__init__.py21
-rw-r--r--pygithub3/services/issues/milestones.py16
2 files changed, 7 insertions, 30 deletions
diff --git a/pygithub3/services/issues/__init__.py b/pygithub3/services/issues/__init__.py
index ada2dca..f17ee91 100644
--- a/pygithub3/services/issues/__init__.py
+++ b/pygithub3/services/issues/__init__.py
@@ -1,9 +1,6 @@
# -*- encoding: utf-8 -*-
-from datetime import datetime
-
from pygithub3.services.base import Service, MimeTypeMixin
-from pygithub3.resources.base import GITHUB_DATE_FORMAT
from .comments import Comments
from .events import Events
from .labels import Labels
@@ -30,7 +27,7 @@ class Issue(Service, MimeTypeMixin):
@high
:param str sort: 'created', 'updated' or 'comments'
:param str direction: 'asc' or 'desc'
- :param datetime since: Date filter
+ :param datetime since: Date filter (datetime or str in ISO 8601)
:returns: A :doc:`result`
.. warning::
@@ -38,12 +35,7 @@ class Issue(Service, MimeTypeMixin):
"""
params = dict(filter=filter, state=state, labels=labels, sort=sort,
direction=direction)
- try:
- date = datetime.strptime(since, GITHUB_DATE_FORMAT)
- params.update(since=date)
- except:
- pass
-
+ self._normalize_data('since', params)
request = self.request_builder('issues.list')
return self._get_result(request, **params)
@@ -60,7 +52,7 @@ class Issue(Service, MimeTypeMixin):
@high
:param str sort: 'created', 'updated' or 'comments'
:param str direction: 'asc' or 'desc'
- :param datetime since: Date filter
+ :param datetime since: Date filter (datetime or str in ISO 8601)
:returns: A :doc:`result`
.. note::
@@ -68,12 +60,7 @@ class Issue(Service, MimeTypeMixin):
"""
params = dict(milestone=milestone, state=state, assignee=assignee,
mentioned=mentioned, labels=labels, sort=sort, direction=direction)
- try:
- date = datetime.strptime(since, GITHUB_DATE_FORMAT)
- params.update(since=date)
- except:
- pass
-
+ self._normalize_data('since', params)
request = self.make_request('issues.list_by_repo', user=user,
repo=repo)
return self._get_result(request, **params)
diff --git a/pygithub3/services/issues/milestones.py b/pygithub3/services/issues/milestones.py
index fa0f95d..ac43a0c 100644
--- a/pygithub3/services/issues/milestones.py
+++ b/pygithub3/services/issues/milestones.py
@@ -1,10 +1,8 @@
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
-from datetime import datetime
-
from pygithub3.services.base import Service
-from pygithub3.resources.base import GITHUB_DATE_FORMAT
+
class Milestones(Service):
""" Consume `Milestones API
@@ -43,14 +41,6 @@ class Milestones(Service):
repo=repo, number=number)
return self._get(request)
- def _normalize_due_on(self, data):
- """ If ``due_on`` comes as ``datetime``, it'll normalize it """
- try:
- due_on = datetime.strptime(data.get('due_on'), GITHUB_DATE_FORMAT)
- data.update({'due_on': due_on})
- except:
- pass
-
def create(self, data, user=None, repo=None):
""" Create a milestone
@@ -64,7 +54,7 @@ class Milestones(Service):
.. note::
Remember :ref:`config precedence`
"""
- self._normalize_due_on(data)
+ self._normalize_date('due_on', data)
request = self.make_request('issues.milestones.create', user=user,
repo=repo, body=data)
return self._post(request)
@@ -83,7 +73,7 @@ class Milestones(Service):
.. note::
Remember :ref:`config precedence`
"""
- self._normalize_due_on(data)
+ self._normalize_date('due_on', data)
request = self.make_request('issues.milestones.update', user=user,
repo=repo, number=number, body=data)
return self._patch(request)