Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions django_facebook/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@
from django_facebook.utils import mass_get_or_create, cleanup_oauth_url,\
get_profile_class
from open_facebook.exceptions import OpenFacebookException
try:
from dateutil.parser import parse as parse_date
except ImportError:
from django_facebook.utils import parse_like_datetime as parse_date
import datetime
import logging
from open_facebook import exceptions as open_facebook_exceptions
Expand Down Expand Up @@ -496,8 +500,7 @@ def _store_likes(self, user, likes):
created_time_string = like.get('created_time')
created_time = None
if created_time_string:
created_time = datetime.datetime.strptime(
like['created_time'], "%Y-%m-%dT%H:%M:%S+0000")
created_time = parse_date(like['created_time'])
default_dict[like['id']] = dict(
created_time=created_time,
category=like.get('category'),
Expand Down
4 changes: 2 additions & 2 deletions django_facebook/invite.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import datetime
from django_facebook.utils import compatible_datetime as datetime
import logging
from open_facebook import exceptions as facebook_exceptions
import sys
Expand Down Expand Up @@ -67,7 +67,7 @@ def post_on_profile(user, fb, facebook_id, invite_message, force_class=None, for

try:
fb_invite, created = FacebookInvite.objects.get_or_create(user=user, user_invited=facebook_id, defaults=dict(message=invite_message))
fb_invite.last_attempt = datetime.datetime.now()
fb_invite.last_attempt = datetime.now()
modulo = fb_invite.id % len(facebook_classes)
message_class = facebook_classes[modulo]
if force_class:
Expand Down
7 changes: 4 additions & 3 deletions django_facebook/model_managers.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
from django.db import models
import operator
import random
import datetime
from datetime import timedelta
from django_facebook.utils import compatible_datetime as datetime
from django.contrib.contenttypes.models import ContentType
import logging
logger = logging.getLogger(__name__)
Expand Down Expand Up @@ -68,8 +69,8 @@ def failed(self):

def recently_failed(self):
from django_facebook import settings as facebook_settings
now = datetime.datetime.today()
recent_delta = datetime.timedelta(
now = datetime.now()
recent_delta = timedelta(
days=facebook_settings.FACEBOOK_OG_SHARE_RETRY_DAYS)
recent = now - recent_delta
failed = self.failed()
Expand Down
12 changes: 7 additions & 5 deletions django_facebook/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@
from django.db.models.base import ModelBase
from django_facebook import model_managers, settings as facebook_settings
from open_facebook.utils import json, camel_to_underscore
import datetime
from datetime import timedelta
from django_facebook.utils import compatible_datetime as datetime

import logging
import os
logger = logging.getLogger(__name__)
Expand Down Expand Up @@ -128,7 +130,7 @@ def _extend_access_token(self, access_token):
token_changed = access_token != old_token
message = 'a new' if token_changed else 'the same'
log_format = 'Facebook provided %s token, which expires at %s'
expires_delta = datetime.timedelta(days=60)
expires_delta = timedelta(days=60)
logger.info(log_format, message, expires_delta)
if token_changed:
logger.info('Saving the new access token')
Expand Down Expand Up @@ -395,7 +397,7 @@ def save(self, *args, **kwargs):
def send(self, graph=None):
result = None
#update the last attempt
self.last_attempt = datetime.datetime.now()
self.last_attempt = datetime.now()
self.save()

#see if the graph is enabled
Expand All @@ -418,7 +420,7 @@ def send(self, graph=None):
raise OpenFacebookException(error_message)
self.share_id = share_id
self.error_message = None
self.completed_at = datetime.datetime.now()
self.completed_at = datetime.now()
self.save()
except OpenFacebookException, e:
logger.warn(
Expand Down Expand Up @@ -461,7 +463,7 @@ def remove(self, graph=None):
graph = graph or profile.get_offline_graph()

response = graph.delete(self.share_id)
self.removed_at = datetime.datetime.now()
self.removed_at = datetime.now()
self.save()

def retry(self, graph=None, reset_retries=False):
Expand Down
10 changes: 10 additions & 0 deletions django_facebook/utils.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
try:
#using compatible_datetime instead of datetime only
#not to override the original datetime package
from django.utils import timezone as compatible_datetime
except ImportError:
from datetime import datetime as compatible_datetime
from datetime import datetime
from django.http import QueryDict, HttpResponse, HttpResponseRedirect
from django.conf import settings
from django.db import models, transaction
Expand Down Expand Up @@ -447,3 +454,6 @@ def get_class_from_string(path, default='raise'):
else:
backend_class = default
return backend_class

def parse_like_datetime(dt):
return datetime.strptime(dt, "%Y-%m-%dT%H:%M:%S+0000")