injector = None
                telco = None
                logger.debug("Telco (%s) %s Injector (%s) %s" % (i["telco"], i["telco__name"], i["id"], i["name"]))
                injector = TelcoInjector.objects.get(id=i["id"])
                telco = Telco.objects.get(id=i["telco"])
                path_dest = normpath(injector.path_dest)
                logger.debug("--> Working (%s) path=%s" % (injector, path_dest))
                logger.debug("YEAR=%s MONTH=%s" % (yearofdate(self.workdate), monthofdate(self.workdate)))
                logger.debug("PYEAR=%s PMONTH=%s" % (prevyearofdate(self.workdate), prevmonthofdate(self.workdate)))
                # traitement m-1 et m
                self.telcoinjector = injector
                self.telco = telco

                if options["yearmonth"]:
                    y, m = options["yearmonth"].split("/")
                    self.workdate = datefromstring("%s/%s/%s" % ("01", m, y))

                self.get_files(
                    rep="%s%s%04d%s%02d"
                    % (path_dest, os.sep, yearofdate(self.workdate), os.sep, monthofdate(self.workdate))
                )

                self.doit(options)

        self.stdout.write("Successfully import CDRs %s" % self.cdrs)
        return {
            "info": "Successfully import CDRs %s" % self.cdrs,
            "error": "",
            "date": self.workdate.strftime(DATE_FORMAT),
        }
Example #2
0
                injector = TelcoInjector.objects.get(id=i['id'])
                telco = Telco.objects.get(id=i['telco'])
                path_dest = normpath(injector.path_dest)
                logger.debug("--> Working (%s) path=%s" %
                             (injector, path_dest))
                logger.debug(
                    "YEAR=%s MONTH=%s" %
                    (yearofdate(self.workdate), monthofdate(self.workdate)))
                logger.debug("PYEAR=%s PMONTH=%s" % (prevyearofdate(
                    self.workdate), prevmonthofdate(self.workdate)))
                #traitement m-1 et m
                self.telcoinjector = injector
                self.telco = telco

                if options['yearmonth']:
                    y, m = options['yearmonth'].split('/')
                    self.workdate = datefromstring('%s/%s/%s' % ('01', m, y))

                self.get_files(rep="%s%s%04d%s%02d" %
                               (path_dest, os.sep, yearofdate(self.workdate),
                                os.sep, monthofdate(self.workdate)))

                self.doit(options)

        self.stdout.write('Successfully import CDRs %s' % self.cdrs)
        return {
            'info': 'Successfully import CDRs %s' % self.cdrs,
            'error': '',
            'date': self.workdate.strftime(DATE_FORMAT)
        }
Example #3
0
    def handle(self, *args, **options):
        ret = {}     
        datefrom = dateto = cdrmanager = None
        reseller = client = context = None
        
        if options['logger']:
            logger = logging.getLogger(options['logger'])
        else:
            logger = logger_runner
            
        if options['debug'] == True:
            logdebug()

        logger.debug("options=%s"%options)
        q=None

        if options["datefrom"]:
            datefrom = datefromstring(options["datefrom"]+" 00:00:00", short=False)

        if options["dateto"]:
            dateto = datefromstring(options["dateto"]+" 23:59:59", short=False)
        
        if options["reseller"]:
            reseller = options["reseller"]
        
        if options["client"]:
            client = options["client"]
        
        if options['cdr']:
            q = CDR.objects.filter(id=options['cdr'])
        else:
            if options['context'] == 'Telco':
                if options['force']==False:
                    cdrmanager = CDR.valo
                    
                else:
                    cdrmanager = CDR.valoforce
            else:
                cdrmanager = CDR.valoresel
                
            if datefrom and dateto:
                q=cdrmanager.filter(sessiondate__range=(datefrom, dateto))
            elif datefrom and dateto == None:
                q=cdrmanager.filter(sessiondate__gte=datefrom)
            elif datefrom == None and dateto:
                q=cdrmanager.filter(sessiondate__lte=dateto)
            else:
                q=cdrmanager.all()
            
            if client or reseller:
                if client:
                    client = Client.objects.get(code=client)
                    q = q.filter(client=client)
                if reseller:
                    reseller = Reseller.objects.get(code=reseller)
                    q = q.filter(reseller=reseller)
                    options['context'] = 'Resel'
        
        q = q[:options["records"]]
        cdrcount = q.count()
        date=datenow()
        
        try:
            error=valo_CDR(context=options['context']).set_valo(q, date=date, logger=logger)
            ret={'info':'Successfully Valo Resel (nb=%s)'%cdrcount, 'error':error, 'date':date.strftime(DATE_FORMAT)}
        except:
            ret={'info':'Error Valo Resel (nb=%s)'%cdrcount, 'error':traceback.format_exc(), 'date':date.strftime(DATE_FORMAT)}

        ret = json.dumps(ret)
        self.stdout.write(ret)
        return ret
Example #4
0
    def handle(self, *args, **options):
        ret = {}
        datefrom = dateto = cdrmanager = None
        reseller = client = context = None

        if options['logger']:
            logger = logging.getLogger(options['logger'])
        else:
            logger = logger_runner

        if options['debug'] == True:
            logdebug()

        logger.debug("options=%s" % options)
        q = None

        if options["datefrom"]:
            datefrom = datefromstring(options["datefrom"] + " 00:00:00",
                                      short=False)

        if options["dateto"]:
            dateto = datefromstring(options["dateto"] + " 23:59:59",
                                    short=False)

        if options["reseller"]:
            reseller = options["reseller"]

        if options["client"]:
            client = options["client"]

        if options['cdr']:
            q = CDR.objects.filter(id=options['cdr'])
        else:
            if options['context'] == 'Telco':
                if options['force'] == False:
                    cdrmanager = CDR.valo

                else:
                    cdrmanager = CDR.valoforce
            else:
                cdrmanager = CDR.valoresel

            if datefrom and dateto:
                q = cdrmanager.filter(sessiondate__range=(datefrom, dateto))
            elif datefrom and dateto == None:
                q = cdrmanager.filter(sessiondate__gte=datefrom)
            elif datefrom == None and dateto:
                q = cdrmanager.filter(sessiondate__lte=dateto)
            else:
                q = cdrmanager.all()

            if client or reseller:
                if client:
                    client = Client.objects.get(code=client)
                    q = q.filter(client=client)
                if reseller:
                    reseller = Reseller.objects.get(code=reseller)
                    q = q.filter(reseller=reseller)
                    options['context'] = 'Resel'

        q = q[:options["records"]]
        cdrcount = q.count()
        date = datenow()

        try:
            error = valo_CDR(context=options['context']).set_valo(
                q, date=date, logger=logger)
            ret = {
                'info': 'Successfully Valo Resel (nb=%s)' % cdrcount,
                'error': error,
                'date': date.strftime(DATE_FORMAT)
            }
        except:
            ret = {
                'info': 'Error Valo Resel (nb=%s)' % cdrcount,
                'error': traceback.format_exc(),
                'date': date.strftime(DATE_FORMAT)
            }

        ret = json.dumps(ret)
        self.stdout.write(ret)
        return ret