Example #1
0
 def new_function(*args, **kwargs):
     for arg in args:
         if hasattr(arg, 'GET'):
             request = arg
     since = utils.default_time_parse(request.GET.get('from_date','')) or datetime.datetime(1970, 1, 1)
     until = utils.default_time_parse(request.GET.get('to_date','')) or utils.today()
     args = list(args)
     query = {"date": {'$lte': until, '$gte': since}}
     args.append(query)
     decorated_function(*args, **kwargs)
Example #2
0
 def new_function(*args, **kwargs):
     for arg in args:
         if hasattr(arg, 'GET'):
             request = arg
     since = utils.default_time_parse(request.GET.get(
         'from_date', '')) or datetime.datetime(1970, 1, 1)
     until = utils.default_time_parse(request.GET.get('to_date',
                                                      '')) or utils.today()
     args = list(args)
     query = {"date": {'$lte': until, '$gte': since}}
     args.append(query)
     decorated_function(*args, **kwargs)
Example #3
0
    def create(self, request, response):
        """
        Report an error or timeout to the server
        API Handler: POST /ops/error

        Params:
          @report [text] Text for WTF happened
          @request_id [text] semi-unique string for identifying the request in the logs
          @when [datetime] timestamp for when the thing happened
        """
        try:
            report = request.POST.get('report')
            request_id = request.POST.get('request_id')
            when = utils.default_time_parse(request.POST.get('when', ''))
            send_mail("Error Report",
                      report,
                      '*****@*****.**', [a[1] for a in settings.ADMINS],
                      fail_silently=True)
            if request.user.is_authenticated():
                profile = request.user.get_profile()
                report += '\n%s %s' % (profile.name, profile.id)
                ErrorReport.objects.create(
                    report=report,
                    request_id=request_id,
                    when=when,
                    profile_id=request.user.get_profile().id)
            else:
                ErrorReport.objects.create(report=report,
                                           request_id=request_id,
                                           when=when)
        except Exception, e:
            logger.error(e)
Example #4
0
 def validate_type(self, value):
     if isinstance(value, basestring):
         value = default_time_parse(value)
     if not isinstance(value, datetime):
         raise TypeError(
             "DateTimeDataField '%s' must be of type 'datetime'" %
             self._name)
     return value
Example #5
0
 def update_model_instance_with_payload(self, model_instance, payload):
     if model_instance and payload:
         for field in model_instance._meta.fields:
             if field.primary_key:
                 continue
             if field.attname not in payload.keys() and field.name not in payload.keys():
                 continue
             val = payload.get(field.name, payload.get(field.attname))
             if field.__class__ in (DateTimeField, DateField):
                 val = default_time_parse(val)
             setattr(model_instance, field.attname, val)
Example #6
0
 def update_model_instance_with_payload(self, model_instance, payload):
     if model_instance and payload:
         for field in model_instance._meta.fields:
             if field.primary_key:
                 continue
             if field.attname not in payload.keys(
             ) and field.name not in payload.keys():
                 continue
             val = payload.get(field.name, payload.get(field.attname))
             if field.__class__ in (DateTimeField, DateField):
                 val = default_time_parse(val)
             setattr(model_instance, field.attname, val)
Example #7
0
    def create(self, request, response):
        """
        Report an error or timeout to the server
        API Handler: POST /ops/error

        Params:
          @report [text] Text for WTF happened
          @request_id [text] semi-unique string for identifying the request in the logs
          @when [datetime] timestamp for when the thing happened
        """
        try:
            report = request.POST.get('report')
            request_id = request.POST.get('request_id')
            when = utils.default_time_parse(request.POST.get('when', ''))
            send_mail("Error Report", report, '*****@*****.**', [a[1] for a in settings.ADMINS], fail_silently=True)
            if request.user.is_authenticated():
                profile = request.user.get_profile()
                report += '\n%s %s' % (profile.name, profile.id)
                ErrorReport.objects.create(report=report, request_id=request_id, when=when,
                        profile_id=request.user.get_profile().id)
            else:
                ErrorReport.objects.create(report=report, request_id=request_id, when=when)
        except Exception,  e:
            logger.error(e)
Example #8
0
 def validate_type(self, value):
     if isinstance(value, basestring):
         value = default_time_parse(value)
     if not isinstance(value, datetime):
         raise TypeError("DateTimeDataField '%s' must be of type 'datetime'" % self._name)
     return value